当前位置: 首页 > web >正文

StarRocks存算一体集群资源预估

官方文档:规划 StarRocks 集群 | StarRocks

集群:3FE+3BE

FE机器配置:

1、CPU:官方推荐每个 FE 节点分配 8c16g

2、磁盘:官方推荐每个 FE 节点分配100g的 HDD

个人觉得4c8g就可以了,FE 节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。

BE机器配置:

1、官方推荐每个BE 节点分配16c64g(高度并发或复杂的查询)

2、磁盘:这个得根据业务数据来做一个计算,假设日均数据1000w,三个副本,下面写一个计算过程

以下表为例:
CREATE TABLE `ad_events` (
`event_time` DATETIME NOT NULL COMMENT '时间',
`event_time_hour` DATETIME NOT NULL COMMENT '时间(分、秒为0)',
`event_type` TINYINT(4) NOT NULL COMMENT '事件类型(1:请求,2:展示,3:点击)',
`user_id` INT(11) NOT NULL COMMENT '用户ID(映射为整数)',
`jhn_more` TINYINT(4) NOT NULL COMMENT '是否聚合',
`ad_site_id` VARCHAR(128) NOT NULL COMMENT '代码位id',
`client_type` TINYINT(4) NOT NULL COMMENT '客户端类型',
`my_app_id` VARCHAR(64) NOT NULL COMMENT '应用id',
`ad_type` VARCHAR(32) NOT NULL COMMENT '广告类型',
`platform` TINYINT(4) NOT NULL COMMENT '广告源',
`device_id` VARCHAR(64) NOT NULL COMMENT '设备号'
)
COLLATE='utf8_general_ci'
ENGINE=OLAP
PARTITION BY date_trunc('month', event_time) # 按月分区
DISTRIBUTED BY HASH(`user_id`) BUCKETS 100
PROPERTIES (
"compression" = "LZ4", # 存储算法
"fast_schema_evolution" = "true",
"partition_live_number" = "12", # 保留12个月数据,就是1年的数据
"replicated_storage" = "true",
"replication_num" = "3"  # 3个副本
);表数据特点:数据大小 + LZ4存储算法 + 保留1年数据 + 3个副本1、单行数据大小估算​​:
字段名    类型    字节数(估算) 说明
event_time   DATETIME  8    日期时间
event_time_hour  DATETIME  8    日期时间(精确到小时)
event_type   TINYINT   1    整型
user_id    INT    4    整型
jhn_more   TINYINT   1    整型
ad_site_id   VARCHAR(128) ~150(平均)  按平均长度50字符 + 编码开销
client_type   TINYINT   1 整型
my_app_id   VARCHAR(64)  ~90(平均)  按平均长度30字符 + 编码开销
ad_type    VARCHAR(32)  ~30(平均)  按平均长度10字符 + 编码开销
platform   TINYINT   1    整型
device_id   VARCHAR(64)  ~90(平均)  按平均长度30字符 + 编码开销​​单行总大小​​:
8 + 8 + 1 + 4 + 1 + 150 + 1 + 90 + 30 + 1 + 90 ≈ 384 字节2、估算每日数据量:​​1000w条/天
10,000,000 条/天 × 384 字节/条 = 3,840,000,000 字节 ≈ 3.56 GB/天3、LZ4存储算法压缩
假设压缩率为 ​​3倍​​:3.56 GB/天 ÷ 3 ≈ 1.19 GB/天4、总数据量(保留1年)
未压缩:3.56 GB/天 × 365 天 = 1,298.8 GB ≈ 1.2 TB
压缩后:1.19 GB/天 × 365 天 = 434.35 GB
含3副本的总磁盘占用:434.35 GB × 3 = 1,303.05 GB ≈ 1.3 TB1~4步计算方式为官方的大致估算,下面5~6步为ai推测5、OLAP 引擎默认生成主键索引和 Bloom Filter 索引,可能增加 ​​20%~30%​​ 空间
1.3 TB × 1.3 ≈ 1.69 TB6、元数据、日志等额外占用约 ​​5%~10%​​。
1.69 TB × 1.1 ≈ 1.86 TB

磁盘规划​​
​​保守估计​​:至少预留 ​​2~2.5 TB​​ 磁盘空间。
​​安全边际​​:建议按 ​​3 TB​​ 规划,应对数据增长波动

跟预估结果,每台BE节点机器磁盘1TB,并且需要对BE节点磁盘做监控

个人见解:上述BE16c64g是官方基于在大型数据集上处理高度并发或复杂的查询时的配置,如果不是这种场景,对数据有效的分区过滤(表设计很重要),可以使用8g16g

http://www.xdnf.cn/news/3295.html

相关文章:

  • 国产工业软件突破路径
  • 【Spring AI】Java结合ollama实现大模型调用
  • Java对集合进行操作,赋值新字段
  • 微前端统一状态树实现方案
  • 傅里叶与相位偏移
  • Python实例题:Python实现简易局域网视频聊天工具
  • 日记 - 2025.4.30 四月计划回顾、五月计划安排
  • Python10天突击-字符串输出
  • 【NumPy完全指南】从基础操作到高性能计算实战
  • LeetCode路径总和系列问题解析:I、II、III的解决方案与优化
  • 深入剖析ELT与ETL的区别
  • 3.5/Q1,GBD最新文章解读
  • (即插即用模块-特征处理部分) 四十五、(2024 TGRS) SFF 浅层特征融合模块
  • 远程 Debugger 多用户环境下的用户隔离实践
  • 12.SpringDoc OpenAPI 功能介绍(用于生成API接口文档)
  • malloc的实现原理
  • [Android 15] 在GlobalActionsDialog 中新增项目
  • 业务部绩效考核关键指标与数据分析
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十讲)
  • 第六部分:实战项目与拓展
  • Windows下Dify安装及使用
  • 【AI提示词】SWOT分析师
  • Qt快速上手:QSettings高效配置读写实战指南
  • 解锁Windows异步黑科技:IOCP从入门到精通
  • 基于SpringBoot的母婴商城系统设计与实现(附源码+PPT+论文)
  • 电脑重复图片太多?推荐一款开源的图片去重工具ImageContrastTools
  • 你的Java项目经历,是金子还是沙子?
  • 快充诱骗协议芯片的工作原理及应用场景
  • 可视化网页自动化流程管理工具
  • 混合开发与平台集成:自定义插件开发