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...),也欢送大家给咱们提出贵重的意见,如有什么期待的性能能够退出交换群通知咱们。