他的回复:
您好,我叫向宇,主要负责openGemini开源社区相关工作,包括合作,技术支持等。我来回答您这个问题。 部署openGemini,规划集群时,主要考虑三个因素: 1. 时间线规模(不是点位),比如 region=“shanghai”,service=“mysql” cpu=0.4,mem=0.6,这是一条时间线,带两个点位数据。时间线规模对应节点规格参考:https://docs.opengemini.org/zh/guide/reference/specification.html 2. 大致确定了规格之后,接下来要确定集群需要几台服务器,openGemini集群推荐最小规模是3个节点,部署ts-meta(3x),ts-sql(1-3x),ts-store(2-3)。具体组件数量,需要根据业务负载来看。最终选择几台服务器,要结合写入和查询来看,目前单节点(32U128G)可以30万时间线,一条数据包含10个标签和10个点位数据这种数据模型,写入性能是近40万条/秒,换算成点位是400万点位/s,如果业务数据负载是1000万点位/s,可以简单计算 3*400*0.8 = 960万点位/s,也就差不多3-4台服务器即可满足。 3. 再看查询场景,如果有分组聚合查询的场景,且分组数量偏大,比如一次查询产生几十万甚至上百万个分组,那么建议cpu和内存规格要大一点。 什么场景下内存需要配置高一些? 我的建议是 a. 复杂查询比较多的场景,比如分组聚合,大量分组数据都将缓存在内存做计算(ts-store的内存要大一些)。 b. 要做降采样,包括流式降采样,以及历史数据降采样(流式降采样,ts-sql内存大一些) c. 要使用数据订阅功能(ts-sql内存要求大一些) d. ts-meta主要用于元数据管理,一般4U8G基本够用。