СПЕЦИАЛЬНОЕ ПРЕДЛОЖЕНИЕ АВГУСТА: СТАВКА 4 Т.Р. ДЛЯ ФОРМАТА FIX PRICE и 3,5 Т.Р. ДЛЯ ФОРМАТА T&M НА ПРОЕКТЫ ВНЕДРЕНИЯ И ПОТОКОВЫЕ ДОРАБОТКИ.

×
+7 (499) 136-00-54
ENG

«АльфаСтрахование» — одна из крупнейших страховых компаний в России. Группа предоставляет широкий спектр услуг для частных и корпоративных клиентов.

Задачи
  • Предотвратить риск переполнения первичных ключей (ID) в критически важных таблицах.
  • Перейти с типа данных integer на bigint для двух таблиц с миллионами записей.
  • Обеспечить миграцию данных с минимально возможным временем простоя (Zero Downtime подход).

О проекте

Основная цель: обеспечение бесперебойной работы бизнес-приложения заказчика и поддержание стандартов качества обслуживания на максимально высоком уровне.

 

Ситуация до старта проекта

В процессе мониторинга было выявлено, что первичные ключи в двух ключевых таблицах достигли предела значений, заложенных типом данных integer. В случае достижения лимита работа производственной системы была бы полностью парализована. Ситуация осложнялась огромным объемом данных и высокой интенсивностью использования таблиц в реальном времени, что делало невозможной длительную остановку систем для проведения работ.

Архитектура решения и масштаб проекта

Работа велась в рамках поддержки существующей ИТ-инфраструктуры заказчика. Для решения задачи была задействована кросс-функциональная команда: два разработчика и эксперты DBA. Масштаб задачи охватывал миллионы строк данных, являющихся критически важными для операционной деятельности компании.

Главным вызовом проекта стала необходимость глубокой модернизации архитектуры хранения данных в условиях работающего бизнеса. Команда столкнулась с классическим «лимитом емкости»: первичные ключи в ключевых таблицах (TesRiskInfo) достигли предела типа integer. Без оперативного вмешательства это грозило полной остановкой записи новых данных. Решение требовало не просто смены типа данных на bigint, а полной перестройки логики связей, включая таблицы аудита, при этом система не могла быть остановлена ни на час.

На этом этапе система работала в гибридном режиме: приложение продолжало использовать старые структуры, но одновременно с этим начало наполнять новые таблицы в реальном времени. Это позволило создать актуальный фундамент для миграции, не прерывая текущие операции и не рискуя целостностью данных.

Самым трудоемким этапом стал перенос исторического массива данных. Основная сложность заключалась в несовпадении идентификаторов: старая система использовала отрицательные значения из-за переполнения, в то время как новая переходила на чистую последовательность bigint.

После провели синхронизацию аудита. Параллельно с основными данными мигрировали таблицы аудита. Это требовало филигранной точности, так как каждый новый идентификатор в основной таблице должен был корректно связаться с историей изменений, сохраняя полную прослеживаемость операций.

Переход на новую архитектуру проводился по принципу «безопасного релиза». Процесс был разделен на несколько итераций: от тестирования на демо-стендах до финального переключения на продуктивной среде.

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

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

ОСОБЕННОСТИ ПРОЕКТА

Главная особенность — команда проработала детальную схему миграции, которая позволила обновить структуру БД фактически на ходу, без остановки процессов заказчика.

Результаты

Технологический результат: таблицы успешно мигрированы на тип bigint, ограничение на рост данных снято, производственная система не пострадала.

Бизнес-результат:  отсутствие простоев бизнес-процессов из-за проектных работ и технических лимитов ПО.

Дополнительная информация о проекте

Проект требовал не только глубокой технической экспертизы в области DBA, но и ювелирного планирования. Слаженная работа между командами разработки и администрирования баз данных позволила провести изменения безопасно для бизнеса, не создавая простоя. Удалось в  фоновом режиме перенести основной объем данных, а затем добавить недостающие данные.

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

Добрый день!
Здесь Даниил, менеджер по работе с клиентами.