极速全场景 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

      本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41800.html

      如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

      相关文章

      计算机二级(C语言)考试高频考点总汇(二)—— 控制流、函数、数组和指针

      目录 六、控制流 七、函数 八、数组和指针 六、控制流 76. if 语句可以(嵌套), if 语句可以嵌套在另一个 if 语句内部,形成(嵌套的条件判断结构),用于处理更复杂的条件判断逻辑。 77. els…

      ECharts各类炫酷图表/3D柱形图

      一、前言 最近鸡米花实现了各类的炫酷的图表,有3D柱形图、双边柱形图以及异形柱形图,好了,直接上图: 二、效果图 一个个来吧,下面就是代码啦,注意,一下图表展示的宽高均为800px*300px 三、异形横…

      2024年3月全国计算机等级考试真题(二级C语言)

      😀 第1题 下列叙述中正确的是 A. 矩阵是非线性结构 B. 数组是长度固定的线性表 C. 对线性表只能作插入与删除运算 D. 线性表中各元素的数据类型可以不同 题目解析: A. 矩阵是非线性结构 错误。矩阵通常是二维数组,属…

      从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.2.3预训练任务设计:掩码语言建模(MLM)与下一句预测(NSP)

      👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 3.2.3 预训练任务设计:`掩码语言建模(MLM)`与下一句预测(NSP)1. 掩码语言建模(`Masked Language Modeling, MLM`)1.1 MLM的核心原理与数学形式1.2 高级掩码优化技术1.2.1 `Span Masking(SpanBER…

      DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例6,TableView16_06 分页表格拖拽排序

      前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

      大模型训练步骤:预训练;增量预训练;微调;RLHF或者DPO

      参考:https://blog.csdn.net/chengxuyuanyy/article/details/140949825 开发阶段分类 模型分成3个阶段: (1)、第一阶段:(Continue PreTraining)增量预训练,在海量领域文档数据上二次预训练GPT模型,以注入领域知识。 (2)、第二阶段: SFT(Sup…

      多网络选择路由(windows环境)

      问题 情况是这样的,公司环境需要连接网线才能连接内网,也能上网,但是网速贼慢,我就连接了自己的热点,但是还是很慢,但是一拔掉网线就快了,但是连不上内网环境了。 解决思路 我猜我访问外网时…

      idea解决properties中文乱码

      问题: 我的IDEA已经将文件的字符集设置成了UTF-8,但是中文在*.properties文件中还是会出现乱码,后来经同事指点修改了一项配置就ok了!话不多说,看下面的对比就清楚了。 设置方法: Settings -> Editor…

      BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab)

      BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab) 目录 BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多…

      V8内存的限制

      如大家所熟悉的,在一般的后端开发语言中,在基本的内存使用上没有什么限制,然而在 Node 中通过JavaScript 使用内存时就会发现只能使用部分内存(64 位系统写约 1.4GB,32 位系统下约为 0.7GB)。 在这样的限制…

      【RabbitMQ】

      课程背景 一.初始MQ 1.同步调用 2.异步调用 1.解耦合:如果需要扩展业务,那就扩呗,让扩展的服务去监听消息队列就可以了 2.无需等待:只管发消息,发完就不管了,干别的事去了 3.故障隔离:接收消息…

      emWin图片旋转

      图片取模: 源码: /* ********************************************************************************************************* * 声明图片 *********************************************************…

      ElasticSearch在Windows单节点部署及使用

      文章目录 初始化ES服务下载启动验证 Kibana可视化使用ES下载启动验证使用创建第一个索引添加文档查询文档 ES优点 初始化ES服务 下载启动 访问官网https://www.elastic.co/downloads/elasticsearch 点击Windows,开始下载elasticsearch-8.17.4-windows-x86_64.zip…

      Qt弹出新窗口并关闭(两个按钮)

      参考:Qt基础 练习:弹出新窗口并关闭的两种实现方式(两个按钮、一个按钮)_qt打开一个窗口另一个关闭-CSDN博客 实现:两个按钮,点击第一个按钮open window打开一个新窗口,点击第二个窗口close wi…

      今日 GitHub 热门项目大赏,你 pick 谁?

      GitHub 作为全球最大的开源代码托管平台,每天都有无数新奇且强大的项目涌现。今天就为大家精选几个不容错过的热门项目。 微软开源 Hyperlight Wasm:WebAssembly 的新力量 项目地址:hyperlight-wasm 微软开源的 Hyperlight Wasm&#xff0c…

      【区块链安全 | 第七篇】EVM概念详解

      文章目录 1. EVM 概述以太坊虚拟机(Ethereum Virtual Machine,EVM)的作用EVM 如何执行智能合约账户类型 2. EVM 体系结构栈(Stack)内存(Memory)存储(Storage)Gas 机制 3.…

      【C++】AVL树

      目录 前言平衡二叉树的定义AVL树的插入AVL树插入的大致过程更新平衡因子调整最小不平衡因子左单旋右单旋左右双旋右左双旋 AVL树的删除AVL树的查找 前言 前面我们在数据结构中学习了树,以及二叉树,还有二叉排序树,这节来学习平衡二叉树。 数…

      【洛谷题单】暴力枚举(上)

      【前情提要】 此文章包含洛谷题单的枚举题单,共14题,本篇7道题,主要分析思路,并通过这几道题目,进行总结有关枚举的内容。所以内容比较多,可以先收藏起来,慢慢看。 题单链接:暴力枚…

      JVM类加载过程详解

      文章目录 前言1.加载2.链接验证文件格式验证元数据验证字节码验证符号引用验证 准备解析 3.初始化4.类卸载 前言 类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段:加载(Loading)、验证&a…

      python之并发编程

      并发编程介绍 串行、并行与并发的区别 进程、线程、协程的区别 1. 进程 (Process) 定义:进程是操作系统为运行中的程序分配的基本单位。每个进程都有独立的地址空间和资源(如内存、文件句柄等)。特点: 进程是资源分配的基本单位…