当前位置: 首页 > news >正文

极速全场景 MPP数据库starrocks介绍


目录

一、引子

二、起源

(一)前身

(二)定位

三、特点

(一)高性能架构

(二)实时分析

(三)高并发与扩展性

(四)兼容性与生态

四、架构

五、核心功能

六、同类型产品分析


一、引子

       官网:StarRocks | A High-Performance Analytical Database

       中文官网:StarRocks | StarRocks

       starrocks是我们最近几年才使用的,我们目前的组合是flink+paimon+starrocks。今天先说下starrocks,如有出入,欢迎批评指正。

       我们使用starrocks的目的主要是用来提高查询效率,因为其查询速度比较快。StarRocks 号称是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。

二、起源

(一)前身

       原名 DorisDB,是基于 Apache Doris(原百度 Palo)分支优化而来,由鼎石科技团队维护,2021年正式更名为 StarRocks。

(二)定位

       解决传统 OLAP 系统在高并发、实时性、复杂查询等方面的瓶颈,提供一体化的实时分析解决方案。


    三、特点

    (一)高性能架构

    • MPP(大规模并行处理)架构:将查询任务分布式执行,充分利用集群资源。
    • 向量化执行引擎:通过 SIMD 指令批量处理数据,提升 CPU 利用率。
    • CBO(成本优化器):基于统计信息的智能查询优化,自动选择最优执行计划。
    • 列式存储:高效压缩数据,减少 I/O 开销,适合聚合查询。

    (二)实时分析

    • 秒级数据摄入:支持 Kafka、Flink 等实时数据接入,数据写入即可查。
    • 更新能力:支持 Upsert(Update+Insert)操作,适应频繁更新的场景(如用户行为分析)。

    (三)高并发与扩展性

    • 弹性扩缩容:计算与存储分离,可独立扩展节点,支持 PB 级数据。
    • 多副本机制:通过数据多副本保障高可用,自动故障恢复。

    (四)兼容性与生态

    • MySQL 协议兼容:可直接使用 MySQL 客户端或工具(如 BI 软件)连接。
    • 多数据源对接:支持 Hive、Iceberg、Hudi 等数据湖表,以及 Elasticsearch 联邦查询。
    • 物化视图:预计算加速高频查询,自动匹配最优视图。


    四、架构

         StarRocks 采用无状态架构,主要组件包括:

    1. FEFrontend
      • 负责元数据管理、查询解析、调度和优化。
      • 主从架构(Leader/Follower),通过 Berkeley DB 实现元数据高可用。
    2. BEBackend
      • 数据存储与计算节点,处理查询执行和数据压缩。
      • 数据按分片(Tablet)分布式存储,支持多副本。
    3. Broker(可选):
      • 用于访问外部存储系统(如 HDFS、S3)。

    五、核心功能

    • 实时数据写入:支持 Stream Load、Routine Load 等方式实时导入数据。
    • 复杂查询优化:高效执行多表 JOIN、子查询、窗口函数等复杂 SQL。
    • 资源隔离:通过资源组(Resource Group)限制查询资源,避免大查询影响线上业务。
    • 数据湖分析:直接查询 Hive、Iceberg 等外部表,无需数据迁移。

      六、同类型产品分析

      特性

      StarRocks

      ClickHouse

      Apache Doris

      实时更新

      支持 Upsert

      仅追加

      支持

      高并发

      支持数千 QPS

      低并发

      中等并发

      复杂查询优化

      CBO 优化器

      较弱

      基于规则优化

      生态兼容性

      多数据源、MySQL 协议

      需定制开发

      类似 StarRocks

      相关文章:

    • sqlmap 源码阅读与流程分析
    • Kafka 的延迟队列、死信队列和重试队列
    • 蓝桥杯经典题解:班级活动分组问题的深度解析与优化实现
    • 【C++ 真题】P1109 学生分组
    • [Vue2]v-bind操作class
    • 5.3 MVVM模型
    • SSH 公私钥对使用指南
    • Flutter项目之页面实现以及路由fluro
    • (每日一道算法题)最长回文子串
    • 15三数之和解题记录
    • 使用 Flask 框架添加多个AI模型的API进行对话
    • 【读论文】——基于高光谱的玉米籽粒黄曲霉侵染方法研究
    • codis分布式集群
    • 【LeetCode 热题 100】解答汇总
    • 【NLP 50、损失函数 KL散度】
    • 第2.5节 iOS 覆盖率数据的采集
    • JAVA接口调用限速器
    • DQL语句-分组函数-查询
    • 7、linux c 进程通信
    • 深入探索 C++20 中的 std::make_obj_using_allocator
    • 做优化很好的网站/google adwords关键词工具
    • 修改 网站 数据库/网站策划方案
    • 公司网站建设佛山哪家/新闻发布平台
    • 网站建设超链接字体变色代码/百度深圳总部
    • 怎么查询网站的设计公司/企业管理培训课程报名
    • 代做cad平面图的网站/网络营销推广方式有哪些