StarRocks 生产部署一套集群,存储空间如何规划?

背景:StarRocks 3.2,存储一体

使用场景:多分析、小查询多单但不高、数据量几百T

FE 存储

由于 FE 节点仅在其存储中维护 StarRocks 的元数据,因此在大多数场景下,每个 FE 节点只需要 100 GB 的 HDD 存储,生产建议200G SSD以上,FE-FOLLOWER节点也一样的配置。

BE 存储

预估 BE 初始存储空间

StarRocks 集群需要的总存储空间同时受到原始数据大小、数据副本数以及使用的数据压缩算法的压缩比的影响。

你可以通过以下公式估算所有 BE 节点所需的总存储空间:

磁盘大小一样,SSD盘,无需做RAID(多副本情况下)

shell 复制代码
BE 节点所需的总存储空间 = 原始数据大小 * 数据副本数/数据压缩算法压缩比

原始数据大小 = 单行数据大小 * 总数据行数

在 StarRocks 中,一个表中的数据首先被划分为多个分区(Partition),每个分区建议10-20GB,如果分桶表建议每个分桶1GB左右,然后进一步被划分为多个 Tablet。Tablet 是 StarRocks 中基本数据管理逻辑单元。为保证数据的高可靠性,你可以为每个 Tablet 维护多个副本,存储于不同的 BE 节点。StarRocks 默认维护三个副本。

目前,StarRocks 支持四种数据压缩算法:zlib、Zstandard(或 zstd)、LZ4 和 Snappy(按压缩比从高至低排列)。这些数据压缩算法可以提供 3:1 到 5:1 的压缩比。

通过计算得到总存储空间后,你可以简单地将之除以集群中的 BE 节点数,估算出每个 BE 节点所需的平均存储空间。

随时添加额外存储空间

如果 BE 存储空间随着原始数据的增长而耗尽,可以进行以下选择。

  • 在 StarRocks 集群中添加新的 BE 节点
  • 在 BE 节点上添加额外的存储卷
  • 添加云存储空间

集群存储空间规划除了以上内容外,还要考虑磁盘阈值报警,业务数据未来增加大小等。

相关推荐
StarRocks_labs2 天前
KaptureCX 大规模实时分析架构演进:基于 RisingWave 与 StarRocks 的最佳实践
starrocks·sql·clickhouse·ai赋能·kapture
ClouGence23 天前
从 OLTP 到 OLAP:Spanner 到 StarRocks 架构演进与实现
大数据·数据库·starrocks·olap·dba·oltp·spanner
万琛1 个月前
【StarRocks / Doris】Broker Load 性能优化实战
starrocks·性能优化
Austinu1 个月前
Flink CDC 做SQL Server → StarRocks 的全量 + 增量同步对源数据库的压力分析
starrocks·flink cdc·sqlsever
Austinu1 个月前
StarRocks入门
starrocks
老徐电商数据笔记1 个月前
电商实时数仓开发规范
starrocks·数据治理·实时数仓·selectdb·电商数据仓库
StarRocks_labs1 个月前
StarRocks I/O 模型揭秘(一):查询是如何被拆解与调度的?
starrocks·sql·pipeline·mpp·fe
StarRocks_labs1 个月前
从 Presto 到 StarRocks:作业帮架构升级实践
starrocks·sql·架构·iceberg·作业帮
代码派2 个月前
MySQL数据如何实时同步到StarRocks?NineData实操指南 原创
数据库·starrocks·mysql·数据库管理·慢sql·ninedata·ddl变更
NineData2 个月前
MySQL到StarRocks 同步链路中的建表、DDL 跟随与数据校验
运维·数据库·starrocks·mysql·数据迁移·数据库管理工具·ninedata