应用场景

StarRocks可以满足企业级用户的多种分析需求。本文介绍StarRocks的应用场景及其解决方案。

适用场景

image

OLAP多维分析

  • 用户行为分析
  • 用户画像、标签分析、圈人
  • 高维业务指标报表
  • 自助式报表平台
  • 业务问题探查分析
  • 跨主题业务分析
  • 财务报表
  • 系统监控分析

实时数仓

  • 电商大促数据分析
  • 教育行业的直播质量分析
  • 物流行业的运单分析
  • 金融行业绩效分析、指标计算
  • 广告投放分析
  • 管理驾驶舱
  • 探针分析APM(Application Performance Management)

高并发查询

  • 广告主报表分析
  • 零售行业渠道人员分析
  • SaaS行业面向用户分析报表
  • Dashboard多页面分析

统一分析

  • 通过使用一套系统解决多维分析、高并发查询、预计算、实时分析查询等场景,降低系统复杂度和多技术栈开发与维护成本。

  • 使用StarRocks统一管理数据湖和数据仓库,将高并发和实时性要求很高的业务放在StarRocks中进行分析,也可以使用External Catalog和外部表进行数据湖上的分析。

典型场景的解决方案

OLAP通用场景解决方案

image
  • 业务背景:该方案适用于多种业务场景,包括GMV、订单、物流、客户分析、推荐系统、用户画像场景。支持离线导入和实时导入两种方式来处理数据。

  • 原有解决方案:通过多种OLAP引擎满足不同的场景。烟囱式搭建各自业务,导致运维难度大,开发人员需要投入大量的时间和精力。

  • 统一OLAP引擎:使用StarRocks统一OLAP引擎来满足各类分析需求。相较于原有解决方案,我们的解决方案运维更加简单,并且使用MySQL协议,可以对接各种BI工具,从而实现数据的快速分析和处理。

实时数据分析场景解决方案

image

步骤如下:

  1. 实时摄入:通过直接读取Kafka数据来实现。提供了Flink-Connector来支持Flink数据流的直接写入,并保证了exactly-once语义。此外,还支持Flink CDC来捕捉TP数据更新,并实时地将结果更新到StarRocks中。

  2. 数据分析:实现了实时数据分析生成的数据可以直接用于Serving,从而实现了实时和离线数据的统一融合。

  3. 实时数据建模:提供了实时数据建模聚合表,以支持实时聚合能力。强大的引擎和优化器保证了数据库在实时数据建模时的高效性。

  4. 实时更新:采用了delete-and-insert的实时更新策略,且在读取时无需进行主键合并,相较于采用了merge-on-read(unique)的合并策略,性能提升了3~15倍。

湖仓分析场景解决方案

  • 查询层:复用了当前StarRocks的CBO和查询引擎能力,使得查询计算性能达到了Trino的3~5倍。

  • 元数据管理:

    • 支持Multi-Catalog管理,无缝对接HMS,同时支持自定义Catalog,便于和云厂商的DLF对接。

    • 支持通用的Parquet、ORC、CSV等标准格式,实现了延迟物化和小文件合并读写。

    • 支持多种数据湖格式,例如Hudi、Iceberg、DeltaLake和Paimon。

image

步骤如下:

  1. 实时摄入:屏蔽了底层数据源的细节,支持异构数据源数据联合分析,同时支持实时和离线数据的联合分析。

  2. 查询加速:采用了就近计算策略,例如表达式下推和聚合下推,以及分部署读取/数据源针对性优化策略。支持向量化解释ORC、Parquet格式,字典过滤、延迟物化等技术。

  3. 测试结果:进行了TPC-H和Hive查询等测试,与Presto(OR)相比,在同等条件下,性能提升了3~5倍以上,并且仅使用Presto资源的三分之一即可获得相同的性能体验。