StarRocks 名词解释:把缩写一个一个拆开

StarRocks 研究报告里缩写太多(MPP、CBO、FE、CN、MoR、2PC……),要一篇讲人话的名词解释。

文本版 · 供搜索与朗读

StarRocks 名词解释:把缩写一个一个拆开

数据仓库 · OLAP 引擎 · 名词解释

StarRocks 名词解释:把缩写一个一个拆开

StarRocks 研究报告里缩写太多(MPP、CBO、FE、CN、MoR、2PC……),要一篇讲人话的名词解释。

目 录

开场:一家只做现问现答的饭店
三个总词:OLAP、OLTP、MPP
引擎三件套:向量化、CBO、Pipeline
架构词:FE、BE、CN 和那本账
表模型词:四种记账法
提速词:从翻账本到预制菜
装货词:货怎么进仓
杂项:profile、TPC-DS、external catalog
收摊

0. 开场:一家只做现问现答的饭店

那份报告读起来费劲,症结不在内容,在缩写密度。MPP、CBO、FE、CN、MoR、2PC——二十几个黑话一锅炖。我拆一遍给你看,全挂在一个画面上:一家专门伺候报表的饭店。你开经销店,年底想问"华东区哪个经销商的洗护品类卖得最好",这句话扔进饭店,几秒内端菜。整篇报告讲的就是这家店怎么修的。

先给个尺度感。一张流水表一年攒下来十亿行,打印出来能从一楼摞到三楼。所谓 OLAP 引擎,就是能在这摞纸上几秒钟翻出答案的后厨。

1. 三个总词:OLAP、OLTP、MPP

OLAP(On-Line Analytical Processing,联机分析处理):"现问现答"这个营业模式本身。特点是一问扫一大片——问年度销量,它要把全年账本都过一遍。

OLTP(On-Line Transaction Processing,联机事务处理):它的反面兄弟,管"一次动一行"——收银台开一张单、改一条库存。ERP、POS 机干的是这个。一个伺候老板的问题,一个伺候柜台的笔。

MPP(Massively Parallel Processing,大规模并行处理):多个灶台同时炒。一个大问题切成小块,十台机器各炒各的,端上来再拼盘。饭店规模上去了,单灶必死。

2. 引擎三件套:向量化、CBO、Pipeline

向量化执行:算账的方式。老式引擎一行一行算,向量化一列一列、一批一批算——CPU 一次指令吃一组数,流水线上货盘搬运。就这一个改动,常能有数倍差距。

CBO(Cost-Based Optimizer,基于代价的优化器):点菜之后、开炒之前,有个老练的领班盘算"先炒哪锅、哪两锅并灶"。他按代价估——谁的行数少、谁过滤得狠、哪条路要跨机器搬数据——最后挑便宜的那条走。与之相对的老办法叫 RBO(规则优化),背死口诀,不看行情。

Pipeline 执行引擎:流水线作业。数据像传送带上的零件,一小块一小块往前流,不等一整筐装满才动。带子不停。查询时延因此压得下来,几百个并发同时在传送带上跑。

3. 架构词:FE、BE、CN 和那本账

FE(Frontend,前端节点):领班。收 SQL、解析、规划、派活。它不管炒菜,管动嘴。

BDBJE(Berkeley DB Java Edition):几个领班之间抄账本用的复制库。名字怎么念不重要,你不需要会念。作用是:领班组共记一本元数据账(表在哪、表结构是什么),谁离职都不丢账。

Follower / Observer:领班的两种跟班。Follower 是副领班,账本人手一份,正领班倒了从中投票选新王;Observer 只抄账不投票,专职应付更多客人的点单——扩读用。

BE(Backend,后端节点):灶台。真正存数据、算数据的机器。一家店的规模就看灶台数。

tablet:数据的最小搬运单位。一张大表切成的小砖块,一块建议 1–10 GB——砖太大搬不动,太小了满地碎渣(元数据爆炸)。

存算分离:3.0 起的新店型。食材统一放中央大仓(就是对象存储,S3/OSS 那类),门店灶台改叫 CN(Compute Node,计算节点),只炒菜不囤货,本地只留一台冰箱(Data Cache,热数据缓存)。加门店不用搬食材,秒级开张;中央仓的存储价钱约是本地 SSD 的十分之一量级。京东物流公开的账:存储成本降了约九成。

StarOS:官方给存算分离那套调度、存储访问、缓存管理起的壳子名。里面 OS 是不是严格意义的操作系统?我当它是个管事的名字看,更深的水我没潜。

4.0 的 File Bundling:顺带一提。小份食材入库时先打包成大箱再进中央仓,对象存储的接口调用降约九成——官方口径,出处我在报告里核过。中央仓模式的"最后一口气"堵上了。

4. 表模型词:四种记账法

Duplicate(明细模型):流水账。来一行记一行,永不合并。审计和追溯就靠它,丢一行你半年后都能对出来。

Aggregate(聚合模型):汇总账。按 key(比如经销商×商品×天)先加总再落库,数字列配好算法——销量用 sum、库存用 max、最新值用 replace。翻得快,代价是明细没了,改口径得整本重记。

Unique(更新模型):覆盖账。同一个 key,新的一行盖掉旧的。它的老实现叫 MoR(merge-on-read,读时合并)——写的时候新旧都留着,查的时候现场合并,查询慢,谓词都推不下去;后来的 MoW(merge-on-write,写时合并)是写入时就地了断旧值。Doris 那边 2.1 起 MoW 默认。一句话:MoR 是懒人记账急死查账的,新表没理由再选它。

Primary Key(主键模型,PK):StarRocks 的招牌账本。主键索引常驻内存,新数据进来先查内存——有旧的就删旧插新(delete-and-insert),写入即去重。实时更新场景的首选。代价明摆着:主键索引吃内存,所以主键要短,用整型代理键,别拿长字符串拼键把内存撑爆。

upsert:update + insert 的合成词。有则改,无则补。一条指令两种结局。

partial update(部分列更新):只改账本里的某几列,其他列不动。库存增量就靠它——每小时只刷一个在库数量列。

5. 提速词:从翻账本到预制菜

前缀索引:每本账事先定好排序(叫排序键),排在前面的列就是最快的翻法。查账总按经销商过滤,排序键就把经销商放第一位。设计表时定,事后难改。

Bitmap 索引(位图索引):给低基数的列用——比如"业态"就便利店、超市、百货等十来种。每种值配一串 0/1,第几家店是这个业态就亮 1。等值过滤飞快。

Bloomfilter(布隆过滤器):给高基数列点查用——单据号、终端 ID 这类几百万个不同值的。它的脾气:说"没有"就真没有,说"有"可能蒙你。用在"这批大概率没有,跳过"的判断上,省扫描。

BITMAP 精确去重:数"多少家店动销了"这类 count distinct,把每个值画进位图再数 1,比逐个比对快一个量级。列类型得是 BITMAP。

分区:账本按月装订。查三月的事只抽三月那本。分区裁剪就是这句承诺的兑现——查询条件一给,无关的整本跳过。TTL(Time To Live,存活时间):每本账的保质期,到期自动卖废纸,防止仓库被史前数据撑死。

分桶:每本账内部再按 hash(key) 归档到不同柜子。两个作用:多个柜子多个伙计同时翻(并行度);同一个 key 永远在同一柜子(为下一词铺垫)。桶数经验值:灶台数乘每台磁盘数,再乘 1 到 2。

Colocate Join(协同放置 join):两张表按同一个 key 分桶、锁在同一排柜子。对账时两边柜门对开,不用把食材推着小车满店跑(免 shuffle)。代价是约束:两表桶数必须一致,柜位被绑定,建表时就要想好。

Bucket Shuffle Join:join 时只把一张表按 key 撒到对方柜子去,搬运量比全网互撒小。

Runtime Filter(运行时过滤器):反着来的聪明。大表还没扫完,join 那头已经知道"只要华东的",回头喊一嗓子:"不是华东的别翻了!"扫描量当场瘦身。

物化视图(MV,Materialized View):预制菜。常被点的菜提前做好装盘,客人再点直接端。同步 MV 在导入的同一事务里顺手刷,只管单表;异步物化视图(2.4 起)能力大一圈——多表 join、定时刷新、还能分区级增量(只重做变化的那个月)。查询改写(query rewrite)是它的魔法:你点的现炒,厨房发现预制菜盘里就有同一道,直接端预制——你毫无感觉,账单时间短了一截。

6. 装货词:货怎么进仓

Stream Load:HTTP 批量收货。经销商每天那份手工日结文件,推一把就进门。

Routine Load:常驻订阅。挂一条 Kafka 流,货到了自动卸,不停工。

Broker Load:从数据湖、HDFS 这类大库房整批搬历史。

Flink Connector:Flink 流计算引擎和 StarRocks 之间的传送带,实时装货主力。

2PC exactly-once(two-phase commit,两阶段提交·恰好一次):传送带断电也不丢不重。先问"都备好了吗",全员点头才落账;中途炸了就整体退回。库存这种数,重一次多一件都是事故,靠的就是它。

7. 杂项:profile、TPC-DS、external catalog

profile:一条查询的体检报告,每一步耗时列得明明白白。调优不是玄学,是读报告:分区裁剪命中没有、join 顺不顺、预制菜改写命中没有、并行度够不够。

TPC-DS:业界的标准模拟考(TPC 委员会的决策支持基准,DS = Decision Support),几十道商业分析题,各家引擎排队考试比总分。4.0 官方口径比上代快约六成,就是这份卷子上的分。

external catalog(外部目录):把 Iceberg、Hive 这些数据湖的账本挂个名牌进店,直接翻、不用搬。湖里的五年冷明细就是这么被查的。

Iceberg:对象存储上的开放表格式,湖仓一体的当红标准——上一篇专门讲过它。

ClickHouse:另一路引擎,单表查询快得吓人,join 和高并发是短板。Doris:StarRocks 的同源兄弟,2020 年分家,各自长成了不同的树。

8. 收摊

三十来个缩写,拆开就这么多东西:一个前台几个灶台、四本账、若干翻账本的技巧、几条进货通道。评审会上谁再甩缩写,你就让他讲人话——他讲不出来,说明他自己也没拆过。

系列前篇里还有一组词(ODS/DWD/DWS/DIM、SCD、事实表),在《数仓分层设计》《缓慢变化维SCD》那两篇的人话版里,这里不重复。

深度研究 · 编译:智柴 · 2026-09-09 · 源文件:StarRocks名词解释_2026-09-09.md

#StarRocks #名词解释 #OLAP #数仓 #渠道数据 #智柴

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

Q

这篇是我们 9 月 8 日 StarRocks 深研拆出来的名词手册,步子哥替它找了个人话版的位置,挺好。现场复核一圈:三个大数都站得住,两个口径值得补注。

TPC-DS"快约六成"——官方 2025 年度回顾的原话是 TPC 基准"同比约 60%",2025 全年的代际积累,别记成 4.0 一个版本的独功。File Bundling 降九成 API 调用——release notes 里限定给存算分离的云原生表,shared-nothing 老架构吃不到。京东物流存储降九成——客户自述口径,算账时留点余量。

手册漏了两个能在评审会上救命的词。头一个:"两张表"。PK 表管最新态,按日快照表管历史。拿最新态答"上月底库存多少",一年出一次事故,一次记一年。第二个:"profile 四查"。分区裁剪命中没有,join 有没有借上 Colocate 和 Runtime Filter,物化视图改写命中没有,桶数够不够并行——调优不玄,把这四行从头读一遍,大半问题自己现形。

真要抠,4.0 还能再添三个词:JSON 一等类型、DECIMAL256、ASOF JOIN。名词手册的宿命是永远拆不完。好在评审会上先把 BDBJE 念顺的人,已经赢了一半。

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens