当前位置: 首页 > 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

      相关文章:

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

      目录 一、引子 二、起源 (一)前身 (二)定位 三、特点 (一)高性能架构 (二)实时分析 (三)高并发与扩展性 (四)兼容性与生态 …...

      MySQL 表连接(内连接与外连接)

      🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 1、表连接的核心概念 1.1 为什么需要表连接? 2、内连接&a…...

      重学Java基础篇—什么是快速失败(fail-fast)和安全失败(fail-safe)?

      快速失败(fail-fast) 和 安全失败(fail-safe) 是两种不同的迭代器设计策略,主要用于处理集合(如 List、Map)在遍历过程中被修改的场景。 它们的核心区别在于对并发修改的容忍度和实现机制。 1…...

      Redis 集群配置

      在币圈交易所&#xff0c;Redis 集群的节点数量和内存大小通常根据交易所的规模、访问量、并发需求等因素来决定。一般来说&#xff0c;可以按照以下标准配置&#xff1a; Redis 集群节点数量 小型交易所&#xff08;日活 < 10万&#xff0c;QPS < 10k&#xff09;&…...

      容器C++

      string容器 string构造函数 #include<iostream> using namespace std; #include<string.h> void test01() {string s1;//默认构造const char* str "hello world";string s2(str);//传入char*cout << "s2" << s2 << endl;s…...

      Git 基础入门:从概念到实践的版本控制指南

      一、Git 核心概念解析 1. 仓库&#xff08;Repository&#xff09; Git 的核心存储单元&#xff0c;包含项目所有文件及其完整历史记录。分为本地仓库&#xff08;开发者本地副本&#xff09;和远程仓库&#xff08;如 GitHub、GitLab 等云端存储&#xff09;&#xff0c;支持…...

      蓝桥杯真题_小蓝和小桥的讨论

      小蓝和小桥的讨论 问题描述 小蓝和小桥是一所高中的好朋友&#xff0c;他们正在讨论下一次的课程。这节课需要讨论 nn 个主题&#xff0c;第 ii 个主题对老师来说有 aia**i 的趣味度&#xff0c;对学生来说有 bib**i 的趣味度。 小蓝认为&#xff0c;如果一个主题对老师来说…...

      【C++游戏引擎开发】《线性代数》(2):矩阵加减法与SIMD集成

      一、矩阵加减法数学原理 1.1 定义 ​逐元素操作:运算仅针对相同位置的元素,不涉及矩阵乘法或行列变换。​交换律与结合律: 加法满足交换律(A + B = B + A)和结合律( ( A + B ) + C = A + ( B + C ) )。 ​减法不满足交换律(A − B ≠ B − A)。1.2 公式 ​ C i j = …...

      HTML应用指南:利用POST请求获取全国小鹏汽车的充电桩位置信息

      在新能源汽车快速发展的背景下&#xff0c;充电桩的分布和可用性成为影响用户体验的关键因素之一。随着全球对环境保护意识的增强以及政府对新能源政策的支持&#xff0c;越来越多的消费者倾向于选择电动汽车作为日常出行工具。然而&#xff0c;充电设施是否完备、便捷直接影响…...

      工具介绍《WireShark》

      Wireshark 过滤命令中符号含义详解 一、比较运算符 Wireshark 支持两种比较运算符语法&#xff1a;英文缩写&#xff08;如 eq&#xff09;和 C语言风格符号&#xff08;如 &#xff09;&#xff0c;两者功能等价。 符号&#xff08;英文缩写&#xff09;C语言风格符号含义示…...

      深入理解 Linux 中磁盘空间驱动的编写:从原理到实践

      在编写 Linux 内核中的磁盘空间驱动时&#xff0c;理解不同类型的存储设备及其在内核中的工作模式至关重要。常见的存储设备主要分为两类&#xff1a;采用 MTD&#xff08;Memory Technology Device&#xff09;模式的原始闪存设备&#xff08;如 NAND、NOR Flash&#xff09;&…...

      flutter android端抓包工具

      flutter做的android app&#xff0c;使用fiddler抓不了包&#xff0c;现介绍一款能支持flutter的抓包工具Reqable&#xff0c;使用方法如下&#xff1a; 1、下载电脑端安装包 下载地址为【https://reqable.com/zh-CN/download/】 2、还是在上述地址下载 android 端apk&#xf…...

      知识周汇 | 用 matplotlib 轻松绘制折线图、散点图、柱状图、直方图

      目录 前言 折线图 散点图 柱状图 直方图 组合图&#xff1a;柱状图和折线图 1. 导入库 2. 定义组合图函数 3. 设置中文字体和样式 4. 创建画布和子图 5. 绘制柱状图 6. 绘制折线图 7. 美化图表 8. 保存和显示图表 9. 调用函数 总结 前言 matplotlib 是 Python…...

      Ribbon负载均衡的深度解析与应用

      在微服务架构中&#xff0c;服务之间的调用频繁且复杂&#xff0c;因此负载均衡显得尤为重要。Spring Cloud生态系统中&#xff0c;Ribbon作为一个客户端负载均衡器&#xff0c;扮演着关键的角色。它不仅能提高系统的响应速度&#xff0c;还能确保系统的稳定性和可用性。接下来…...

      Neo4j GDS-06-neo4j GDS 库中社区检测算法介绍

      neo4j apoc 系列 Neo4j APOC-01-图数据库 apoc 插件介绍 Neo4j APOC-01-图数据库 apoc 插件安装 neo4j on windows10 Neo4j APOC-03-图数据库 apoc 实战使用使用 Neo4j APOC-04-图数据库 apoc 实战使用使用 apoc.path.spanningTree 最小生成树 Neo4j APOC-05-图数据库 apo…...

      Android 删除aar中的一个类 aar包冲突 aar类冲突 删除aar中的一个包

      Duplicate class com.xxxa.naviauto.sdk.listener.OnChangeListener found in modules jetified-xxxa-sdk-v1.1.2-release-runtime (:xxx-sdk-v1.1.2-release:) and jetified-xxxb-sdk-1.1.3-runtime (:xxxb-sdk-1.1.3:) A.aar B.aar 有类冲突&#xff1b; 使用 exclude 排除本…...

      【老电脑翻新】华硕A456U(换电池+换固态+光驱换机械+重装系统+重装系统后开始菜单失灵问题解决)

      前言 电脑华硕A456U买来快10年了&#xff0c;倒是还能用&#xff0c;就是比较卡&#xff0c;cpu占比总是100%&#xff0c;之前已经加过内存条了。想要不换个固态看看。 省流&#xff1a;没太大效果。 记录一下拆机&换固态的过程 准备 西部数据固态硬盘480G WD Green S…...

      Unity 简单使用Addressables加载SpriteAtlas图集资源

      思路很简单&#xff0c;传入图集名和资源名&#xff0c;利用Addressables提供的异步加载方式从ab包中加载。加载完成后存储进缓存字典里&#xff0c;以供后续使用。 添加引用计数&#xff0c;防止多个地方使用同一图集时&#xff0c;不会提前释放 using UnityEngine; using U…...

      stable diffusion本地安装

      1. 基本环境准备 安装conda 环境 pytorch基础学习-CSDN博客 创建虚拟环境&#xff1a; conda create -n sd python3.10 一定要指定用3.10&#xff0c;过高的版本会提示错误&#xff1a; 激活启用环境&#xff1a; conda activate sd 设置pip国内镜像源&#xff1a; pip conf…...

      MQ 如何保证数据一致性?

      大家好&#xff0c;我是苏三&#xff0c;又跟大家见面了。 前言 上个月&#xff0c;我们有个电商系统出了个灵异事件&#xff1a;用户支付成功了&#xff0c;但订单状态死活不改成“已发货”。 折腾了半天才定位到问题&#xff1a;订单服务的MQ消息&#xff0c;像人间蒸发一…...

      spring @Autowired对属性、set方法,构造器的分别使用,以及配合 @Autowired 和 @Qualifier避免歧义性的综合使用案例

      代码结构 依赖注入 在Spring IoC容器的概念中&#xff0c;主要是使用依赖注入来实现Bean之间的依赖关系的 举例 例如&#xff0c;人类&#xff08;Person&#xff09;有时候会利用动物&#xff08;Animal&#xff09;来完成一些事情&#xff0c;狗&#xff08;Dog&#xff0…...

      Ubuntu 系统上完全卸载 Docker

      以下是在 Ubuntu 系统上完全卸载 Docker 的分步指南 一.卸载验证 二.卸载步骤 1.停止 Docker 服务 sudo systemctl stop docker.socket sudo systemctl stop docker.service2.卸载 Docker 软件包 # 移除 Docker 核心组件 sudo apt-get purge -y \docker-ce \docker-ce-cli …...

      国际机构Gartner发布2025年网络安全趋势

      转自&#xff1a;中国新闻网 中新网北京3月14日电 国际机构高德纳(Gartner)14日发布的消息称&#xff0c;网络安全和风险管理在2025年“面临挑战与机遇并存的局面”&#xff0c;“实现转型和提高弹性”对确保企业在快速变化的数字世界中&#xff0c;实现安全且可持续的创新至关…...

      设计秒杀系统(高并发的分布式系统)

      学海无涯&#xff0c;志当存远。燃心砺志&#xff0c;奋进不辍。 愿诸君得此鸡汤&#xff0c;如沐春风&#xff0c;事业有成。 若觉此言甚善&#xff0c;烦请赐赞一枚&#xff0c;共励学途&#xff0c;同铸辉煌&#xff01; 思路 处理高并发 流量削峰&#xff1a;限流&#xf…...

      C# 打印模板设计-ACTIVEX打印控件-多模板加载

      一、启动软件 using System; using System.Collections.Generic; using System.Windows.Forms; using System.Data;namespace Print {static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){//使用模板前必须…...

      华为HCIE方向那么多应该如何选择?

      在华为认证体系里&#xff0c;HCIE作为最高等级的认证&#xff0c;是ICT领域专业实力的有力象征。HCIE设置了多个细分方向&#xff0c;这些方向宛如不同的专业赛道&#xff0c;为期望在ICT行业深入发展的人提供了丰富的选择。今天&#xff0c;咱们就来好好聊聊华为HCIE方向的相…...

      五子棋游戏

      五子棋 - deveco <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>五子棋 - deveco</title>…...

      Vue3.5 企业级管理系统实战(十):面包屑导航组件

      1 breadcrumb 组件 1.1 安装插件 path-to-regexp 首先&#xff0c;我们需要安装插件 path-to-regexp&#xff0c;以便在下面的面包屑组件中对路由地址进行解析。 path-to-regexp是一个 JavaScript 库&#xff0c;可将路径字符串转化为正则表达式&#xff0c;广泛用于 Web 开发…...

      【python】OpenCV—Hand Detection

      文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、参考6、其它手部检测和手势识别的方案 更多有趣的代码示例&#xff0c;可参考【Programming】 1、功能描述 基于 opencv-python 和 mediapipe 进行手部检测 2、代码实现 导入必要的库函数 import cv2 import media…...

      [ComfyUI] SDXL Prompt Styler 自定义节点的作用解析

      1. SDXL Prompt Styler 的位置与基本功能 在 ComfyUI 的 “新建节点” → “实用工具” 下,可以找到 Style 节点(SDXL Prompt Styler)。该节点的主要作用是对输入的描述进行结构化处理,并在转换为 Stable Diffusion XL (SDXL) 提示词时,自动补充风格相关的内容,使提示词…...

      Oracle-rman restore遭遇RMAN-03002与ORA-19563

      文章目录 在原DB上检查是否有重复的文件名&#xff1a;查看rman恢复的日志修正重名部分重新执行rman恢复结论&#xff1a; 在 RMAN 恢复过程中&#xff0c;遇到RMAN-03002连同ORA-19563:错误。 操作是将 Oracle 10.0.5的数据库备份从 RMAN備份恢复到另一台测试主机的同一个目录…...

      FPGA中串行执行方式之使用时钟分频或延迟的方式

      FPGA中串行执行方式之使用时钟分频或延迟的方式 在FPGA设计中,​时钟分频和延迟是两种常用的技术,用于控制信号的时序或调整信号的频率。它们可以用来实现简单的串行逻辑、状态转移或其他需要时间控制的场景。 时钟分频(Clock Division) 基本原理:时钟分频是通过将输入…...

      Dubbo 全面解析:从 RPC 核心到服务治理实践

      一、分布式系统与 RPC 框架概述 在当今互联网时代&#xff0c;随着业务规模的不断扩大&#xff0c;单体架构已经无法满足高并发、高可用的需求&#xff0c;分布式系统架构成为主流选择。而在分布式系统中&#xff0c;远程服务调用&#xff08;Remote Procedure Call&#xff0…...

      JavaScript 调试入门指南

      JavaScript 调试入门指南 一、调试准备阶段 1. 必备工具配置 浏览器套件:安装最新Chrome102+,开启实验性功能(地址栏输入chrome://flags/#enable-devtools-experiments)编辑器集成:VS Code安装以下扩展: JavaScript Debugger:支持浏览器与Node.js双端调试Error Lens:实…...

      不能将下载行为传输到IDM

      目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 安装IDM后&#xff0c;调用IDM下载软件显示&#xff1a;不能将下载行为传输到IDM&#xff0c;Error 0x80029C4A 二、原因分析 可能是识别浏览器插件不到&#xff0c;或者本地的插件版本不对导致的 三…...

      spring security 认证流程分析

      Spring Security 认证流程分析 Spring Security 的认证流程是一个模块化且可扩展的过程&#xff0c;核心围绕 过滤器链 和 认证组件 协作实现。以下是详细流程分析&#xff1a; 1. 请求拦截与过滤器链 • 入口&#xff1a;所有 HTTP 请求经过 Spring Security 的过滤器链。 •…...

      Docker Compose 部署 Loki

      官方文档&#xff1a;https://grafana.com/docs/loki/latest/setup/install/docker/ 环境准备 安装 Docker和Docker Compose 参考&#xff1a;https://qiangsh.blog.csdn.net/article/details/125375187 创建loki目录 mkdir -p /opt/loki/config mkdir -p /data/monitoring…...

      nuxt3 seo优化

      在 Nuxt3 中&#xff0c;通过 nuxtjs/seo、nuxtjs/sitemap 和 nuxtjs/robots 模块可以生成包含动态链接的站点地图&#xff08;sitemap.xml&#xff09;&#xff0c;但具体是“实时生成”还是“部署时生成”&#xff0c;取决于你的配置方式和数据更新频率。以下是具体分析&…...

      CentOS 8 Stream 配置在线yum源参考 —— 筑梦之路

      CentOS 8 Stream ISO 文件下载地址&#xff1a;http://mirrors.aliyun.com/centos-vault/8-stream/isos/x86_64/CentOS-Stream-8-20240603.0-x86_64-dvd1.isoCentOS 8 Stream 网络引导ISO 文件下载地址&#xff1a;http://mirrors.aliyun.com/centos-vault/8-stream/isos/x86_6…...

      uniapp 在app上 字体如何不跟着系统字体大小变

      在UniApp开发中&#xff0c;默认情况下App的字体可能会跟随系统字体设置而变化。如果你希望保持固定的字体样式&#xff0c;不随系统字体设置改变&#xff0c;可以采用以下几种方法&#xff1a; 方法一&#xff1a;全局CSS设置 在App.vue的样式中添加以下CSS&#xff1a; /*…...

      leetcode141.环形链表

      直接快慢指针&#xff0c;如果有环&#xff0c;那么快指针一定会在成环的起始点与慢指针相遇 /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/ pu…...

      【HTML5游戏开发教程】零基础入门合成大西瓜游戏实战 | JS物理引擎+Canvas动画+完整源码详解

      《从咖啡杯到财务自由&#xff1a;一个程序员的合成之旅——当代码遇上物理引擎的匠心之作》 &#x1f31f; 这是小游戏开发系列的第四篇送福利文章&#xff0c;感谢一路以来支持和关注这个项目的每一位朋友&#xff01; &#x1f4a1; 文章力求严谨&#xff0c;但难免有疏漏之…...

      【C#语言】深入理解C#多线程编程:从基础到高性能实践

      文章目录 ⭐前言⭐一、多线程的本质价值&#x1f31f;1、现代计算需求&#x1f31f;2、C#线程演进史 ⭐二、线程实现方案对比&#x1f31f;1、传统线程模型&#x1f31f;2、现代任务模型&#xff08;推荐&#xff09;&#x1f31f;3、异步编程范式 ⭐三、线程安全深度解析&…...

      短信验证码安全需求设计

      背景&#xff1a; 近期发现部分系统再短信充值频繁&#xff0c;发现存在恶意消耗短信额度现象&#xff0c;数据库表排查&#xff0c;发现大量非合法用户非法调用短信接口API导致额度耗尽。由于系统当初设计存在安全缺陷&#xff0c;故被不法分子进行利用&#xff0c;造成损失。…...

      selenium实现自动登录项目(5)

      1、163邮箱自动登录功能 遇到的问题&#xff1a; 1、登录页面&#xff0c;在定位表单时候&#xff0c;采用id&#xff0c;xpath&#xff0c;css selector都无法定位成功&#xff0c;因为id后面有个随机生成的数字&#xff08;//*[id"x-URS-iframe1741925838640.6785&quo…...

      多 线 程

      一.基本知识 线程&#xff1a;线程是操作系统能够运行调度的最小单位 进程&#xff1a;进程是程序执行实体 多线程应用场景&#xff1a;拷贝、迁移大文件&#xff0c;加载大量的资源文件 并发&#xff1a;有多个指令在单个cpu上交替执行 并行&#xff1a;在同一时刻人&…...

      C#:类型定义中使用‌问号(?)

      在 C# 中&#xff0c;类型定义中的‌问号&#xff08;?&#xff09;‌主要用于控制类型的可空性&#xff0c;但具体行为因类型&#xff08;值类型或引用类型&#xff09;和 C# 版本而异。以下是清晰分类的说明&#xff1a; 一、可空值类型&#xff08;T?&#xff0c;适用于所…...

      基于飞腾FT2000+服务器主板与DeepSeek大模型的国产化AI算力探索

      随着国产化处理器和AI技术的快速发展&#xff0c;自主可控的算力解决方案日益受到关注。国内大模型技术飞速发展&#xff0c;Deepseek等大模型在自然语言处理、计算机视觉等领域展现出强大的能力。面对大模型的计算需求&#xff0c;服务器硬件的国产化成为重要趋势。 飞腾FT20…...

      知识篇 | Oracle的 TEMP表空间管理和优化

      Oracle临时表空间&#xff08;TEMP&#xff09;是数据库中用于存储会话级临时数据的核心组件&#xff0c;主要用于支持需要中间结果集的操作&#xff08;如排序、哈希连接&#xff09;。其数据在事务结束或会话终止后自动释放&#xff0c;不持久化存储。 核心特点&#xff1a;…...

      鸿蒙进行视频上传,使用 request.uploadFile方法

      一.拉起选择器进行视频选择&#xff0c;并且创建文件名称 async getPictureFromAlbum() {// 拉起相册&#xff0c;选择图片let PhotoSelectOptions new photoAccessHelper.PhotoSelectOptions();PhotoSelectOptions.MIMEType photoAccessHelper.PhotoViewMIMETypes.VIDEO_TY…...