扇出是地板:两个针对「没人能控制的查询形态」的定向优化
一个在打开任何 tablet 之前把 566 个 tablet 剪到约 1 个的跨 tablet 点查索引,以及一个消掉串行化而不是消掉 IO 的宽读预取 —— 选这两个是因为它们的成本里大部分是可避免的扇出,做成 fail-open 是因为它们永远不许改变结果。包含我们真正付出的那个代价,以及它造成的一次静默事故。
一个在打开任何 tablet 之前把 566 个 tablet 剪到约 1 个的跨 tablet 点查索引,以及一个消掉串行化而不是消掉 IO 的宽读预取 —— 选这两个是因为它们的成本里大部分是可避免的扇出,做成 fail-open 是因为它们永远不许改变结果。包含我们真正付出的那个代价,以及它造成的一次静默事故。
先分流、再卸载、后扩容,以及为什么直觉顺序会把数据库放倒。
ClickHouse → Doris 存算分离:内存工程、引擎级路由、两次 compaction 事故,以及经受住重测的数字。
用 Upgrade Safety System(check → plan → apply + evidence)把 18-21 小时、需要两人结对的手工升级压缩为 6-8 小时单人操作,并在两套生产集群上以零客户可感知停机完成执行。
一个自研、持续运行的 systemd 层 daemon,把 Intel 的 Best Known Configuration 从一份 prose 加 shell 的文档,变成 git 里声明式、被持续审计的 desired state,覆盖分布在多个 cluster 的约 30 台裸金属服务器。
在 Apache Doris FE 内新增一条 SQL 语句,每条查询执行前 6-8ms 判定 heavy/light。工作在 fork 上完成,mechanism 准备 upstream,policy 刻意留在内部。
两个词把搜索空间砍半;走完八跳找到两个根因。
在服务 50 个 Kubernetes 集群的 VictoriaMetrics 平台上设计三层告警分级与 per-tenant SLI recording rules,把约 80% 不可操作的资源型告警换成基于用户影响的准入控制。
什么变了,什么还需要工程师
一场纠正了自身前提的恢复演练,第一次把 RPO 写成显式数字。