从数据库设计到性能调优,全面掌握openGemini应用开发最佳实践
💡
原文中文,约2600字,阅读约需7分钟。
📝
内容提要
华为云开源分享了openGemini应用开发的最佳实践,包括数据库设计、性能调优和数据写入查询等方面的建议。文章强调了熟悉业务场景对数据库设计的重要性,介绍了openGemini库和表设计的最佳实践,以及数据写入和查询的注意事项。同时,提供了openGemini的开源地址和官网链接。
🎯
关键要点
- 华为云开源分享了openGemini应用开发的最佳实践,包括数据库设计、性能调优和数据写入查询等方面的建议。
- 熟悉业务场景是做好数据库设计的关键,了解业务场景有助于数据库选型。
- 在数据库选型前,需评估数据分类、应用分类、采集频率、时间线、每分钟写入数据量、采集指标、业务查询场景和数据保留周期等。
- openGemini支持shard延时加载,建议采用多个库以提升性能和资源利用。
- shard数量受限于机器规格和本地磁盘性能,过多的shard或表会影响系统性能。
- 建表时需结合查询场景,指标列数量超过1000时建议分表。
- 客户端写数据时应批量写入、并发写入,并确保数据时间线不交叉。
- 写性能的内核参数调优需关注写QPS波动的原因,如wal时延、磁盘IO瓶颈等。
- 在查询时,避免全量时间线扫描和海量分组,以防引发进程OOM。
- 查询时可使用chunked参数分批流式返回数据,使用Hint查询直接定位数据节点。
- 嵌套查询应通过TAG或时间过滤数据,减少结果数据总量。
- openGemini是一款开源分布式时序数据库,专注于海量时序数据的存储和分析。
➡️