StarRocks 存算分离最佳实践,让降本增效更简单

本文详细介绍了StarRocks存算分离的最佳实践,包括部署模式选择、对象存储集成、监控配置、建表建议(分桶数设置和StorageVolume使用)、数据导入优化、查询性能、Cache管理、Compaction和GC任务,以及数据迁移和弹性能力。

StarRocks 存算分离自版本 3.0.0 开放使用,已经历过多个大版本迭代,在众多客户生产环境中得到验证。但在用户使用过程中也反馈了一些问题,大多源自对新能力不够熟悉导致无法达到最佳效果。因而,本文提供 StarRocks 存算分离最佳实践,建议测试前仔细阅读,并按照最佳实践的指导来实施,以达到事半功倍的效果。

部署

用户在部署时需要在部署模式上二选一,存算一体或者存算分离,目前尚不支持在一个集群中同时支持两种运行模式。

StarRocks 目前支持各种类型对象存储,如所有兼容 AWS S3 协议的对象存储(如 S3、OSS、COS、OBS、GCP、Ceph-S3 等),Azure Blob Storage、Google GCP 以及传统的 HDFS 等,用户可以根据实际情况自由选择。

StarRocks 集群内添加了众多的监控指标,且可以被 Prometheus 采集并通过 Grafana 展示,借助这些指标,可以实时观察集群运行情况。因此,对于所有的用户,我们建议您在实际使用 StarRocks 存算分离集群前,先配置好监控,详细可参考文档 StarRocks 存算分离监控部署[1]。

建表

在存算分离集群中,用户建表时需要关注分桶数的设置,要想获得最佳性能,合理的分桶数选择必不可少。如果分桶数设置的过少,可能会导致计算时无法充分利用硬件资源,如果分桶数设置过多,在存算分离集群中可能会产生大量的小文件导致 I/O 效率低下。在实践中,我们建议按照数据量来决定分桶数,一般建议每个分桶容纳的数据规模在 1 ~ 5GB 左右较为合适。

另外,自 3.1.0 版本后,StarRocks 支持为每个表指定不同的存储桶(对象存储中的概念,存储容器),用户可以为不同的表设定不同的存储桶以实现物理资源的隔离,具体可以通过创建 Storage Volume 来配置不同的存储桶[2];创建表时,通过 Storage Volume PROPERTIES 指定存储桶[3]。

Tips

1,根据表实际数据量合理选择分桶数量

2,对于分桶数较多的表,创建可能耗时较长,此时可适当调整参数来观察是否有改善

3,使用 Storage Volume 能让您的建表更为灵活,强烈推荐

导入

当前 StarRocks 存算分离表支持存算一体模式中的所有数据导入方式,离线数据推荐 Broker Load,实时数据同步推荐 DataX,Flink Connect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值