StarRocks 开源三周年
2021 年 9 月 8 日,StarRocks 开源社区诞生。三年间,StarRocks 在 GitHub 上收获了 8700+ Stars,产品共迭代发布了 140 余个版本,420+ 家市值超过 10 亿美元的头部用户在生产环境中上线运行。
目前,StarRocks 社区已有超过 420 位贡献者。镜舟科技作为社区的中坚力量,推动社区持续迭代,同时越来越多的业界知名企业如阿里云、腾讯、火山引擎等也参与了 StarRocks 社区的开发,助力 StarRocks 持续领先业界。
StarRocks Education
值此 StarRocks 开源三周年之际,镜舟科技隆重推出 StarRocks Education,这是一个由 StarRocks 资深专家团队精心打造的在线培训和认证平台。首批上线的是面向初学者的 StarRocks Certified Associate(SRCA)课程,本系列课程主要涵盖 StarRocks 的发展历程、应用场景、架构以及基础的使用和运维等内容。
开启 SR 学习之旅:
https://www.mirrorship.cn/zh-CN/training/home
StarRocks 3.3.4 发版
9 月 30 日,StarRocks v3.3.4 发布,以下内容节选自发版说明。
行为变更
- 更改外表物化视图的默认副本数,从默认 1 副本改为遵循 FE 参数
default_replication_num
的值(默认值:3)。#50931
新增功能
- 支持在 List Partition 的表上创建异步物化视图。 #46680 #46808
- List Partition 表支持 Nullable 分区列。 #47797
- 支持通过
DESC FILES()
查看外部文件 Schema 信息。#50527 - 支持通过
SHOW PROC '/replications'
查看数据复制任务指标。#50483
功能优化
- 优化存算分离架构下
TRUNCATE TABLE
的数据回收速度。#49975 - CTE 算子支持中间结果落盘。#47982
- 支持自适应分阶段调度,缓解复杂查询导致的 OOM。#47868
- 在一些特定场景下支持了 STRING 类型的 date 或 datetime 列的查询下推。#50643
- 支持基于常量的半结构化数据上计算
COUNT DISTINCT
。#48273 - 新增 FE 参数
lake_enable_balance_tablets_between_workers
,用于启用存算分离表的 Tablet 均衡。#50843 - 优化生成列的改写能力。#50398
- Partial Update 支持自动填充默认值为
CURRENT_TIMESTAMP
的列的值。#50287
异步物化视图
自 v2.4 起,StarRocks 支持异步物化视图。异步物化视图旨在加速在 StarRocks 内部或数据湖中基于多个大表执行复杂查询,通常涉及多表之间数十亿行数据的关联和聚合。查询的频率越高或查询语句越复杂,性能增益就会越很明显。此外,您还可以通过异步物化视图对数据仓库进行建模。
相较于同步物化视图,异步物化视图支持多表关联以及更加丰富的聚合算子。异步物化视图可以通过手动调用或定时任务的方式刷新,并且支持刷新部分分区,可以大幅降低刷新成本。除此之外,异步物化视图支持多种查询改写场景,实现自动、透明查询加速。
示例:在带有 Nullable 分区列的 List Partition 表上创建异步物化视图
CREATE TABLE goods(
item_id1 INT,
item_name STRING,
price FLOAT
) DISTRIBUTED BY HASH(item_id1);
INSERT INTO goods VALUES
(1001,"apple",6.5),
(1002,"pear",8.0),
(1003,"potato",2.2);
CREATE TABLE order_list(
order_id INT,
client_id INT,
item_id2 INT,
order_date DATE
) DUPLICATE KEY(order_id) PARTITION BY LIST (order_id) (
PARTITION p1 VALUES IN ('10001'),
PARTITION p2 VALUES IN ('10002'),
PARTITION p3 VALUES IN ('10003'),
PARTITION p4 VALUES IN (NULL)
)
DISTRIBUTED BY RANDOM;
INSERT INTO order_list VALUES
(10001,101,1001,"2022-03-13"),
(10001,101,1002,"2022-03-13"),
(10002,103,1002,"2022-03-13"),
(10002,103,1003,"2022-03-14"),
(10003,102,1003,"2022-03-14"),
(10003,102,1001,"2022-03-14")
(NULL, NULL, NULL, NULL);
CREATE MATERIALIZED VIEW order_mv
DISTRIBUTED BY HASH(`order_id`)
REFRESH ASYNC START('2022-09-01 10:00:00') EVERY (interval 1 day) AS
SELECT
order_list.order_id, SUM(goods.price) AS TOTAL
FROM order_list
INNER JOIN goods ON goods.item_id1 = order_list.item_id2
GROUP BY order_id;
手动刷新物化视图。
-- 异步调用刷新任务。
REFRESH MATERIALIZED VIEW order_mv;
-- SR v3.1 开始,支持同步调用刷新任务。
REFRESH MATERIALIZED VIEW order_mv WITH SYNC MODE;
查看异步物化视图信息。(注:该命令当前仅针对异步物化视图生效。)
SHOW MATERIALIZED VIEWS
FROM mydb;
相关阅读
Have a nice day ~
🌻 往期精彩 ▼
- 国产分布式数据库开启新篇章!详解安全可靠测评结果公告(2024年第2号)
- 「合集」MySQL 8.x 系列文章汇总
- 「合集」三年50篇,TiDB干货全收录
- 国产基础软件“出海”标杆炼成记
- 几张图带你了解 TiDB 架构演进
- Oracle 数据库全面升级为 23ai
- MySQL 9.0 的 VECTOR 文档更新
- 星辰资讯:TiDB v8.1.0 发版!稳!
- 敢于公布BUG的国产数据库才是好数据库
- 一文带你了解 GB 18030-2022 字符集
- MySQL 9.0.0 新鲜出炉!支持向量类型
- 即将告别PG 12,建议升级到PG 16.3版本
- 一文带你了解 KING BASE 金仓数据库
- 人大金仓 更名为 电科金仓
- 如何选择适合的 MySQL Connector/J 版本
- python-oracledb 已率先支持 Oracle 23ai
- 后 EL 7 时代,PG 16 如何在 CentOS 7 上运行
- 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法
-- / END / --
👉 这里可以找到我
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。