供应链计划性能优化解决方案-Clickhouse本地Join
💡
原文中文,约6700字,阅读约需16分钟。
📝
内容提要
本文探讨了京东供应链计划中Tidb与Clickhouse的瓶颈及解决方案。通过将业务配置数据同步至Clickhouse,并使用SQL聚合查询,显著提升了查询速度,降低了内存占用,解决了系统稳定性问题,从而实现了更高效的查询性能和用户体验。
🎯
关键要点
- 本文探讨京东供应链计划中Tidb与Clickhouse的瓶颈及解决方案。
- Tidb用于存储计划数据和业务配置,Clickhouse用于存储历史参考数据。
- 初始方案导致生效周期长,内存占用大,查询速度慢,影响用户体验。
- 通过SQL聚合查询直接输出结果,显著提升查询速度,降低内存占用。
- 优化方案包括将业务配置数据同步至Clickhouse,并在Tidb和Clickhouse中进行join操作。
- 使用Clickhouse的ReplacingMergeTree建表及维表模式,确保数据去重。
- 本地join在Clickhouse中性能优于Global Join,减少资源开销。
- 本地join要求数据散列方式一致,确保分布函数相同。
- 查询语法要求在使用本地join时需注意过滤条件的写法。
- 最终优化效果包括解决OOM问题和提升查询性能。
➡️