轻喜到家基于 EMR-StarRocks 构建实时湖仓分析平台实践

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 本文从轻喜到家的历史技术架构与痛点问题、架构升级需求与 OLAP 选型过程、最新技术架构及落地场景应用等方面,详细介绍了轻喜到家基于 EMR-StarRocks 构建实时湖仓分析平台实践经验。

2024年1月20日下午,轻喜到家大数据技术经理徐金龙在"阿里云 x StarRocks 云上极速湖仓"深圳 Meetup 上分享基于 EMR-StarRocks 构建实时湖仓分析平台实践



深圳轻喜到家科技有限公司是互联网+到家服务的创新型企业,在全国35个城市布局,在职员工数万人。轻喜到家基于互联网、物联网、AI人工智能的技术创新,结合中国家庭高品质、多样化的生活场景,打造了中国领先的家庭生活服务平台,为600万+家庭创造品质生活,提供全生命周期的到家服务。


历史架构介绍与痛点

轻喜到家使用 CDH 自建大数据平台,基于 Kudu+Impala 进行 OLAP 分析。由于数据来源复杂,涵盖场景较多,随着数据量增大,当前架构出现越来越多痛点问题:自建 CDH 集群运维成本高、权限控制较复杂、集群抖动频繁;Impala 内存溢出,资源开销没有好的优化方案;实时计算需求增多,T+1无法满足时效性要求;无法覆盖 OLAP 全场景,数据更新慢,查询 QPS 高。




客户具体需求与技术选型

从业务需求上,轻喜到家需要搭建计算能力强,查询速度快,运维成本低,方便易上手的实时分析平台:亚秒级的数据查询延迟;支持大宽表以及多表 join;多种数据模型设计;支持与 Hadoop 生态圈适配;支持 update、精准去重能力;具备高并发的能力;支持数据的流式和批式写入;支持标准化的 SQL。



根据业务需求,轻喜到家对比了 StarRocks、ClickHouse、Kylin 三种引擎之后,凭借 StarRocks 查询延迟低,并发能力好,横向扩展容易、维护简单,支持流批处理 ,优秀的 Join 能力等,最终选择基于 EMR StarRocks 构建实时分析平台。




EMR  Serverless StarRocks 主要技术优势

  • 查询性能

StarRocks 最大的优势就是查询性能。主要得益于列存,高效的 IO,高效的编码的存储,丰富的索引加速(包括前缀索引、Bitmap 倒排索引),物化视图的加速查询,全面的向量化,以及它的 MPP 的架构,通过并行执行中间结果不落盘的方式,能够让结果更快地跑出来,并且能够在集群规模扩大的时候带来性能的线性提升。


  • 多数据模型设计

丰富的模型,主要用到的是更新模型、主键模型,我们的很多场景依赖于实时 CDC 的数据,它对 CDC 流有着更好的实时更新性能。另外,它原生的分区分桶设计架构,能够利用到数据的冷热的存储,能够利用分区裁剪的性能去更好地提升查询性能。


  • 物化视图、外表

丰富的数据查询手段,数据仓库环境中的应用程序经常基于多个大表执行复杂查询,通常涉及多表之间数十亿行数据的关联和聚合。处理此类查询通常会大量消耗系统资源和时间,造成极高的查询成本。


轻喜到家现有技术架构及落地场景应用


现在 StarRocks 最重要的一个场景,就是 BI 报表、多维分析的场景。还是一个 Lambada 架构,会有一些原始数据,比如业务 DB,有一些业务的日志埋点数据,实时这部分链路是 Kafka 到 Flink,最终到 StarRocks,是分钟级的数据;离线部分是 Hive 架构,主要是以天级和小时级的数据放到 StarRocks,上层去对接报表的应用。


原本是用 MySQL 做 BI 报表的底座,但是在数据规模超到超过百万,遇到一些高技术维度、多维度的数据的时候,查询性能就会比较慢。所以用 StarRocks 替代 MySQL 来做多维分析,带来的提升非常明显。


同时,我们也有一些基于客户端的用户行为埋点数据。所以我们用 StarRocks 把用户行为分析进行了重构。利用到 StarRocks 查询加速的能力,去给用户提供事件的聚合数据,能提供 UserTrack 的一个能力。


基于 EMR StarRocks,轻喜到家搭建了实时湖仓分析平台,实现了整体技术架构的升级,为业务发展提供了强大的技术底座支撑。最后感谢 EMR StarRocks 团队同学的支持,希望未来继续紧密合作,合作共赢。





欢迎钉钉扫码加入EMR Serverless StarRocks交流群(搜索钉钉群号加群:24010016636)

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
8天前
|
分布式计算 大数据 MaxCompute
EMR Remote Shuffle Service实践问题之阿里云RSS的开源计划内容如何解决
EMR Remote Shuffle Service实践问题之阿里云RSS的开源计划内容如何解决
|
8天前
|
分布式计算 测试技术 调度
EMR Remote Shuffle Service实践问题之集群中落地阿里云RSS如何解决
EMR Remote Shuffle Service实践问题之集群中落地阿里云RSS如何解决
|
8天前
|
SQL 测试技术 流计算
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
|
8天前
|
缓存
EMR Remote Shuffle Service实践问题之Mapper的首次PushData请求如何解决
EMR Remote Shuffle Service实践问题之Mapper的首次PushData请求如何解决
|
8天前
|
存储 分布式计算 对象存储
EMR Remote Shuffle Service实践问题之混合Cosco和Zeus的设计如何解决
EMR Remote Shuffle Service实践问题之混合Cosco和Zeus的设计如何解决
|
8天前
|
存储 RDMA
EMR Remote Shuffle Service实践问题之改进Shuffle性能如何解决
EMR Remote Shuffle Service实践问题之改进Shuffle性能如何解决
|
8天前
|
存储 SQL 弹性计算
EMR Remote Shuffle Service实践问题之性能和稳定性问题如何解决
EMR Remote Shuffle Service实践问题之性能和稳定性问题如何解决
|
5天前
|
OLAP
云端问道5期-基于Hologres轻量高性能OLAP分析陪跑班获奖名单公布啦!
云端问道5期-基于Hologres轻量高性能OLAP分析陪跑班获奖名单公布啦!
353 2
|
10天前
|
搜索推荐 OLAP 流计算
OneSQL OLAP实践问题之基于 Flink 打造流批一体的数据计算平台如何解决
OneSQL OLAP实践问题之基于 Flink 打造流批一体的数据计算平台如何解决
23 1
|
10天前
|
SQL 存储 OLAP
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
20 1
下一篇
云函数