13 客户数据平台(CDP)的存储与计算需求

什么是CDP

分布式数据库 StarRocks实践_数据

分布式数据库 StarRocks实践_数据_02

CDP数据模型

分布式数据库 StarRocks实践_数据_03

分布式数据库 StarRocks实践_数据_04

分布式数据库 StarRocks实践_数据_05

分布式数据库 StarRocks实践_数据_06

14 StarRocks应对CDP需求

StarRocks 系统架构

StarRocks 在设计和架构上参考了 Impala、Presto 这类 MPP 分析引擎的思想,甚至在组件功能上也非常相似

分布式数据库 StarRocks实践_数据_07

分布式数据库 StarRocks实践_数据_08

分布式数据库 StarRocks实践_数据_09

从存算一体到存算分离

分布式数据库 StarRocks实践_数据_10

一个 FE 节点可以应对 10 到 20 个 BE 节点,所以 FE 建议部署 3 个节点,组成 HA 模式,即可以满足大部分需求。

数据分布

分布式数据库 StarRocks实践_数据_11

当BE 节点扩缩容时,StarRocks 会自动进行 Tablet 的迁移,当有新的节点加入时,一些 Tablet 会自动分配到新节点上,这样可以让数据在整个集群中更均匀地分布。而当节点减少时,原本在即将下线的机器上的 Tablet 会被自动移动到其他节点上,确保数据的备份副本数量保持不变。

分布式数据库 StarRocks实践_数据_12

上面这个图就是一个典型的案例。先基于时间分区,然后每个分区又分为了 4 个 Tablet,每个 Tablet 有 3 个副本,均衡的分布在不同的 BE 上。

分区分桶一方面是为了能够在查询的时候,尽可能多的“裁剪”数据,另外一方面是数据均匀分布后,能够利用集群的能力并发加速查询。

StarRocks处理大量数据

分布式数据库 StarRocks实践_数据_13

15 数据存储上选用合适的表存储类型

数仓建模分层

分布式数据库 StarRocks实践_数据_14

分布式数据库 StarRocks实践_数据_15

16 性能优化

分布式数据库 StarRocks实践_数据_16

分布式数据库 StarRocks实践_数据_17

使用索引

分布式数据库 StarRocks实践_数据_18

分布式数据库 StarRocks实践_数据_19

使用查询缓存

分布式数据库 StarRocks实践_数据_20

分布式数据库 StarRocks实践_数据_21