Clickhouse на больших объемах данных: опыт основателя Tinybird
Tinybird — аналитическая платформа для разработчиков. Один из ее создателей поделился опытом, как он развернул и 5 лет поддерживал кластер Clickhouse, где хранились и обрабатывались петабайты данных,и не сошел с ума.
В двух постах (первый, второй) он рассказал про архитектуру, хранение и загрузку данных, обновление и тестирование.
Несколько любопытных мыслей:
🔵 Традиционный подход к работе с большими данными предполагает деление кластера на шарды, но автор считает, что с этим лучше не спешить и не усложнять архитектуру. Tinybirds долго обходились без шардирования: увеличивали мощность отдельных серверов и добавляли реплики, когда росла нагрузка.
🔵 ClickHouse поддерживает zero-copy replication: реплики могут обращаться к данным, которые хранятся в других репликах, не копируя их. Хотя это экономит место в хранилище, в опен-сорсном ClickHouse этот подход реализован не слишком удачно и часто приводит к ошибкам или потере данных. Tinybird используют модифицированный вариант zero-copy replication, который разработали сами. Всем остальным автор рекомендует следить за сохранностью данных либо выбрать другой подход к хранению.
🔵 Чтобы научиться обновлять кластер без критических ошибок, потери данных и падения производительности, команде проекта понадобилось 4 года. Это сложный процесс, который за один раз не построишь.
🔵 Чтобы эффективно использовать ClickHouse (и заодно избежать неприятных сюрпризов во время обновления), надо читать исходный код.
Согласны с его выводами?👀
Tinybird — аналитическая платформа для разработчиков. Один из ее создателей поделился опытом, как он развернул и 5 лет поддерживал кластер Clickhouse, где хранились и обрабатывались петабайты данных,
В двух постах (первый, второй) он рассказал про архитектуру, хранение и загрузку данных, обновление и тестирование.
Несколько любопытных мыслей:
Согласны с его выводами?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1