17|ClickHouse为什么会给人极致速度的印象?
ClickHouse 起源
- 深入了解
- 翻译
- 解释
- 总结
1. ClickHouse起源于俄罗斯的搜索引擎公司Yandex,最初被用在一个叫做Metrica的广告在线流量分析系统,在内部存储过万亿行数据的情况下,大部分查询请求都能够做到秒级返回,被广泛用于实时自助分析场景。 2. ClickHouse的设计目标是高效的列存储和数据分析,擅长处理大宽表的查询分析,存储模型吸收了LSM的优点,在MergeTree存储引擎中,数据先写入内存中的小块文件,然后定期将这些小块文件合并成更大的文件,最终形成一个有序的数据文件。 3. 列式存储和向量化执行是ClickHouse能够实现极致速度的关键,列式存储有利于数据压缩和减少I/O消耗,向量化执行通过将相同的操作同时应用于一组数据元素,提高计算效率。 4. ClickHouse支持丰富灵活的表引擎,包括合并树(MergeTree)家族、日志引擎系列、集成表引擎、其他特殊表引擎4大类,每一个表引擎都有自己的特点,适合不同的业务场景。 5. ClickHouse的表引擎设计融合了大象和猎豹的特点,以便在不同情况下灵活应用,比如MergeTree表引擎系列支持大规模复杂数据的持久化存储,而Memory存储引擎则适合于临时的实时计算和快速查询。 6. ClickHouse的列式存储和向量化执行技术使得其在OLAP场景下能够实现极致的查询速度,适合于批量导入与分析场景。 7. ClickHouse的索引支持和分布式架构进一步提升了性能,包括稀疏索引、跳数索引、多线程执行和分布式存储等特点。 8. ClickHouse的核心特征,列式存储、极致压缩、向量化执行、分布式架构与并发执行等构成了它极致性能的基石。 9. ClickHouse持续集成、持续改进,不断尝试将硬件的功效、算法的性能等最大化,造就了今天极致性能的ClickHouse。 10. ClickHouse属于MPP架构,同时使用多线程模型,这与传统的多线程模型有所不同,体现了其在数据处理性能上的优势。
《分布式数据库从入门到实战》,新⼈⾸单¥59