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