文章内容参考官方文档https://www.starrocks.io/feature
官方文档对StarRocks的定义如下:
Fast, Fresh and Flexible: Analytics With No Compromise
StarRocks有以下功能特点
1.最佳的性能
无论是单表还是多表分析,与其他流行的计算引擎解决方案相比,StarRocks在性能上至少提高300%。
主要表现在以下四点:
1.1.基于成本的优化(CBO)
StarRocks的CBO根据分析数据的统计数据找到最佳的执行计划,这是StarRocks同类最佳查询性能的关键,尤其是多表的查询。
1.2.SIMD优化的完全矢量化执行引擎
StarRocks采用列式存储引擎和用C++实现的完全矢量化算子,充分利用了现代多核CPU和SIMD指令来提高性能。
1.3.混合行列存储
StarRocks通过优化的点查询和混合行列存储上的主键索引加速,可以实现每16个核的实例支持10000个以上的QPS。
1.4.数据缓存
StarRocks内置的基于内存和磁盘的缓存框架是特殊设计的,旨在最大限度地减少从外部存储获取数据的IO开销,以加速查询性能。
2.实时分析
从流数据到数据采集,通过一系列丰富的连接器,我们可以将数据实时写入到StarRocks,以获取最新的分析结果。
主要表现在以下两点:
2.1.主键表
通过实时upsert和delete提供无与伦比的查询性能。StarRocks的主键索引能够使数据在摄取过程中进行更有效的更新,优化读取性能,同时支持可变数据10秒以下的数据新鲜度。
2.2.同步物化视图(SMV)
StarRocks的同步物化视图可以在数据摄取是增量更新,并在查询时执行查询重写。通过保证基表和SMV之间的一致性,StarRocks的SMV进一步加速了实时分析。
3.弹性分析
StarRocks是一个适应我们使用场景的查询引擎。我们无需迁移数据或者重写SQL,StarRocks提供了按需轻松扩展分析的灵活性。
主要表现在以下四点:
3.1.共享数据架构
StarRocks通过在AWS S3等远程对象存储中持久化数据来分离存储和检索算。此设置提供了动态扩展、存储成本节约以及计算和存储的独立扩展。
3.2.统一catalog
只需要一个简单的命令,StarRocks的catalog就可以让我们轻松连接并直接查询存储在所有数据湖中的最新数据。
3.3.异步物化视图(AMV)
设计为按需构建,无需任何外部处理工具即可加速慢查询。StarRocks的查询重写功能使AMV可以随时构建,而无需手动修改SQL。
3.4.标准的SQL
ANSI SQL语法、MySQL协议和Trino/Presto方言支持。StarRocks与大范围的客户端和BI工具兼容。