共计 1331 个字符,预计需要花费 4 分钟才能阅读完成。
StarRocks 近期公布了 1.15 / 1.16 两个大版本,上面介绍一下新版本的外围性能:
CBO 优化器
执行 SQL 查问时,须要顺次通过查问解析器、分析器、优化器、查问执行层和存储层。查问优化器的输出是逻辑的形象语法树,输入是“最优的”物理执行打算。查问越简单,数据量越大,物理执行打算的好坏对查问性能影响越大,所以成熟的商业数据库都须要一个弱小的、成熟的查问优化器。
相比 StarRocks 旧的优化器:在性能上,CBO 优化器残缺地反对了 TPC-DS 99 条 SQL,反对了更简单的相干子查问;在性能上,CBO 优化器反对了更多的启发式优化规定,能够基于统计信息进行 Cost 估算,能够更精确地进行 Join 左右表调整、Join 多表 Reorder、Join 分布式形式抉择,TPC-H 执行总工夫是旧优化器的 1 /3,局部 TPC-DS 简单查问有 30 到 50 倍的晋升。
StarRocks CBO 优化器通过了外部上亿测试 Case 的测试,通过了 10 多家公司生产环境的验证(截止 2021-07-12),曾经能够稳固地在生产环境中利用。
欢送大家试用:http://doc.starrocks.com/2311684
Hive 表面能力加强
近两个月来,StarRocks 进一步晋升了联邦查问的能力,在之前 Mysql 和 ES 表面的根底上补充了 Hive 表面性能。目前,StarRocks 已反对 Parquet 和 ORC 的文件格式,并且能够同步 Hive 元数据并感知到 Hive metastore 的元数据变更。咱们用 TPC- H 比照了 Presto 和 StarRocks 在等同环境下性能比照,ORC 格局下 StarRocks 查问 Hive 表面的性能大概是 Presto 的 3.35 倍。下图展现 TPC- H 测试后果。
参考文档:http://doc.starrocks.com/2146…
全面向量化导入
截止 1.16 版本,咱们针对 Broker Load/Routine Load/Stream Load 等导入形式以及 Parquet/ORC/Text/Json 等数据格式,实现了全面的向量化。导入性能较 StarRocks 之前版本有 2 - 7 倍的晋升。另外大数据量的导入稳定性也失去了增强。
在几个不同格局的数据集上,咱们比照了向量化导入和非向量化导入的性能差别(以下是一组单 FE,BE,Broker,单线程测试后果,减少 BE 和并行度当前性能还能够线性扩大):
其余优化
语法优化:
- 反对 create table like 语法。
- 批量分区创立语法反对。
治理性能:
- 查问黑名单,管理员能够禁止指定 pattern 的 SQL。
- 内存应用优化,监控内存治理。
算子优化:
- Cross Join 性能优化,右表较小的场景中,性能均匀晋升 5 倍以上。
导入生态:
- DataX 插件 DataX-StarRocks-Writer,不便各种数据源导入 StarRocks。
- Stream load 反对自定义行分隔符 row_delimiter。
- Routine load 调度优化,能够同时调度 1000 个 routine load 工作。
更多详情能够参考论坛的 Release Notes(https://forum.starrocks.com/c…),也欢送大家给咱们提出贵重的意见,如有什么期待的性能能够退出交换群通知咱们。