Разработчик создал свой мигратор для ClickHouse, который масштабируется и для других БД
В 2020 году IT-специалист, столкнувшись с отсутствием подходящего инструмента для версионирования схемы ClickHouse в CI/CD, разработал собственный мигратор db-migrator, который получил распространение среди профессионалов отрасли.
Изначально db-migrator был создан для решения узкой задачи по управлению изменениями структуры данных в ClickHouse. В дальнейшем его функциональность расширили, добавив поддержку популярных реляционных баз данных, таких как PostgreSQL и MySQL, а также аналитической платформы Iceberg.
Особенность разработки заключалась в адаптации к специфике ClickHouse, которая отличается от традиционных баз данных. Пришлось продумать работу с реплицированными кластерами, режимом Replicated-базы, а также реализовать аккуратную таблицу истории миграций на шардированных кластерах. Отдельное внимание уделили безопасности, реализовав маскирование секретов в логах.
Проект демонстрирует, как решение конкретной инженерной проблемы может перерасти в универсальный инструмент, востребованный широким кругом специалистов. Его успех обусловлен гибкостью и способностью адаптироваться к различным условиям эксплуатации, включая сложные архитектуры распределённых систем.
Часто задаваемые вопросы
Что такое db-migrator?
db-migrator — это программный инструмент, разработанный для версионирования и управления изменениями схемы баз данных, таких как ClickHouse, PostgreSQL, MySQL и Iceberg.
Почему был создан db-migrator?
db-migrator был создан в 2020 году из-за отсутствия готовых инструментов для Go, способных версионировать схему ClickHouse в системах непрерывной интеграции и доставки (CI/CD).
Какие особенности ClickHouse учтены в db-migrator?
db-migrator учитывает такие особенности ClickHouse, как работу с реплицированными кластерами, режим Replicated-базы и специфику истории миграций на шардированных кластерах, а также маскирование секретов в логах.
Источник: Habr · Rusability ИИ


Комментарии (0)
Без регистрации. Комментарии проверяются автоматически перед публикацией.
Пока нет комментариев. Будьте первым!