C++ zero-cost abstractions на примере хеш-таблиц в ClickHouse
0 码力 | 49 页 | 2.73 MB | 1 年前文档讨论了在ClickHouse中使用C++实现零成本抽象的哈希表设计与优化。哈希表在ClickHouse中广泛应用于GROUP BY、JOIN和SELECT DISTINCT操作。文档介绍了哈希表的主要操作(查找、插入、删除)的平均时间复杂度,并强调了选择高效哈希函数的重要性,例如SipHash和CityHash。通过对比多种哈希表实现(ClickHouse HashMap、Google DenseMap、Abseil HashMap、std::unordered_map)的基准测试结果,显示ClickHouse HashMap在速度和缓存misses方面具有明显优势。文档还指出,避免使用过时的哈希函数,如FNV1a,并推荐使用现代高效哈希函数。测试还表明,ClickHouse HashMap在处理常见值如RegionID时表现尤为出色,适合在LL缓存中的应用。
ClickHouse: настоящее и будущее
0 码力 | 32 页 | 776.70 KB | 1 年前文档介绍了ClickHouse的现状与未来发展方向。ClickHouse是一个高性能的开源列式数据库,支持多平台部署,包括x86_64、ARM、PowerPC 64和RISC-V,运行在Linux、FreeBSD和macOS上。ClickHouse Inc与Yandex共同创建,已获得3亿美元融资,估值20亿美元。公司的主要发展方向包括开发serverless格式的云服务、维护和推广开源版本、探索新的应用领域和集成先进技术如GPU计算和机器学习。同时,ClickHouse也在不断改进其SQL兼容性,支持更多标准功能。未来,ClickHouse计划增强流数据处理、复杂事件处理、自然语言处理能力,并优化集群性能。
Тестирование ClickHouse которого мы заслуживаем
0 码力 | 84 页 | 9.60 MB | 1 年前文档详细介绍了ClickHouse性能测试的方法和工具,包括如何排除磁盘和缓存的影响,固定CPU和内存,设置停止条件,使用实际数据并精准测量时间。文中提到使用clickhouse-performance-test工具进行测试,支持多次执行和分析请求,比较不同提交间的差异,并关注性能下降的情况。同时,文档还讨论了测试中的问题,如内存管理、查询语言、性能和数据复制问题。
共 3 条
- 1













