你好,我是悟空。
在日趋实时的数据分析领域,一个开源项目在国内数据库圈逐渐崭露头角,它就是 StarRocks,这个分析型数据库正在重新定义我们对实时数据处理的认知。
StarRocks 是一款怎样的产品?处于大数据生态的什么位置上?有什么功能特性?性能如何?
系好安全带,数据库知识分享发车了。
StarRocks 是 Linux 基金会旗下项目,是新一代极速全场景 MPP 数据库,遵循 Apache 2.0 开源协议。其架构简洁,采用了全面向量化引擎,并配备全新设计的 CBO 优化器,实现亚秒级的查询速度,尤其是多表关联查询表现尤为突出。StarRocks 还支持现代化物化视图,进一步加速查询。
随着数据量的增长,需求的不断迭代,原有的以 Hadoop 为核心的大数据生态,在性能、实效性、运维难度及灵活性等方面都难以满足企业的需求,OLAP 数据库面临着越来越多的挑战,很难有一种数据库能够适配大部分的业务,这时就出现诸如 Hive 、Druid、CK、ES、Presto 等多技术栈堆叠应用的情况,虽然能解决问题,但是开发和运维的成本、难度也随之上升。
作为一款 MPP 架构的分析性数据库,StarRocks 能够支撑 PB 级别的数据量,拥有灵活的建模方式,可以通过向量化引擎、物化视图、位图索引、稀疏索引等优化手段构建极速统一的分析层数据存储系统。
在整体的大数据生态中:
在经过一系列的建模后,StarRocks 中的数据可以服务于多种消费场景,比如说报表业务、实时指标监控、智能多维分析、客群圈选、自助 BI 业务。
StarRocks 的架构设计融合了 MPP 数据库和分布式系统的设计思想,具有极简的架构特点。整个系统由前端节点(FE)、后端节点(BE 和 CN)组成。这种设计使得 StarRocks 在部署和维护上更为简单,同时提升了系统的可靠性和扩展性。
这些特性使得 StarRocks 在数据处理和分析方面表现出色,还能在多租户和资源管理方面提供有效的支持。
SSB 单表场景性能测试:StarRocks、ClickHouse 和 Druid
在标准测试数据集的 13 个查询上,StarRocks 整体查询性能是 ClickHouse 的 2.1 倍,Apache Druid 的 8.7 倍。
StarRocks 启用 Bitmap Index 后整体查询性能是未启用的 1.3 倍,此时整体查询性能是 ClickHouse 的 2.8 倍,Apache Druid 的 11.4 倍。
“采用 3x16core 64GB 内存的云主机,在 6 亿行的数据规模进行测试。 来源:https://docs.starrocks.io/zh/docs/benchmarking/SSB_Benchmarking/
TPC-H 基准测试:StarRocks Hive 外表和 Trino 查询
TPC-H 100G 规模的数据集上进行对比测试,StarRocks 本地存储查询总耗时为 17s,StarRocks Hive 外表查询总耗时为 92s,Trino 查询总耗时为 187s。
“该测试共包含 8 张表,数据量可设定从 1 GB~3 TB 不等。 来源:https://docs.starrocks.io/zh/docs/benchmarking/TPC-H_Benchmarking/
TPC-DS 性能测试:StarRocks 与 Trino
采用 TPC-DS1TB 数据集进行测试,分别使用 StarRocks 和 Trino 查询以 Apache Iceberg 表格式存储的 Parquet 文件的相同数据副本, StarRocks 的整体查询响应时间比 Trino 快 5.54 倍。
“来源:https://mp.weixin.qq.com/s/kEqyRO_aOnOnsROXllwA2g
在数据分析这个复杂多变的领域,不太可能存在一个放之四海而皆准的解决方案。StarRocks 在某些方面的确表现出色,例如尤其是在处理大规模数据集时的查询速度。
不过并非所有企业都需要如此高度的实时性,对于某些业务来说,批处理或准实时分析可能已经足够。如果你处理的是小型数据集或简单查询,它可能有点大材小用。但对于需要通过实时分析进行商业决策和洞察的企业来说,StarRocks 或许是最佳解决方案,至于是否选择 StarRocks,应该基于对自身需求进行技术对比和测试,也要看企业对资源和长期战略进行深入评估。
“参考: https://zhuanlan.zhihu.com/p/532302941 https://docs.starrocks.io/docs/introduction/StarRocks_intro/ https://mp.weixin.qq.com/s/kEqyRO_aOnOnsROXllwA2