
Комментарии 5
Шел 2025, ClickHouse Keeper упомянут автором и он внедрен уже 100 лет в обед (ну пару лет как назад)
Почему статья про развертывание именно старого zookeeper, почему не ClickHouse Keeper?
P.S.: Я не смог найти быстро ВНЯТНУЮ информацию, почему клик вообще вместо zookeeper решил свой самопис ClickHouse Keeper родить?
Действительно, сейчас актуальная тема, это clickhousekeeper, о котором я упомянул. Данная статья больше про мой опыт с zookeeper’ом, нежели обозревание чего то «нового». Тем не менее, данный инструмент используется в продакте, я уверен.
На счет их инструмента, они просто решили сделать продукт максимально из коробки для удобства пользования
Все описано в доке https://clickhouse.com/docs/ru/guides/sre/keeper/clickhouse-keeper
Акцент на линейность чтения и записи и конечно по ресурсам кипер в отношении памяти менее прожорлив в отличие от zookeeper.
По статье - надеюсь тут говорится про тестовый стенд, а не реализацию в production.
Стенд тестовый, не переживайте)
«линейность» чтения — это некорректный перевод термина «linearizability» т.е. «линеаризуемости». Что такое эта линеаризуемость - к сожалению ни в документации, ни в блоге кликхауса решили не пояснять, вместо этого отправляют на википедию, где этот термин описан так, что лучше бы не описывали вообще (за пояснением я бы все-таки порекомендовал почитать Мартина Клеппмана - есть соответствующая глава, все-равно в интернете все более-менее внятные пояснения термина ссылаются на «Кабанчика»)
Про то, что де «ZooKeeper не предоставляет линеаризованные чтения» — это откровенная, наглая ложь кликхауса.
https://martin.kleppmann.com/2015/05/11/please-stop-calling-databases-cp-or-ap.html
It is possible to make linearizable reads in ZooKeeper by preceding a read with a sync command. That isn’t the default though, because it comes with a performance penalty. People do use sync, but usually not all the time.Сделай настройку, смирись с просадкой по производительности и вперед. Я читал профильную статью на блоге самого кликхауса:
https://clickhouse.com/blog/clickhouse-keeper-a-zookeeper-alternative-written-in-cpp?loc=keeper-hero
Additionally, and optionally (via a quorum_reads setting), ClickHouse Keeper provides linearizable reads.— абсолютно идентичная ситуация - по-умолчанию нет линеаризованных чтений, добавляешь настройку и вперед (а по умолчанию нет опять таки потому, что производительность падает - классическая проблематика обеспечения согласованности в СУБД)
Перечитав блог кликхауса повторный раз, я увидел, что действительно в кипере доказанное преимущество относительно зоокипера в потребляемых ресурсах:
https://clickhouse.com/blog/clickhouse-keeper-a-zookeeper-alternative-written-in-cpp?loc=keeper-hero
Время выполнения ClickHouse Keeper практически не отличается от времени выполнения ZooKeeper, несмотря на значительно меньшее использование оперативной памятиНо есть нюансы:
https://clickhouse.com/blog/clickhouse-keeper-a-zookeeper-alternative-written-in-cpp?loc=keeper-hero
Производительность (нелинеаризуемых) запросов на чтение и вспомогательных задач (управление сетевыми запросами, пакетная обработка данных и т. д.) <...>. Результаты наших тестов в целом показывают, что ZooKeeper в настоящее время справляется с этим лучше, чем Clickhouse Keeper
Clickhouse / zookeeper. Развертывание