KamoCRM

Инженерия данных и миграция

Перемещение данных между системами без их потери

Каждая миграция – это переговоры с данными, которые хуже, чем кто-либо помнит. Дубликаты записей, которые никто не согласовал, даты в трех форматах, поле свободного текста, которое должно было быть выпадающим меню, и ключ, который был уникальным до 2019 года. Техническая часть перемещения данных редко является сложной частью. Трудная часть заключается в том, чтобы решить, что означают данные, и заставить кого-то принять это решение до перехода, а не во время него.

Что включает в себя работа

  • Честное профилирование исходных данных до принятия плана, включая части, на которые никто не хочет смотреть
  • Дизайн схемы для запросов, которые будут фактически выполняться, а не транслитерация старой структуры
  • Миграция под контролем версий и репетирование с копией производства, неоднократно
  • Выверка, которая доказывает, что число строк и общие суммы совпадают, а не предполагает
  • План возврата, который был протестирован, а не просто написан
  • Последовательность переключения, разработанная для бизнеса, а не для удобства инженеров

Почему мы заслуживаем доверия

Мы перенесли нашу собственную производственную платформу между распределенными SQL-движками с живыми данными. Мы также знаем из опыта, что в распределенной базе данных транзакция видит один снимок на весь свой жизненный цикл даже в режиме read-committed, что тихо аннулирует код, который был правильным на одном узле.

Что движет ценой

Мы цитировать после открытия и номер фиксируется до начала чего-либо. Это вещи, которые двигают его, так что вы можете увидеть примерно, где ваш проект сидит, прежде чем вы поговорите с нами.

  • Насколько чистыми являются исходные данные - это доминирует над всем остальным, обычно с большим отрывом
  • Должны ли старые и новые системы работать параллельно и в течение какого времени
  • Приемлемое время простоя при переключении, поскольку почти нулевое время простоя является другой и более дорогой конструкцией
  • Должны ли исторические данные сохраняться в точности или могут быть обобщены

Доказательство того, что мы это сделали

A distributed data layer, chosen deliberatelyDistributed SQL, wide-column, cache, object storage and vectors — each for a reasonThe cluster we run our own company onA production Kubernetes platform, operated by the people who deploy to it

Вопросы, которые нам задают

Другие Разработка приложений работы

Custom web applicationsThe system your business actually runs on, built properlyAPI and integration developmentMaking two systems agree, including the one with no documentationMobile applicationsCross-platform where it makes sense, native where it does notSI and retrieval systemsAssistants that read your documents, and know what they are not allowed to read
Все Разработка приложений

Расскажите нам, что вы пытаетесь сделать

Обычно достаточно короткого разговора, чтобы узнать, являемся ли мы подходящими людьми. Если нет, мы скажем вам об этом и покажем вам куда-нибудь лучше.

Начать разговорЯ уже использую KamoCRMКак мы цитируем