4 ms·
ClickHouse chose an API compatible rewrite because it allowed the project to banish issues like Zookeeper transaction ID rollover and eliminate an external depe
by hodgesrm 4y ago
ClickHouse chose an API compatible rewrite because it allowed the project to banish issues like Zookeeper transaction ID rollover and eliminate an external dependency while allowing a gentle migration to the new "ClickHouse Keeper" implemention. Existing prod deployments of ClickHouse are mostly still on Zookeeper, though new deployments are beginning to use ClickHouse Keeper from the start.
There's a good talk by ClickHouse committer Alexander Sapin that explains the design considerations: https://www.youtube.com/watch?v=abhcCRW09Ac https://www.youtube.com/watch?v=abhcCRW09Ac