平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用( 三 )


·StarRocks集群由FE和BE构成 , 可以使用MySQL客户端访问StarRocks集群 。
·FE接收MySQL客户端的连接 , 解析并执行SQL语句 , 管理元数据 , 执行SQL DDL命令 , 用Catalog记录库、表、分区 , tablet副本等信息 。
·BE管理tablet副本 , tablet是table经过分区分桶形成的子表 , 采用列式存储 。 BE受FE指导 , 创建或删除子表 。
·BE接收FE分发的物理执行计划并指定BE coordinator节点 , 在BE coordinator的调度下 , 与其他BE worker共同协作完成执行 。
·BE读本地的列存储引擎 , 获取数据 , 通过索引和谓词下沉快速过滤数据 。

平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用
文章图片

我们选择StarRocks主要基于以下几方面的考虑:
1.亚秒级查询延时
2.在高并发查询、多表关联等复杂多维分析场景有良好的性能表现
3.支持弹性扩展 , 扩容不影响线上业务 , 后台自动完成数据rebalance
4.集群中服务有热备 , 多实例部署 , 节点的宕机、下线、异常都不会影响集群服务的整体稳定性 。
5.支持物化视图和Online Schema Change
6.兼容MySQL协议 , 支持标准的SQL语法
性能测试
HData上的数据以多表关联为主 , 在这种场景下 , ClickHouse单机性能相比集群性能要好 , 因而在这里选取ClickHouse单机做对比 。 下面用3个测试用例分别对StarRocks和ClickHouse进行对比 , 我们用6台虚拟机构建成了一个集群 , 3台FE、BE混部 , 3台BE , 机器配置如下:

平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用
文章图片

软件版本:StarRocks标准版1.16.2
ClickHouse配置如下:

平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用
文章图片

软件版本:ClickHouse20.8

平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用
文章图片

测试用例1

平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用
文章图片

·StarRocks用时:547ms
·ClickHouse用时:1814ms
测试用例2

平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用
文章图片

·StarRocks用时:126ms
·ClickHouse用时:142ms
测试用例3

平台|StarRocks VS ClickHouse,携程大住宿智能数据平台的应用
文章图片

·StarRocks用时:387ms
·ClickHouse用时:884ms
可以看到 , StarRocks的查询性能完全不逊色于ClickHouse , 甚至更快 。
数据更新机制
StarRocks根据摄入数据和实际存储数据之间的映射关系 , 将数据表的明细表 , 聚合表和更新表 , 分别对应有明细模型 , 聚合模型和更新模型 。

推荐阅读