14|技术上,StarRocks如何应对CDP需求?
StarRocks 系统架构
- 深入了解
- 翻译
- 解释
- 总结
1. StarRocks的系统架构包括FE(Frontend)和BE(Backend)组件,分别负责接收请求并处理,以及执行数据查询和计算。 2. StarRocks支持存算分离架构,通过移除BE的Storage Engine组件,将数据存储在对象存储系统或HDFS上,以降低成本和简化系统复杂度。 3. StarRocks的数据分布方面支持分区分桶,使用Tablet作为数据分布与均衡的最小单元,并自动进行数据迁移以保持均匀分布。 4. StarRocks在CDP需求场景中可以用于SQL生成、统计类和规则类标签的扫描和查询,通过分区分桶键和组合多个列分桶来优化查询和避免数据倾斜。 5. StarRocks是一个列式数据库,支持对数据进行压缩和存储优化,能够提供接近PB级别的数据存储能力。 6. StarRocks基于MPP架构,配合分区分桶的数据分布,使得单个查询请求可以充分利用所有执行节点的资源,从而提高查询性能。 7. StarRocks全新设计了基于代价的优化器 CBO(Cost Based Optimizer)、使用全面的向量化执行引擎、支持混合行列存储、优化了数据缓存,从而在单表或者多表的查询性能上提供较优的性能。 8. 部署StarRocks只需要部署FE、BE两个进程,一般是集群式部署,FE与BE分布在不同的节点,BE部署完成后需要手动通过SQL客户端执行命令连接到FE,然后将BE添加进集群。 9. 在存算分离架构下,BE被移除了Storage Engine组件,数据存储从本地存储升级为共享存储,CN(Compute Node)执行数据导入、查询计算、缓存数据管理等任务。 10. StarRocks支持分区分桶,推荐使用表达式分区,也支持Range、List、Hash分区,分区分桶键一般与查询条件强相关,如果可能存在数据倾斜,可以组合多个列。
《分布式数据库从入门到实战》,新⼈⾸单¥59