- ClickHouse развивается довольно быстро, и обычно за год выходит более 10 стабильных релизов. Из-за этого выбор получается очень широким, и принять решение не так уж просто.
- Некоторые пользователи не хотят тратить время на выяснение того, какая версия лучше всего подходит для их сценария, и предпочитают просто следовать чужой рекомендации.
Какую версию ClickHouse вы рекомендуете?
- Предпроизводственная среда должна выполнять набор запросов, максимально близкий к тому, который вы планируете выполнять в продакшне:
- Не делайте ее средой только для чтения с какими-то замороженными данными.
- Не делайте ее средой только для записи, где данные просто копируются без построения типовых отчетов.
- Не очищайте ее полностью вместо применения миграций схемы.
- Используйте выборку реальных данных и запросов из продакшна. Постарайтесь подобрать такую выборку, которая останется репрезентативной и позволит запросам
SELECTвозвращать разумные результаты. Используйте обфускацию, если данные чувствительны и внутренние политики не позволяют выносить их за пределы продакшн-среды. - Убедитесь, что предпроизводственная среда так же охвачена вашими средствами мониторинга и оповещений, как и продакшн-среда.
- Если ваша продакшн-среда охватывает несколько датацентров или регионов, предпроизводственная среда должна делать то же самое.
- Если в продакшне используются сложные возможности, такие как репликация, distributed таблицы и каскадные materialized view, убедитесь, что в предпроизводственной среде они настроены аналогично.
- Здесь есть компромисс: либо использовать в предпроизводственной среде примерно столько же серверов или VM, сколько в продакшне, но меньшего размера, либо гораздо меньше серверов или VM, но того же размера. Первый вариант может выявить дополнительные проблемы, связанные с сетью, а вторым проще управлять.
- Регулярно запускайте автоматизированные тесты на новых релизах ClickHouse. Это можно делать даже для релизов ClickHouse, помеченных как
testing, но переходить с ними к следующим шагам не рекомендуется. - Разверните релиз ClickHouse, прошедший тесты, в предпроизводственной среде и проверьте, что все процессы работают как ожидается.
- Сообщайте обо всех обнаруженных проблемах в ClickHouse GitHub Issues.
- Если серьезных проблем не обнаружено, можно безопасно начинать развертывание релиза ClickHouse в продакшн-среде. Дополнительные вложения в автоматизацию постепенного выпуска, реализующую подход, похожий на канареечные релизы или green-blue deployments, могут еще сильнее снизить риск проблем в продакшне.
Как выбрать между релизами ClickHouse?
stablelts(долгосрочная поддержка)
stable— это тип пакетов, который мы рекомендуем по умолчанию. Они выходят примерно раз в месяц (поэтому новые возможности появляются без большой задержки), а три последних стабильных релиза поддерживаются в плане диагностики и бэкпорта исправлений ошибок.ltsвыходят два раза в год и поддерживаются в течение года после первоначального релиза. Они могут быть предпочтительнееstableв следующих случаях:- В вашей компании действуют внутренние политики, которые не допускают частых обновлений или использования ПО, не относящегося к LTS.
- Вы используете ClickHouse в каких-то второстепенных продуктах, где либо не нужны сложные возможности ClickHouse, либо не хватает ресурсов, чтобы поддерживать его в актуальном состоянии.
lts, в итоге всё равно переходят на stable из-за какой-нибудь новой возможности, важной для их продукта.