【技术预研】StarRocks官方文档浅析(2)

背景说明

基于starRocks官方文档,对其内容进行一定解析,方便大家理解和使用。
若无特殊标注,startRocks版本是3.2。
下面的章节和官方文档保持一致。

参考文档

产品简介 | StarRocks

StarRocks

StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接。同时 StarRocks 具备水平扩展,高可用、高可靠、易运维等特性。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。

内容 说明
高性能分析型数据仓库 相比于oltp,更适合olap
向量化 基于CPU层级的优化(clickhouse有相关优化)
MPP 架构 相比于hadoop架构更适合olap
CBO 优化多表join的执行时,starRocks内部的执行先后顺序
智能物化视图 用于实现单表的实时数据转换,类似clickhouse的物化视图
可实时更新的列式存储引擎 可支持实时update
兼容 MySQL 可使用mysql相关语法和client工具

表设计


如图所示,一般数据库只有database和table两层,但因为starRocks是湖仓一体化的设计,可以读取外部数据源,所以在外面增加一层进行区分。相当于原来是两层目录,现在是三层目录。
除了常规的视图外,还提供了物化视图。物化视图还分为同步物化视图和异步物化视图,前者相对简单,作用于单表,后者的功能相对复杂,作用于多表。
支持权限控制,分为基于用户标识的访问控制和基于角色的访问控制。

表概览

简单说明表相关信息,入门说明。
有几种表类型,数据怎么分布的,数据有哪些类型,以及其他特性。

数据模型

StarRocks 支持四种数据模型,分别是明细模型 (Duplicate Key Model)、聚合模型 (Aggregate Key Model)、更新模型 (Unique Key Model) 和主键模型 (Primary Key Model)。主键模型逐渐替代更新模式,所以只需要关注三种模型。

明细模型

单纯的事实表,只是把数据写入,不涉及更新合并。适合作为ods层建表,用于存储每天接入的数据。
建表有两个地方需要注意:
DUPLICATE KEY:排序键,不会触发去重,但会影响查询效率(因为数据是按照排序键排列的,影响检索效率)。
DISTRIBUTED BY:默认要配置分桶,降低数据倾斜的风险

CREATE TABLE IF NOT EXISTS detail (
    event_time DATETIME NOT NULL COMMENT "datetime of event",
    event_type INT NOT NULL COMMENT "type of event",
    user_id INT COMMENT "id of user",
    device_code INT COMMENT "device code",
    channel INT COMMENT ""
)
DUPLICATE KEY(event_time, event_type)
DISTRIBUTED BY HASH(user_id)
PROPERTIES (
"replication_num" = "3"
);

聚合模型

相当于实现sum groupby key。但存在的问题是,无法回滚到历史。建议用于ads层,聚合逻辑场景,且如果遇到脏数据,重新计算的成本相对低。
建表有三个地方需要注意:
AGGREGATE KEY:排序键,但会影响查询效率(因为数据是按照排序键排列的,影响检索效率)。【如果不配置这项,则默认是非指标计算的其他列。但建议是显示配置,因为显示配置,如果有列既不是排序键,又不是指标列,则会建表报错】
DISTRIBUTED BY:默认要配置分桶,降低数据倾斜的风险
聚合函数配置:支持SUM、MAX、MIN等可累加的函数

CREATE TABLE IF NOT EXISTS example_db.<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值