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