◈ DB 选型参考
← 返回首页

StarRocks

OLAP #OLAP #MPP #实时数仓 #MySQL协议 #存算分离 #湖仓一体 #向量化引擎 #开源

源自百度 Palo / Doris 代码基的极速 MPP 分析型数据库——为"多表关联的实时报表 + 湖仓一体"而生:全向量化执行引擎配 Cascades 风格 CBO,主键模型做实时 upsert,存算分离做弹性;代价是 FE 中心化元数据、tablet 规划和主键内存这些"建表第一天就写好"的约束。

用 AI 深挖这款:
证据等级:官方文档 厂商口径 社区实测 社区共识 待验证

基本信息

项内容
厂商StarRocks 开源社区(创始团队背景;商业化由 CelerData(北美)、MirrorShip(亚太)等承担)
国家中国起源,国际化运营
起源技术 lineage 可追溯至 Google Mesa → 百度 Palo → Apache Doris;2020 年左右从 Doris 代码基 fork 独立发展(此前曾用名 DorisDB,因 Apache 商标规范更名),2021 年 6 月以 StarRocks 之名 Apache 2.0 开源
许可证Apache 2.0(内核全开源,含存算分离)
商业版说明未发现独立闭源企业版内核的发售信息;商业化 = 云托管服务(CelerData Cloud 等 Serverless 形态)+ 云厂商 EMR 集成 + 技术支持
托管服务CelerData Cloud、阿里云 EMR Serverless StarRocks、火山引擎 / 腾讯云 / 华为云集成(社区资料口径)
主类型OLAP(MPP 分析型,并非 OLTP)
兼具类型湖仓一体(External Catalog 直查 Hive / Iceberg / Hudi / Paimon / Delta)、向量检索(v4.0 起 AI Native 方向)

硬维度(47 项)

1 静态加密 / TDE 有

有——enable_transparent_data_encryption(BE 静态参数,v3.3.1 / v3.4.0 / v3.5.0 / v4.0.0 起引入):开启后新写入的存储对象(segment、delete/update 文件、lake SST、persistent index 等)落盘加密,密钥经 KEK / KeyCache 管理。边缘:默认关闭;必须在部署前开启、运行期不可动态修改;FE 与 BE 的加密开关必须一致,否则 BE 在心跳时直接 abort(LOG(FATAL));仅覆盖"开启后新写入"的对象,老数据需重写才加密;WAL / 临时文件 / 备份的覆盖边界未找到明确证据。证据:官方文档(BE 参数文档)。

2 TLS / 传输加密 有

有——v3.4 起支持 MySQL 协议链路的 SSL(fe.conf ssl_force_secure_transport=true 可强制,客户端不用加密会被 5205 拒绝);Stream Load 可走 HTTPS。证据:官方文档(v3.4 release notes、SSL 配置文档)。

3 审计 有

有——FE fe.audit.log 记录全量 SQL、用户、客户端、执行时间与结果;可按模块过滤(audit_log_modules=slow_query,query,load,stream_load)、JSON 格式、默认保留 30 天、可压缩归档。边缘:文件型审计日志,合规场景需外部采集(ELK 等)做集中留存与防篡改;细粒度"谁看了哪列"需配合脱敏策略与 secure view。证据:官方文档(logs.md、FE 配置文档)。

4 认证与权限 有

有——MySQL 兼容的用户 / 密码 / 角色 / GRANT-REVOKE 权限体系;支持 LDAP 外部认证、SSL 客户端认证;v3.4 起支持 secure view(防越权穿透基表);列级脱敏 masking policy 在社区资料中有完整语法示例,官方文档待复核。行级安全策略、Kerberos 未找到证据。证据:官方文档 + 社区资料。

5 备份恢复 有

有——CREATE REPOSITORY(S3 / HDFS via broker)+ BACKUP SNAPSHOT / RESTORE SNAPSHOT,支持分区 / 表 / 库三级粒度,异步执行;恢复可改副本数、可跨集群;v3.4 起 shared-data 集群支持自动快照用于集群恢复。边缘:同一时间只允许一个备份任务;恢复是"搭新表再导数据"式的重建,大库恢复耗时与写入吞吐强相关,恢复窗口要实测。证据:官方文档。

6 可观测性 有

有——Prometheus 指标 + 官方 Grafana 看板;information_schema 暴露运维表(如 be_cloud_native_compactions 可审计 shared-data compaction 历史);慢查询日志、审计日志、EXPLAIN ANALYZE 与 query profile。边缘:shared-data 的关键指标(DataCache 命中率、lake_publish_tablet_version_queuing_count、compaction score)需要 DBA 主动看,默认看板不一定覆盖;v3.5 新增 txn_max_committed_pending_publish_ms 专门诊断版本发布卡住。证据:官方文档 + 社区共识。

7 连接模型 有

有——FE 经 MySQL 协议(9030 端口)接入,兼容 MySQL 客户端与 BI 工具;Stream Load 走 FE/BE 的 HTTP(8030);v3.5 起支持 Arrow Flight SQL 高速通道。连接池靠应用侧或外部代理,FE 本身是查询协调器而非连接池。证据:官方文档 + 社区共识。

8 事务与隔离级别 部分支持

部分支持——OLAP 定位,无通用 OLTP 事务;写入侧有单库事务能力:Stream Load 事务接口(预提交 + 提交两阶段,对 Flink 保证 exactly-once),v4.0 起支持单库多表事务(多库多表开发中),label 机制做去重(at-most-once 语义),idle_transaction_timeout 超时自动回滚;另有 Group Commit 合并高频小批量写入。跨库事务、多语句交互式事务查证为无;"快照隔离"级别的严谨表述待验证。证据:官方文档(Stream Load 事务接口文档)。

9 复制与一致性 有

有——默认 3 副本(replication_num=3),tablet 多副本分布;v3.4 起写入按"多数派副本成功即成功"(此前曾因单副本找不到而整体失败);读走版本化可见性(visible version),单批次写入原子可见。边缘:一致性是"单表版本级"而非跨表分布式强一致;shared-data 下 FE leader 切换曾导致在途事务丢失(见深水区一)。证据:官方文档 + 社区共识。

10 扩展方式 有

有——原生 scale-out。shared-nothing:加 BE 节点,tablet 自动均衡(需数据重分布,吃 IO/网络);shared-data:CN 计算节点无状态、秒级弹性(K8s HPA),Warehouse 实现多负载物理隔离。硬约束:两种模式不可混部、不可互转(官方文档明确);shared-data 要求 CN 硬件同构。证据:官方文档。

11 兼容性 部分支持

部分支持——MySQL 协议兼容(驱动 / ORM / BI 工具即插即用);SQL 语法部分兼容 MySQL(分析型子集);不支持存储过程 / 触发器(OLAP 定位,官方能力矩阵中无该能力——查证为无)。证据:官方文档 + 社区共识。

12 许可证与商业模式 有

有——Apache 2.0 全开源(含存算分离等核心能力);商业化 = CelerData / MirrorShip 云服务(Serverless 按计算用量计费)+ 云厂商托管集成 + 技术支持。不写绝对价格(易过期)。证据:官方口径 + 社区共识。

13 中文资料丰富度 有

有(丰富)——官方中文文档完整、中文社区活跃、CSDN / 博客实践帖大量;英文文档同样完整。证据:社区共识。

14 性能与延迟特征 有

有(向量化 MPP;公开 TPC-DS 纪录)。

  • 公开 TPC-DS 纪录(厂商口径,特定版本)厂商口径。
  • 主键模型/物化视图是实时数仓卖点;查询并发能力在 OLAP 中偏强 社区共识。
  • 3.x 存算分离降低扩展成本,性能与存算一体接近 官方文档。

15 合规与认证 部分支持

部分支持(开源无官方认证;云版本走厂商)。

  • StarRocks 开源版:无官方合规认证 社区共识。
  • 信创名录/测评、CelerData Cloud 合规资质以厂商官方公告为准厂商口径厂商口径。

16 成熟度与社区生态 有

有(2021 年开源;发展最快的 OLAP 新贵之一)。

  • 2021 年开源;CelerData 商业化,融资顺利 社区共识。
  • GitHub stars 接近万级,社区增长快 社区共识。
  • 年轻:长期生产案例少于 ClickHouse/Doris,版本行为变更需跟进 社区共识。

17 标杆用户 有

有(小红书/爱奇艺等;增长快)。

  • 小红书、爱奇艺等公开案例厂商口径厂商口径。
  • 从 ClickHouse/ES 迁移来的实时分析案例多 社区共识。
  • 年轻产品,超大规模案例少于 ClickHouse 社区共识。

18 生态工具链 有

有(Broker 备份;Flink CDC;Stream Load)。

  • 备份:Broker 备份到 HDFS/S3 官方文档。
  • 入数/CDC:Flink CDC、Stream Load、Routine Load 官方文档。
  • 迁移:Spark/Flink 连接器;监控:Prometheus 社区共识。

19 云托管与 Serverless 有

有(CelerData Cloud(Serverless))。

  • CelerData Cloud:Serverless 按量 厂商口径。
  • 阿里云 EMR-StarRocks 等云集成 厂商口径。
  • 开源自建仍是主流 社区共识。

20 数据接入与摄入 有

有(Stream/Broker/Routine/Spark Load;Flink 连接器)。

  • Stream Load(HTTP)、Broker Load(HDFS/S3)、Routine Load(Kafka)、Spark Load 官方文档。
  • Flink Connector / Kafka Routine Load 是流式标准链路 社区共识。
  • 主键模型流式 upsert 注意内存与 compaction 社区共识。

21 外部数据访问 有

有(External Catalog:Hive/Iceberg/Hudi/Delta/JDBC/ES)。

  • External Catalog 直查 Hive/Iceberg/Hudi/Delta Lake/JDBC/ES 官方文档。
  • 物化视图可基于外表加速,湖仓一体主打 厂商口径。
  • 外表查询性能弱于内表,谓词下推是关键 社区共识。

22 CDC 与下游同步 部分支持

部分支持(Flink CDC 入 StarRocks 成熟;对外无原生 CDC)。

  • 入:Flink CDC → StarRocks 标准 社区共识。
  • 出:无行级变更日志,对外靠导出或 Binlog(版本覆盖有限)待验证。

23 TTL 与数据生命周期管理 有

有(动态分区+partition_ttl_number 自动过期)。

  • 动态分区配 partition_ttl_number,过期分区自动删 官方文档。
  • 无行级 TTL;主键模型 DELETE 代价高 官方文档。
  • 存储分层(storage medium)可做冷热分离 官方文档。

24 在线 DDL 与 Schema 演进 部分支持

部分支持(fast schema evolution 加/删列轻量;改类型/键列重写代价高;改分桶是异步重写)。

  • 只改定义不碰数据:fast_schema_evolution=true 的表(建表时指定;shared-nothing 自 v3.2、shared-data 自 v3.3 默认开启)加/删列走轻量路径、命令同步返回 官方文档;rename/comment/分区/swap 本就是同步操作 官方文档。
  • 重写数据但位置不变:改列类型、改 key 列、建 rollup/物化视图是异步 schema change job,重写数据、耗时随数据量 官方文档;SHOW ALTER 查进度、CANCEL 可取消 官方文档。
  • 搬数据:改分桶方式/分桶数是异步重写 官方文档;主键列不可改 官方文档;sort key 可用 ALTER TABLE ... ORDER BY 重指定但删不掉 社区共识。
  • 验证约束:主键模型自带唯一+非空约束 官方文档;NOT NULL 列支持 官方文档;独立的 CHECK/UNIQUE/外键约束不执行(查证为无)社区共识。
    • 规模:第二/三类代价 O(n),tablet 数/数据量越大越慢;同一张表一次只能跑一个 schema change 官方文档。
    • 语义:列/分桶/rollup 操作异步——提交即返回成功,实际后台执行 官方文档;rename/comment 等同步返回即完成 官方文档;DDL 全表事务性未找到证据。

25 多租户与资源隔离 有

有(workload group 资源组限流)。

  • workload group 按用户/查询限 CPU/内存/IO 官方文档。
  • 与 Doris 同源能力,是多租户推荐方案 官方文档。

26 跨地域多活 部分支持

部分支持(可手工跨区;无原生多活)。

  • FE/BE 可跨区部署,无原生多 region 协调 社区共识。
  • 生产多用单区 + 容灾 社区共识。

27 高可用架构与 RTO/RPO 有

有(FE/BE 多副本自动容错)。

  • FE master 自动选,BE 多副本,单点故障自动容错 官方文档。
  • RTO 分钟级内 社区共识。

28 行级安全与数据脱敏 未找到证据

未找到证据(未见原生RLS公开说明)。

  • 未找到 StarRocks 原生行级安全的公开官方文档 待验证
  • 权限到表 / 列级别(支持列级权限),行级隔离靠视图 官方文档
  • 动态脱敏无公开说明 待验证

29 JSON 与半结构化能力 有

有(JSON/Variant+倒排索引)。

  • JSON 类型,3.x Variant 半结构化,倒排索引加速 官方文档。
  • 动态列过多同样注意 tablet 膨胀 社区实测。

30 全文检索能力 有

有(倒排索引全文检索+ngram)。

  • 倒排索引全文检索,ngram 中文分词 官方文档。
  • 相关性排序弱于 ES 社区共识。

31 存储效率与压缩 有

有(列存+向量化编码,压缩完备)。

  • 列式存储 + 字典编码、RLE、位-packed 等向量化编码 + ZSTD/LZ4 压缩。官方文档
  • 主键模型与聚合模型减少冗余存储;支持按列配置压缩算法。官方文档
  • 压缩比与 ClickHouse/Doris 同量级,属 OLAP 列存第一梯队。社区实测

32 开源协议与厂商锁定风险 无

无(Apache 2.0 开源;基金会治理)。

  • StarRocks 采用 Apache 2.0 开源,由社区/基金会治理。官方文档
  • 无协议变更黑历史;CelerData Cloud 为商业托管版,开源版功能完整。厂商口径
  • MySQL 协议兼容,生态开放,锁定风险低。社区共识

33 查询优化器与计划稳定性 有

有(OLAP CBO 标杆;hint 可用)。

  • 自研 CBO 在 OLAP 场景计划质量突出 官方文档。
  • 支持 leading 等 hint 干预 官方文档。
  • 统计信息自动收集,翻转治理持续改进 社区共识。

34 参数调优与自治能力 部分支持

部分支持(参数可调;调优靠建模)。

  • BE/FE 参数可调,核心在建表与物化 官方文档。
  • 自治中等 社区共识。

35 静默数据损坏防护 部分支持

部分支持(BE 数据文件带校验,多副本可重建)。

  • BE 存储层对数据文件做校验,损坏文件可被发现并隔离。待验证
  • 多副本机制下坏副本可从健康副本重建,属副本级自愈而非页级。社区共识
  • 无用户可配的常驻页校验开关,校验覆盖细节缺少公开文档。待验证

36 存储过程/触发器/过程语言 无

无(查证为无存储过程/触发器)。

  • 无存储过程、触发器(查证为无)官方文档。
  • 逻辑在 ETL/应用层 社区共识。

37 约束与数据完整性 无

无(OLAP 无外键/CHECK)。

  • 无外键、CHECK(查证为无)官方文档。
  • 数据质量靠导入前校验 社区共识。

38 分析 SQL 完备性 有

有(窗口/GROUPING SETS 完备)。

  • 窗口函数、GROUPING SETS/CUBE/ROLLUP 完备 官方文档。
  • 向量化执行加持复杂分析 官方文档。

39 被遗忘权与数据擦除 部分支持

部分支持(手动DELETE;版本残留)。

  • 删除靠 DELETE / DROP PARTITION,无原生擦除证明 社区共识
  • 版本化存储下旧版本在 compaction 前残留 社区共识

40 数据血缘与目录集成 无

无(查证为无原生血缘)。

  • 无原生数据血缘 官方文档。

41 存算分离 vs 存算一体 有

有(3.x 存算分离;默认存算一体)。

  • 默认本地盘存算一体;3.x 起支持存算分离 官方文档。
  • 分离版生产成熟度持续验证中 社区共识。

42 多模能力 部分支持

部分支持(关系+JSON+全文+向量)。

  • JSON、全文索引、向量索引均已支持 官方文档。
  • 无图引擎 社区共识。

43 FinOps 成本可观测性 不适用

不适用(自建无计费,成本=硬件+运维人力自理)。

  • 开源自建无内置计费概念,成本是节点硬件、存储与运维人力。社区共识
  • 云托管版可在云账单侧做标签归因与预算告警。厂商口径

44 驱动与多语言生态 有

有(MySQL 协议兼容)。

  • MySQL 线协议兼容,驱动直接复用 官方文档。

45 物化视图 有

有(同步/异步 MV,自动改写)。

  • 同步/异步物化视图,查询自动透明改写 官方文档。
  • 异步 MV 刷新延迟与资源消耗需评估 社区实测。

46 支持跨云 有

有(开源任意云;CelerData 多云)。

  • 开源版任意云可部署 官方文档。
  • CelerData Cloud 支持多云 厂商口径。

47 热点数据更新能力 部分支持

部分支持(主键模型写时去重,热点 key 有索引代价)。

  • 并发控制原语:主键模型无行锁——更新等于按主键常驻索引定位旧行、在 delete vector(Roaring Bitmap,存于 BE 本地 RocksDB 并缓存在内存)中标记删除再追加新行,版本在写入时解决(delete-on-write),读无合并惩罚;并发更新同一 key 无锁冲突/abort。Unique Key 模型则是 merge-on-read(读时合并:写便宜、读贵)。重试归属:导入失败由应用按 label 重提社区共识。
  • 衰减形态:热点 key 高频更新使 delete vector 位图反复翻转、主键常驻索引高频点查点改,写放大与索引内存/CPU 开销随热度上涨;小批量高频导入堆出过多版本/rowset,compaction 与版本发布(publish)排队,写入延迟从秒级恶化。单点瓶颈:单 key 按哈希固定到一个 tablet,加 BE 不分摊社区共识。
  • 内置缓解:未找到官方命名或文档化的单 key 热点自动打散/限流机制的证据(不是查证为无,靠应用层与建模);主键常驻索引是“写时去重”的代价而非缓解手段。主键表支持部分列更新(社区口径:只写变更列,写放大小于整行重写);主键模型 DELETE 代价高(官方文档口径),热 key 的删改要慎重待验证。
  • 应用层模式与代价:热维度表走 Routine/Stream Load 批量 upsert、避免逐行写(代价:秒级新鲜度);流侧先聚合(Flink CDC 去重/合并)再入 StarRocks(代价:流作业资源);读多写少+更新低频用 Unique Key 模型(写便宜),高频查+低频改用主键模型——选错模型等于把代价从写侧搬到读侧。结论:实时 upsert 是设计目标,单 key 高频热点仍处反模式边缘社区共识。

招牌能力

写法要求:每个特性 = 它是什么 + 为什么是真本事 + 推到边缘会发生什么。

  1. 全面向量化执行引擎 + CBO + Pipeline 真本事:C++ 向量化引擎(SIMD)配 Cascades 风格 CBO 与 Pipeline 并行执行,多表 Join 场景下优化器自动选 Join 顺序与策略(broadcast / shuffle / colocate),这是它相对 ClickHouse(Join 历史短板)的结构性差异,也是"多表关联实时报表"口碑的技术根基。 边缘真相:CBO 的"智能"完全依赖统计信息——ANALYZE 没跑或过期,Join 顺序和策略就可能选错;外表(湖上数据)统计信息天然弱,湖上复杂查询的计划质量要打折;v3.5 灰度升级时官方曾要求手动关闭低基数优化(cbo_enable_low_cardinality_optimize=false),说明优化器新特性与升级存在耦合风险。见深水区六。
  2. 主键模型(Primary Key):列存上的真 upsert 真本事:把随机更新转化为"追加新版本 + 主键索引去重",保留列存批量写入优势的同时做到秒级可见,部分列更新(column mode)进一步降低写入放大。这是实时数仓 CDC 场景选它的核心理由——对比 ClickHouse 的 ReplacingMergeTree(后台异步去重、读时仍需处理),StarRocks 的主键模型在"更新频繁 + 查询也要快"的场景更直接。 边缘真相:见深水区二——主键索引是内存税,规划失误直接报 primary key memory usage exceeds the limit;DelVector 带来读时过滤开销;compaction 必须及时清理历史版本,否则读放大。主键模型不是"免费的更新",是把更新成本从写入时搬到了内存和后台合并。
  3. 异步物化视图 + SPJG 透明改写 真本事:v2.4 引入、v2.5 起支持改写,MV 可跨多表、跨数据源(Hive / Iceberg / Hudi / Paimon)构建,支持分区级增量刷新;查询侧 SPJG 算法自动匹配改写(单表 / Join / 聚合 / Union / 嵌套 MV),业务 SQL 不用改。这是"预聚合加速"口碑的来源。 边缘真相:见深水区三——"刷新"和"改写"是两条独立链路,数据新鲜度和查询能否命中是两个问题;v4.1.1 对 INCREMENTAL / AUTO 类 MV 禁用了查询改写并拒绝 FORCE 刷新(行为变更,升级前必读 release notes);候选 MV 过多会拖慢优化器本身。
  4. 存算分离(shared-data):CN 秒级弹性 + Warehouse 隔离 真本事:v3.0 引入,数据下沉对象存储,CN 计算节点无状态,K8s 下可按负载秒级扩缩容;Warehouse 实现"一份数据、多组计算资源"的物理隔离,解决 MPP 时代"ETL 大查询饿死小查询"的资源隔离难题。研发重心明显向该架构倾斜(4.x 新特性多优先 shared-data)。 边缘真相:见深水区一——这是"用运维复杂度换弹性":DataCache(StarCache)腐蚀 / 驱逐、S3 限流、FE leader 切换丢在途事务、tablet 数量爆炸压垮 FE 元数据;且与 shared-nothing 不可互转,选型时一次定终身。
  5. 湖仓一体:External Catalog 直查 真本事:Hive / Iceberg / Hudi / Paimon / Delta / JDBC 等外部 catalog 一等公民,StarRocks 可直接查询湖上数据并做 MV 加速,"热数据放仓、冷数据放湖"不用搬数据。这是它相对纯数仓引擎的差异化。 边缘真相:外表查询的性能天花板受湖格式与对象存储延迟限制;外表元数据缓存过期会导致"基表是否变化"判断失准,进而影响 MV 刷新正确性;跨引擎写湖(Format SDK / Spark 直写)是较新的能力,生产采用需逐项验证。

深水区

深水区一:存算分离的真实成熟度——弹性是拿运维复杂度换的

  • 领域:存储架构 / 运维
  • 机制一句话:CN 计算节点无状态,数据持久化在对象存储,本地 StarCache(DataCache)做热数据加速,Warehouse 做多租户计算隔离。
  • 推到边缘:
    • DataCache 是第一故障聚集地:缓存块腐蚀(checksum mismatch 导致发布/查询失败)、自动扩缩容驱逐引发 S3 回源、compaction 跟不上时 score 告警——shared-data 排障手册里五大根因有三条与缓存/对象存储相关。
    • S3 侧:multipart 上传失败、503 限流会直接卡住写入与 compaction。
    • FE leader 切换曾导致在途事务丢失(EditLog gap 造成事务重放失败)——"高可用切换"与"数据不丢"在这里是两笔账。
    • tablet 数量失控会压垮 FE:官方 issue 承认单 tablet ~1GB 的推荐值在大规模下导致 FE 元数据(shard/tablet 元数据、GC、RPC)先成为瓶颈,目标是把单 tablet 容量做到 100GB——这是架构级的已知短板,不是调优能解决的。
    • 历史事故:v3.4.1 shared-data 集群在 leader 切换 + 未发布 compaction 事务下发生元数据丢失,该版本被下线,基线至少 v3.4.5 / v3.5。
    • 硬约束:shared-nothing 与 shared-data 不可混部、不可互转;CN 硬件必须同构。
  • 对选型的含义:shared-data 适合"负载波峰波谷明显、能接受 K8s 运维"的团队;选之前先评估团队是否有对象存储 + 缓存排障能力;tablet/分桶规划在 shared-data 下更关键(FE 是单点瓶颈);新集群直接上最新 patch,老集群迁 shared-data 等于重建。
  • 来源:官方文档(shared-data feature support);官方 issue #66457(tablet 容量);社区排障手册(shared-data 五大根因);社区版本基线记录(v3.4.1 事故)。

深水区二:主键模型的内存税——upsert 不是免费的

  • 领域:存储引擎
  • 机制一句话:随机更新转化为"追加新版本 + 主键索引定位旧版本",主键索引常驻内存(或 persistent index 落盘),读时用 DelVector 过滤旧行,后台 compaction 清理历史版本。
  • 推到边缘:
    • 规划失误的直接后果是报错 primary key memory usage exceeds the limit(真实案例:Airtable 数据验证系统,7200 个 bucket 下主键内存超限,加载卡住)。
    • 每个 tablet 有独立的 ingest memtable 和主键索引 memtable——tablet 数量 × 单 tablet 索引 = 总内存,tablet 切得越碎,内存税越重(与深水区一的 FE 压力同源)。
    • 导入进度"99% 卡住"是典型症状:LOAD 返回 99% 表示数据写完,生效(版本发布 + 索引构建)才是最后 1%,主键表的大导入这里最容易现形。
    • 部分列更新走 column mode,与 GIN 倒排索引组合曾出现结果损坏(v4.1.4 修复)——新特性的组合路径是 bug 高发区。
    • 缓解手段 enable_persistent_index 把索引放磁盘,是用读放大换内存,点查延迟会涨,不是无代价开关。
  • 对选型的含义:主键表必须做"分区分桶 × 预估行数 × 主键宽度"的内存测算;高频 CDC 场景先压测"写入 + compaction + 查询"三并发,而不是只测写入;把 enable_persistent_index 当作容量规划选项而非事后救火。
  • 来源:官方文档(主键模型、persistent index);社区实测(Airtable 案例、CSDN 实践);官方 release notes(v4.1.4 GIN 修复)。

深水区三:物化视图——"刷新"和"改写"是两条独立链路

  • 领域:SQL 层
  • 机制一句话:刷新链路(MVRefreshPartitionSelector 选分区、BaseMVRefreshProcessor 执行、成功后更新 BaseTableVisibleVersionMap)管数据新鲜度;改写链路(MvRewritePreprocessor 收集候选 + SPJG 模式匹配 + 补偿)管查询能否命中,两者在优化器里汇合。
  • 推到边缘:
    • "数据新鲜"不等于"查询能用":分区映射错误、外表 connector 元数据过期,都会导致"基表是否变化"判断失准,MV 看似新鲜实则过期。
    • 候选 MV 过多拖慢优化器本身:cbo_materialized_view_rewrite_related_mvs_limit 默认 64、optimizer_materialized_view_timelimit 默认 1000ms——MV 建得越多,优化器搜索成本越高,改写可能因超时而放弃。
    • 行为变更风险:v4.1.1 起对 INCREMENTAL / AUTO 类 MV 禁用查询改写、拒绝 FORCE 刷新与分区刷新——依赖这类 MV 的集群升级 4.1 必须先读 release notes。
    • 统计信息过期会让"命中 MV 的计划仍然不优";嵌套 MV 要限制改写层数防组合爆炸。
  • 对选型的含义:MV 治理(命名、分区对齐、数量上限)是 DBA 的日常工作,不是"建完不管";升级前逐项核对 MV 行为变更;用 EXPLAIN 验证改写是否真的发生(看是否出现 MV Scan),不要靠"感觉变快了"。
  • 来源:官方文档(MV 文档、v4.1.1 release notes);社区源码级解析(2026-08 架构深挖)。

深水区四:写入的隐形瓶颈——版本发布(publish)

  • 领域:写入 / 事务
  • 机制一句话:Stream Load 走预提交 + 提交两阶段,数据落盘后还要"发布版本"(publish version)才可见;Group Commit 把高频小批量合并为 fewer 版本;label 机制做去重。
  • 推到边缘:
    • 高频小写入(如逐条 CDC)的版本数会膨胀:版本越多,compaction 压力越大,查询读放越大——这是"实时性"向"查询性能"收的税。
    • 版本发布卡住时,txn_max_committed_pending_publish_ms(v3.5 新增指标)会报警——"已提交但不可见"是 StarRocks 特有的中间态,排障时先看这个指标而不是只看写入 QPS。
    • FE leader 切换在 shared-data 下可能丢在途事务——"exactly-once"是 Flink connector + 事务接口配合达成的,不是存储层无条件保证,链路任一环节(FE 切换、label 去重窗口)出问题语义就降级。
    • 大版本发布延迟会直接放大 HTAP/实时报表的"数据新鲜度"——业务以为的"秒级实时",可能是"秒级写入 + 分钟级可见"。
  • 对选型的含义:实时数仓 POC 必须同时压"写入吞吐"和"版本发布延迟",并看 compaction 队列;CDC 链路做端到端语义测试(含 FE 切换演练),不要只看 happy path。
  • 来源:官方文档(Stream Load 事务接口、Group Commit);官方 release notes(v3.5 新指标);社区排障手册。

深水区五:tablet / 分桶规划——建表第一天就决定上限

  • 领域:数据分布
  • 机制一句话:表按分区切、分区按分桶(bucket)切成 tablet,tablet 是数据分布、副本、compaction、调度的基本单位。
  • 推到边缘:
    • tablet 太多:每个 tablet 独立 memtable / 索引 / compaction,BE 内存与 CPU 开销随 tablet 数线性涨;FE 要维护海量 shard/tablet 元数据,CPU、内存、GC、RPC 先到瓶颈(官方 issue #66457 明确承认这是架构级短板)。
    • tablet 太少 / 数据倾斜:单个 tablet 的写入与 compaction 是单线程,一个倾斜的 tablet 就是整条链路的瓶颈。
    • 官方推荐单 tablet ~1GB(压缩后),但这是经验值不是自适应的——v4.0 起支持 automatic tablet splitting(自动分裂),成熟度待生产验证。
    • 分桶键选错(如高基数列做 hash 导致倾斜)上线后再改等于重建表。
  • 对选型的含义:建表必须做"数据量 / 分区数 / 分桶数 / tablet 大小"四算;大表优先按时间分区 + 合理分桶;把 tablet 数量纳入日常巡检(FE 元数据压力是慢死不是快死)。
  • 来源:官方文档(Data_distribution,含 MERGE TABLETS / range 分布限制);官方 issue #66457;社区容量规划口诀。

深水区六:CBO 的强弱项——统计信息是氧气

  • 领域:SQL 层
  • 机制一句话:Cascades 风格 CBO 基于 ANALYZE 收集的基数、直方图等统计信息估算代价,决定 Join 顺序、Join 策略(broadcast / shuffle / colocate)、是否命中 MV。
  • 推到边缘:
    • 统计信息过期或缺失时,CBO 会选错 Join 顺序、把大表 broadcast(内存爆炸)或该 colocate 的走了 shuffle——"查询突然变慢"的第一嫌疑人永远是统计信息。
    • 外表(Hive / Iceberg 等)统计信息天然弱,湖上复杂查询的计划质量系统性低于内表。
    • 新优化特性与升级耦合:v3.5 灰度升级要求先关低基数优化(cbo_enable_low_cardinality_optimize=false),说明优化器行为是版本相关的,升级后要回归核心报表的执行计划。
    • 低基数列优化、Runtime Filter 等好不好使,都依赖统计信息对基数的正确估计。
  • 对选型的含义:把 ANALYZE 做成定时任务写进运维手册(尤其是 ETL 后);核心报表升级前后做执行计划 diff;湖仓一体场景对"外表查询性能"单独设预期,不要拿内表跑分去要求湖上查询。
  • 来源:官方文档(CBO、统计信息、v3.5 升级说明);社区共识。

客户经验

本区内容主要基于厂商口径与媒体转述,独立社区验证不足,引用时请打折。

内核 实时更新 + 多表 JOIN:终结"反范式化噩梦"

一句话
主键模型的行级 upsert + 真 CBO + 全向量化执行,让频繁更新的维度表与事实表任意多表 join 在亚秒内完成——ClickHouse/Druid 用户被迫建的宽表和 Flink 预 join 管道可直接删掉。
窄场景
用户行为分析、AdTech/MarTech、客户-facing 仪表盘:维度(campaign 名、用户标签)三天两头变,分析师要任意维度组合即席查;被 ClickHouse"把表打宽"或 Druid"预聚合+immutable segment"折磨过的数据工程师。
机制
三件套——主键模型做高效 upsert(late-arriving 数据秒级可见);自研 CBO(join reorder、broadcast/shuffle/colocate 代价选择、runtime filter);全向量化 C++ 执行。ClickHouse 弱项是机制性的:无 CBO、JOIN 是"最后手段",官方最佳实践就是反范式化成宽表——代价是 Demandbase 的宽表数据膨胀 100 倍。
生产验证
Pinterest(2024,Druid→StarRocks,广告主看板):p90 延迟降 50%、服务器降至 32%、3 倍 query-per-dollar,新鲜度 ~10 秒;去掉了 Druid 的外部 MapReduce ingestion job 和 JSON 配置(https://medium.com/@indomitability/why-starrocks-is-better-than-apache-druid-for-real-time-analytics-c38f19b8ff02);Airbnb(Druid→StarRocks,Trust & Safety + 全公司 BI):分钟级查询变秒级,退役大量预聚合表(https://medium.com/@indomitability/why-starrocks-is-better-than-apache-druid-for-customer-facing-analytics-bbe049856935)。诚实备注:案例经 IndoMITability(Mark Anderson)系列文章转述,属 StarRocks 生态方内容营销;公司名与迁移事实可信度高,具体倍数未经独立复现,请打折听。
竞品差距
ClickHouse 无 CBO、JOIN 弱、更新靠重写分区;Doris 最接近(同样 MySQL 协议、主键更新、CBO)——基本打平,差异在生态;Snowflake/BigQuery JOIN 不弱但做不到"秒级新鲜度 + 高并发点查"的 serving 形态。"自建、实时更新、任意 JOIN、高并发 serving"四合一,31 款只有 StarRocks 与 Doris 做到。
证据等级
社区共识(多家公司迁移事实交叉印证)+ 生态方转述(数字未独立复现,已标注)
最后核验
2026-10-01

内核 异步物化视图 + CBO 自动改写:查询加速的"隐形外挂"

一句话
把指标定义成 MV 存成物理表,CBO 自动把 dashboard/ad-hoc 查询改写命中 MV——分析师继续查 raw 表,引擎悄悄走预聚合;连 LLM 生成的不可预测 SQL 都能被兜住。
窄场景
指标层/语义层:同一批聚合(分实验组、分天、分 segment 的转化数)被成百上千个 dashboard 反复查;ChatBI/LLM 生成 SQL(查询形状不可预测,传统"固定预聚合"cover 不住)。
机制
StarRocks 的异步 MV 是"行为像物理表的预计算":增量刷新(只刷源表变了的分区)、支持多表 join 定义、支持定义在湖表(Hive/Iceberg/Hudi 外表)上;改写发生在 CBO 阶段(enable_cbo_based_mv_rewrite 默认 true),即使 MV 与查询的 join 顺序不同也能改写成功。
生产验证
Tencent Games(腾讯游戏):每天万亿级新增日志,StarRocks+Iceberg 实时湖仓,MV 做冷热透明改写,PB 级秒级查询(https://medium.com/@indomitability/convergence-and-transcendence-a-deep-dive-into-building-the-ultimate-open-lakehouse-with-starrocks-ed4e809af50c);机制文档(StarRocks 官方):enable_cbo_based_mv_rewrite 默认 true,v3.5 起 CBO 阶段改写最大化改写成功率(https://github.com/stars1233/starrocks/blob/HEAD/docs/en/sql-reference/System_variable.md)。诚实备注:Tencent Games 的细节数字来自生态方,独立验证弱。
竞品差距
ClickHouse 无自动改写(MV 要显式查)——机制性差距;BigQuery MV 仅单表聚合、无 JOIN——语义差距;Redshift MV 需手动/定时刷新——新鲜度差距;Doris 同样有异步 MV + 自动改写——打平。"CBO 自动改写 + 湖表 MV + 分区增量刷新"三合一,31 款只有 StarRocks/Doris 系做到。
证据等级
官方文档(机制)+ 生态方生产转述
最后核验
2026-10-01

内核 MySQL 协议 + 完整 SQL 方言:"ClickHouse 难用的解药"

一句话
MySQL 协议兼容 + 支持全部标准 JOIN 类型/子查询/窗口函数的完整 SQL,让 ClickHouse/Druid 难民"零方言成本"迁移。
窄场景
从 ClickHouse/Druid 迁出的团队(分析师会标准 SQL,不想学 ClickHouse 方言);BI 工具(Tableau 等)直连(MySQL connector 即插即用)。
机制
ClickHouse 的 SQL 是"方言孤岛"(Array 类型、特殊采样语法、join 限制);Druid 的 SQL 更是二等公民。StarRocks 从 Palo(百度)血统继承了 MySQL 协议(9030 端口),原生支持 INNER/LEFT/RIGHT/FULL/SEMI/ANTI 全套 JOIN。Pinterest 迁移的动因之一就是"needed standard SQL support (for joins and complex queries)"。这不是性能招牌,是迁移摩擦力招牌——决定了多少团队敢迁。
生产验证
Pinterest/Airbnb/NAVER 迁移故事中"标准 SQL"是反复出现的动因关键词(生态方转述,链接见招牌 1)。
竞品差距
ClickHouse 方言 + JOIN 双短板——此项是 StarRocks 对 ClickHouse 最锋利的差异化之一;Doris 同样 MySQL 协议——打平。与 Doris 共同构成"MySQL 协议 OLAP"阵营,对 ClickHouse 系形成迁移拉力。迁移摩擦力决定了实际有多少团队敢迁。
证据等级
社区共识
最后核验
2026-10-01

避坑 激进优化器的正确性长尾:静默错结果

一句话
CBO + 自动改写是双刃剑:StarRocks 的 release notes 里 wrong-result 修复是常态,2026 年生产环境递归 CTE 静默返回部分结果——错得悄无声息比慢更可怕。
窄场景
谁最容易中招——金融/账务类对正确性零容忍的场景;追新版本、用复杂改写规则(grouping sets、MV 改写、递归 CTE)的团队。
机制
自动改写规则越多,正确性证明的负担越重。优化器规则曾因 HashMap 迭代顺序导致 count(*) 和 count(distinct) 结果互换——"the same query can be correct on one build and wrong on another";MV 改写曾"serve stale results after an Iceberg base table's rollback_to_snapshot"。最刺眼的是 issue #77427(2026,StarRocks 4.1.2):生产环境递归 CTE 算月度结转余额,内部迭代 decimal 溢出失败未向上传播,查询"成功"返回 217 行而非 1364 行——客户端无法区分不完整结果和正确结果。
生产验证
GitHub issue #77427(2026,生产环境发现):"The issue was found in a production Recursive CTE used to calculate monthly carried balances… This is a correctness issue because the client cannot distinguish the incomplete result from a valid complete result."(https://github.com/starrocks/starrocks/issues/77427);Release 3.5/3.1/2.5 notes:wrong-result 修复是每版固定栏目(LIMIT 丢失、JOIN OR 展开重复行、LARGEINT 截断、MV 改写丢列……)(https://github.com/starrocks/starrocks/blob/HEAD/docs/en/release_notes/release-3.5.md);第三方独立 digest(olap-radar,2026-03):"StarRocks: current risk area is wrong-result/query edge cases."(https://github.com/baymine/olap-radar/issues/168)。社区实践建议:关键报表跑激进改写规则前,先灰度、做结果 diff。
竞品差距
ClickHouse 也有 correctness issue,但它的哲学是"用户自己当优化器",改写少、惊喜少;StarRocks/Doris 的"自动改写"越智能,正确性长尾越长。这是招牌 2 的镜像代价。
证据等级
公开 issue + release notes + 第三方社区共识(这是 6 款中证据最硬的反向招牌之一)
最后核验
2026-10-01

用户最买账的 5 点

好的也要有深度。每条 = 为什么是真的 + 边缘与限度。

  1. 查询快,尤其是多表 Join
    • 为什么是真的:全向量化引擎 + CBO + Pipeline,TPC-H / TPC-DS 这类复杂分析是主场;社区大量"从 Hive / Presto 迁过来查询明显变快"的实测(厂商口径的倍数不采信,但"变快"的方向是社区共识)。
    • 边缘与限度:快的前提是统计信息新鲜、tablet 规划合理;单表极限扫描拼不过 ClickHouse(向量化鼻祖 + 更高压缩比);外表查询受对象存储延迟限制。以及 benchmark 跑的是"调优后的上限",不是"你建表第一天的下限"。
    • 来源:社区共识;观察版本:v3.5 / v4.1。
  2. MySQL 协议,BI 工具即插即用
    • 为什么是真的:9030 端口 MySQL 协议,Tableau / Superset / PowerBI / DataGrip 直连,分析师零学习成本;JDBC 驱动通用。
    • 边缘与限度:兼容的是"协议和常用查询语法",不是 MySQL 行为——存储过程、触发器没有,某些函数语义有差异;BI 生成的复杂 SQL 仍可能触发 CBO 选错计划。接入成本低不等于"SQL 随便写都快"。
    • 来源:官方文档;社区共识。观察版本:v4.1。
  3. 实时写入秒级可见,CDC 友好
    • 为什么是真的:Stream Load / Routine Load / Flink connector 链路成熟,主键模型 upsert 秒级可见,Flink 事务接口保证 exactly-once,是实时数仓的主流选型之一。
    • 边缘与限度:见深水区四——"秒级写入"不等于"秒级可见",版本发布延迟是隐形成本;高频小写入有版本膨胀税;FE 切换等异常下语义降级。实时链路的 SLA 要按"端到端可见延迟"签,不要按"写入成功"签。
    • 来源:官方文档;社区共识。观察版本:v3.5 / v4.1。
  4. 架构简单,无外部依赖
    • 为什么是真的:FE / BE(/ CN)两类角色,元数据内嵌 BDB-JE 复制,不依赖 ZK / HDFS / 外部协调服务;扩容加节点自动均衡。相对 ClickHouse(分片规划 + Keeper)的运维项确实少。
    • 边缘与限度:"无外部依赖"不等于"无单点"——FE 的 BDB-JE 元数据集群(3 节点,leader 选举 <3 秒)仍是中心,tablet 爆炸时 FE 先成为瓶颈(深水区一、五);shared-data 引入对象存储后,"外部依赖"以 S3 的形式回来了(限流、multipart 失败照单全收)。
    • 来源:官方文档;社区共识。观察版本:v4.1。
  5. Apache 2.0 真开源 + 中文生态
    • 为什么是真的:内核 GitHub 全公开(含存算分离),无功能阉割的社区版;中文文档完整、社区响应快,国内团队上手成本低。
    • 边缘与限度:开源的是代码不是运维能力——深水区问题(tablet 规划、主键内存、DataCache 排障)最终靠读源码或买商业支持;云上 Serverless 是按计算用量计费,常驻高负载下自建可能更便宜,成本模型要按自己的负载曲线算。以及 GitHub star 数是流行度不是质量分。
    • 来源:官方口径;社区共识。观察版本:v4.1。

吐槽清单

分类吐槽影响版本状态
运维坑FE 是元数据中心(BDB-JE 3 节点),tablet 数量失控时 FE 的 CPU/内存/GC/RPC 先到瓶颈,是"慢死"不是"快死",巡检容易漏全版本open
运维坑v3.4.1 shared-data 集群在 FE leader 切换 + 未发布 compaction 事务下发生元数据丢失,该版本被下线v3.4.1fixed-in-v3.4.5(基线 v3.4.5+ / v3.5)
运维坑降级路径受限:v3.5 只能回退到 v3.4.5+,v4.1 只能回退到 v4.0.6+,跨大版本无任意回退v3.5 / v4.1open
运维坑v3.5 起强制 JDK 17,升级要清理 JAVA_OPTS 中的 CMS 等旧参数,外部 catalog 还要加 --add-opensv3.5+open(升级 checklist)
运维坑v4.1.0 容器镜像 BE 启动顺序不稳定,容器环境勿用v4.1.0fixed-in-v4.1.1
运维坑shared-data 与 shared-nothing 不可混部、不可互转,选型一次定终身;CN 要求硬件同构v3.0+open(架构约束)
性能坑主键模型内存超限直接报错(primary key memory usage exceeds the limit),分桶规划失误即踩坑;enable_persistent_index 是拿读放大换内存全版本open(靠容量规划规避)
性能坑shared-data 下 DataCache 腐蚀 / 自动驱逐回源、S3 503 限流与 multipart 失败、高频小写入的版本膨胀,都会把"弹性"变成"延迟毛刺"v3.0+partially-fixed(持续优化中)
性能坑大导入进度常卡在 99%(写完≠生效,版本发布与索引构建是最后 1%),主键表最明显全版本open(预期管理 + 压测)
性能坑统计信息过期导致 CBO 选错计划(大表 broadcast 内存爆炸、该 colocate 的走 shuffle),"查询突然变慢"第一嫌疑人全版本open(ANALYZE 运维化)
兼容坑无存储过程 / 触发器,MySQL 语法仅分析型子集兼容;v4.1.1 起 INCREMENTAL / AUTO 类 MV 禁用查询改写(行为变更)全版本 / v4.1.1open
兼容坑部分列更新 column mode 与 GIN 倒排索引组合曾返回损坏结果<v4.1.4fixed-in-v4.1.4
成本坑shared-nothing 默认 3 副本,存储成本 ×3;BE 要求本地 SSD(NVMe 更佳),硬件门槛高于存算分离全版本open
成本坑云上 Serverless 按计算用量计费,常驻高负载场景下长期成本可能高于自建,需按负载曲线测算全版本open
生态坑无 Oracle 兼容,"去 O"场景不在候选;PG 生态用户同样要重写全版本open

判决

  • 一句话定位:多表关联实时分析的最优解之一——CBO + 向量化 + 主键模型 + 湖仓一体,代价是把 tablet 规划、主键内存、统计信息运维这些"建表第一天"的约束前置。
  • 适合谁:
    • 多表 Join 的实时报表 / BI(广告、零售、SaaS 用户侧分析),查询模式复杂、并发高;
    • Flink CDC 实时数仓,需要主键 upsert 秒级可见;
    • 湖仓一体:热数据放仓、冷数据放湖,一个引擎统一查询;
    • 负载波峰波谷明显、能接受 K8s 运维,想用存算分离弹性的团队;
    • MySQL / BI 技术栈,希望分析侧"换库不换工具"的团队。
  • 不适合谁:
    • 单表海量日志扫描、追求极限吞吐(ClickHouse 单表聚合仍是标杆);
    • 需要存储过程 / 触发器的传统系统;
    • "去 O"替换 Oracle 的信创场景(无 Oracle 兼容);
    • 团队无专职数据工程师、想"装完不管"(tablet 规划、ANALYZE、compaction 观察一个不能少);
    • 数据量很小(GB 级)且查询简单——单机 DuckDB / MySQL 更省事。
  • 迁移成本:
    • MySQL(分析侧)→ 低:协议兼容,BI 工具直连;主要是把"行存思维"换成"列存 + 分区分桶"建模。
    • ClickHouse → 中:单表扫描逻辑要重写成多表模型能发挥优势的形态;ReplacingMergeTree 的去重习惯要换成主键模型;分片规划换成 tablet 规划。
    • Hive / Spark 数仓 → 中:ETL 链路可保留,查询层迁移;宽表模型可直接沿用,但分区策略要重做。
    • Doris → 低-中:同源架构(FE/BE、9030、三种数据模型、Stream Load)高度相似,上手快;差异在 CBO 调优、MV 体系、存算分离细节,需逐项验证。

来源与待验证清单

  • 版本与发版节奏:GitHub starrocks/starrocks release notes(v4.1.4 2026-08-05、v4.0.14 2026-08-11、v3.5.20 2026-07-23;v4.1.0 容器镜像问题、v4.1/v3.5 降级约束、v3.5 JDK 17 要求)
  • 技术 lineage:社区架构深挖(2026-08,Mesa → Palo → Doris → DorisDB → StarRocks 时间线;V1.0~V4.1 版本特性表;商业化生态表:CelerData / MirrorShip / 云厂商集成)
  • TDE:官方 BE 参数文档(enable_transparent_data_encryption,v3.3.1 / v3.4.0 / v3.5.0 / v4.0.0 引入;FE/BE 开关不一致 BE abort)
  • TLS:官方 v3.4 release notes(MySQL 协议 SSL)、SSL 配置文档(ssl_force_secure_transport、5205 错误)
  • 审计:官方 logs.md 与 FE 配置文档(fe.audit.log、audit_log_modules、JSON 格式、30 天保留)
  • 权限:官方 SSL/LDAP 认证文档、v3.4 release notes(secure view);masking policy 语法来自社区技能文档,官方文档待复核
  • 备份恢复:官方 Backup_and_restore 文档(BACKUP/RESTORE 语法、分区/表/库粒度、单备份任务限制)、v3.4 release notes(shared-data 自动快照)
  • Stream Load 事务:官方 Stream_Load_transaction_interface 文档(2PC、exactly-once、v4.0 单库多表、单客户端并发限制)
  • shared-data 约束与排障:官方 feature-support-shared-data 文档(不可混部/互转、CN 同构);社区 shared-data 排障手册(DataCache / S3 / FE 切换五大根因);官方 issue #66457(tablet 容量目标 100GB);社区版本基线记录(v3.4.1 元数据事故)
  • 主键模型:官方主键模型文档;社区实测(Airtable 主键内存超限案例);官方 v4.1.4 release notes(GIN + column mode 修复)
  • 物化视图:社区 MV 深度解析(SPJG、改写矩阵、刷新策略);社区源码级解析(刷新/改写双链路、优化器代价);官方 v4.1.1 release notes(INCREMENTAL/AUTO MV 改写禁用)
  • CBO/统计信息:官方 CBO 与统计信息文档、v3.5 升级说明(低基数优化开关);社区共识
  • Doris 对比:社区同源分家史梳理(中立事实:同源、2020 年左右 fork、独立发展、接口相似);一方 partisan 文章的观点("闭源商业模块"等说法)未采信,已按官方文档交叉验证
  • 吐槽采集方向(待 LLM 流水线规模化验证):GitHub Issues、知乎、CSDN / V2EX 实践帖
  • 下次评审:跟踪 v4.1+ 的 automatic tablet splitting 生产成熟度;复核 masking policy 官方文档;跟踪多库多表事务与多客户端并发写的落地进度

last_reviewed: 2026-09-29 · reviewed_version: v4.1.x