技术文章 Phil Eaton - databases
文章旨在建立对OLTP系统中分布式共识(尤其是Raft算法)的直觉。作者先解释Raft的基本机制:领导者选举、日志复制、提交和跟随者追赶,然后阐明分布式共识通过副本提供高可用和线性一致性,同时强调其本身并不提供水平扩展,水平扩展需通过分片实现。文章讨论了添加节点对延迟和可用性的权衡,并列举了实际优化技术,包括快照、批处理、磁盘/网络优化和灵活法定人数。此外还涉及安全与测试方法,如Jepsen、确定性测试和TLA+规格验证。最后指出共识开销大,应根据一致性需求选择合适方案。文章主要适用于OLTP系统,未深入非OLTP共识算法或具体实现细节。
推荐收录,因为文章用简洁直观的方式梳理了Raft在OLTP系统中的运作机制,并纠正了分布式共识常被误解为水平扩展的问题。作者从线性一致性、可用性、节点扩展、优化和测试等多个角度展开,既有理论直觉也有工程实践视角,适合分布式系统初学者和数据库工程师建立基础框架,同时为进阶读者提供了丰富的进一步阅读线索。
工程实践 LinkedIn Engineering - Scalability
文章详细介绍了LinkedIn为保障Hadoop集群安全而对其LDAP/Kerberos基础设施进行的现代化改造。旧架构存在单点故障、手工运维繁琐、缺乏测试环境等问题,团队构建了全新的多主复制集群,通过四主节点星型复制、三hub冗余、HAProxy负载均衡和自动故障转移消除了单点故障,并将部署、证书刷新等操作集成到标准部署栈中实现自动化。迁移过程采用先读后写、跨集群复制同步、延迟监控和1分钟TTL的DNS切换,实现了零事故切换和可回滚。文章还说明了GSS-API与负载均衡结合的DNS约束,以及避免双写的一致性考量,适用于大规模分布式系统认证基础设施的演进参考。
推荐收录,因为文章提供了完整的大规模LDAP/Kerberos基础设施迁移案例,包含真实的单点故障痛点、多主复制架构设计、自动化运维改造和零停机迁移方法,证据具体且可迁移。适合负责安全认证、分布式系统高可用或基础设施现代化的工程师参考,特别是面对类似目录服务、Kerberos或负载均衡部署的团队。
工程实践 LinkedIn Engineering - Scalability
文章介绍了LinkedIn在管理约5EB数据和100亿对象的HDFS集群时,如何通过重新设计块放置策略来加速维护操作。默认BPP在维护时会导致大量数据复制和网络拥塞,而采用升级域BPP并定义20个升级域,将同一机架节点归入同一升级域,可以消除维护时的数据复制需求。文章详细描述了对3+EB存量数据进行分批再分布的过程,以及发现开源升级域BPP的写性能问题并开发新BPP排除已选升级域节点的改进。最终实现了每天升级约4.5%节点,显著提升了可靠性和安全性。
推荐收录,因为文章提供了真实超大规模HDFS集群维护中的完整工程案例,包含问题定义、架构取舍、数据迁移方案和性能优化细节,证据充分。适合负责分布式存储、大规模基础设施或HDFS运维的读者参考,其中升级域划分、利用维护模式减少复制和分批迁移的策略可直接迁移到类似系统。
工程实践 PlanetScale Blog 2026/08/11
文章深入分析PostgreSQL子事务缓存溢出机制及其双重危害:当单个事务累积超过PGPROC_MAX_CACHED_SUBXIDS(默认64)个子事务时,快照标记溢出,迫使所有查询走pg_subtrans SLRU查找,导致集群吞吐量骤降;同时在构建新只读副本时,溢出的RUNNING_XACTS记录使副本无法获取完整活动事务快照,长期无法启用热备模式。作者通过WAL解码、基准测试和火焰图验证了性能退化路径,并给出事务超时监控、pg_stat_slru跟踪等检测与缓解方法。指出重建PostgreSQL或等待CSN快照补丁合并是根本性方向,但当前需依赖运维手段降低风险。
推荐收录,因为文章不仅解释了子事务缓存溢出的原理,还提供了可复现的基准测试和火焰图分析,并展示了从现象到机制、从监控到缓解的完整工程路径。对于PostgreSQL数据库管理员、后端开发者及高可用架构师,本文能够帮助他们识别和规避这类集群级性能悬崖,其故障排查思路和监控设计也可以迁移到其他数据库系统的类似内部机制问题中。
工程实践 TiDB 社区博客 - 实践案例 2026/08/10
文章记录了永康市卫健委全民健康平台为解决业务高峰负载过高与容灾需求,采用平凯数据库物理复制能力进行架构改造的实践。改造将主集群专注核心事务,备集群承担报表查询等读操作和容灾角色,实现读写分离。上线后故障切换低于15秒且数据零丢失,系统负载下降,运维操作秒级完成。文章解释了物理复制基于日志实时同步所有数据库对象,支持最大保护、最大可用、最大性能三种模式,并与 TiCDC 逻辑复制对比,指出物理复制适合集群级容灾和读写分离,逻辑复制适合异构同步与数据管道。实际指标依赖网络拓扑和负载,且相关能力仍在演进。
推荐收录,因为文章提供了真实医疗场景下的数据库高可用与读写分离改造案例,包含明确的问题定义、技术选型依据、实施效果和方案对比。适合关注核心系统容灾、分布式数据库选型或架构优化的读者。可迁移价值在于展示了物理复制在强一致需求下的应用边界,但需注意厂商案例可能带有一定推广成分。
工程实践 Salesforce Engineering 2026/08/05
Salesforce内部可观测平台Argus需处理每分钟40亿指标,原单区域架构导致全局可用性风险及高昂的数据传输成本。团队采用地理本地化策略,将指标就近处理和存储,避免全量复制,并通过联盟查询层与Elasticsearch元数据映射实现智能路由,仅查询数据所在区域,减少跨区域开销。同时引入HTTP 206部分响应和UI提示来处理部分地域不可用,保障用户体验。文章还介绍了通配符查询的元数据缓存优化,以及持续容量规划和架构审查来维持隔离边界。该方案已在五个生产区域中的四个上线,显著降低爆炸半径,但跨区域延迟和流量成本仍为后续关注点。
这篇工程案例详实记录了如何将单区域可观测平台迁移到多地理架构,解决全局不可用风险并控制成本,包含查询联邦、部分失败处理和元数据缓存等关键设计,为构建高可靠、大规模可观测系统的团队提供了可复用的架构思路和实践参考。
技术文章 PlanetScale Blog 2026/07/24
文章深入解析 PostgreSQL 的三种备份方式:逻辑备份(pg_dump)、文件系统备份和连续归档。首先介绍 pg_dump 如何利用 MVCC 获取一致性快照,并指出其在特大库上可能因长期持有快照导致事务回卷而触发只读模式的风险。接着说明文件系统备份虽然速度快,但需要停机或原子快照支持,且无法实现时间点恢复。重点阐述了连续归档的原理:通过持续归档 WAL,结合 full_page_writes 在线备份文件系统后,利用 WAL 中的完整页镜像修复备份过程中可能出现的“涂抹”数据,从而得到一致且可恢复的备份。文章还解释了基于此机制的时间点恢复过程,以及 PlanetScale 如何通过每 12 小时自动备份与控制 WAL 重放窗口来保持恢复速度。最后简要提及大规模备份的挑战,为介绍分布式 PostgreSQL 与分片备份埋下伏笔。
本文不只是罗列备份命令,而是清晰解释了 pg_dump 的事务回卷风险、WAL 与 full_page_writes 如何解决在线备份的一致性难题,以及时间点恢复的内部逻辑。这些内容对数据库管理员、后端工程师和运维人员有直接参考价值,能帮助理解备份策略的真实约束和取舍,迁移至其他数据库系统时也有启发。
工程实践 Marc Brooker 2026/07/19
Marc Brooker在这篇博客中介绍了Aurora DSQL论文,重点阐述了系统的整体目标:构建一个简化应用构建与运维、无需关心规模与可靠性的关系型数据库。文中强调了架构解耦的设计思想,将查询处理、事务、复制和控制面拆分为独立服务,并总结了来自Aurora与DynamoDB等系统的运营教训,如避免大缓存、提供强一致可扩展读、将昂贵操作下推到存储层。作者还讨论了乐观并发控制(OCC)在避免客户端阻塞和减少尾延迟方面的优势,以及多区域场景下的快速读写能力。博客最后指出,硬件与数据中心设计的进步使得强一致性成为更优选择,并提供了论文链接供进一步阅读。
作为Aurora DSQL系统的核心设计者之一,作者以第一视角提炼了论文的关键设计决策与运营经验,浓缩了现代分布式OLTP数据库的核心理念。文章对解耦架构、一致性选择、多区域扩展等问题的论述既权威又简明,适合分布式系统工程师、架构师及关注数据库技术演进的研究者快速获取全局认知,其总结的教训可迁移至其他大规模系统设计。
工程实践 知乎 - SmartCode 得物技术 2026/07/09
文章详细记录了得物将 OceanBase 作为多模数据库引入的完整工程实践。面对 MySQL 在 TP/AP 混合负载下性能瓶颈、存储成本高和运维复杂等问题,DBA 团队从选型对比、性能压测、复杂 SQL 优化到业务迁移全流程展开验证。通过计划缓存、分区裁剪、列存索引、并行执行和 Hint 干预等五步优化,将两类聚合查询的执行时间分别从 1.3s 和 3.9s 降至 0.01s 和 0.02s,并获得与 DuckDB、StarRocks 对比的详细性能数据。在真实业务迁移中,SQL 平均耗时下降 88.3%,存储压缩率超过 80%,总体降本 43%,并消除了异构数据同步和手动分流风险。文章同时总结了迁移中遇到的实时物化视图与 DDL 冲突、SQL 语法兼容等具体问题及应对方案,并规划了运维体系转型和团队能力建设路径。该实践适用于有 TP/AP 混合负载、追求成本与可用性平衡的场景,但需注意新功能边界和版本限制。
推荐收录。文章不是泛泛的产品介绍,而是提供了从选型对比、性能压测到生产迁移的完整技术链条,包含具体的 SQL 优化思路、量化收益(近 200 倍提升、43% 降本)和踩坑记录,对考虑 OceanBase 落地或从 MySQL 迁移到分布式数据库的架构师、DBA 有直接可复用的参考价值。文中的五步优化法、物化视图使用约束和运维体系转型经验均具备可迁移性,风险提示也较为坦诚。
工程实践 Datadog Engineering 2026/06/04
这篇文章复盘了 Datadog 在一次 reliability gameday 中发现的 PostgreSQL 故障切换不安全问题:表面上集群看似具备高可用能力,但在 Kubernetes 环境下,原有方案无法保证 failover 时的数据一致性与切换正确性。作者进一步说明了他们如何引入 Patroni 与同步复制,重新设计状态管理、领导者选举和故障转移流程,以提升 PostgreSQL 集群在容器编排环境中的可用性与安全性。文章的重点不只是“如何搭建”,而是明确了 stateful 数据库在 K8s 上做 HA 时必须面对的一致性、自动化与运维验证边界。
推荐收录,因为它不是泛泛介绍 PostgreSQL 或 Kubernetes,而是基于真实演练暴露出的故障切换风险,给出了一套有约束条件的高可用改造思路。对于需要在容器平台上运行状态型数据库、设计故障转移机制或做可靠性演练的读者,这篇文章有很强的迁移价值。
工程实践 PlanetScale Blog 2024/10/10
本文继续分析 throttler 的部署形态,先比较单体服务、独立多实例、主备切换以及引入 agent/API 的方案。作者指出,加入采集代理或跨节点协作后,系统会从单一同步组件演变成分布式多组件系统,复杂度、权限边界和版本兼容问题都会上升,同时采样间隔叠加也会让指标更陈旧。随后文章给出分布式 throttler 的几种切分方式:按可用区、按功能、按主机或按服务粒度,并以 Vitess tablet throttler 为例说明如何在 shard 范围内聚合 replica lag,让 primary 代表整个 shard 做限流判断。最后,文章讨论如何降低 throttler 自身开销,包括客户端退避、空闲时降低采样频率或休眠、以及在无大任务时减少 heartbeat 生成,避免 binlog、磁盘和备份成本被额外放大。其边界在于,这些策略都依赖对业务负载形态、重试行为和一致性要求的准确预判。
收录价值明确:文章直接比较了 throttler 的单体、分布式与 agent 化方案,并用 Vitess 的 shard 级限流给出可落地的架构证据。适合做 MySQL/Vitess、SRE 和基础设施设计参考,但需要注意其结论高度依赖心跳粒度、轮询频率和客户端重试假设。
工程实践 PlanetScale Blog 2024/02/15
这篇文章系统拆解了 Amazon Aurora(以 MySQL 工作负载为主)的计费构成,指出它远不只是“选个实例”这么简单,而是要同时评估实例规格、预留实例折扣、副本数量、存储模式、跨可用区/跨区域流量、备份保留、监控和代理层等多项费用。作者特别说明了 burstable 与 memory-optimized 的差异、标准存储与 I/O-optimized 的取舍,以及当 I/O 费用占比超过一定阈值时,I/O-optimized 才可能更划算。文章还把读写副本、Global Database、RDS Proxy、蓝绿部署、自动备份和 Performance Insights 逐项拆开,说明这些“高可用/可运维能力”往往会直接放大账单。最后,文章以 PlanetScale 的定价和托管能力作对比,强调其在连接池、跨区复制、变更管理和监控上的简化与打包,但整体内容对 Aurora 成本建模尤其有参考价值;局限在于只覆盖 Aurora 非 Serverless 场景,且比较部分带有明显产品立场。
推荐收录,因为它不是泛泛介绍云数据库,而是把 Aurora 的主要成本项逐条展开,给出了实例、副本、I/O、流量、备份和监控的实际计费视角。适合做数据库选型、云成本估算和高可用架构评审时参考,但读者也需注意文中 PlanetScale 对比部分存在产品宣传倾向。
工程实践 PlanetScale Blog 2024/01/30
文章围绕数据库灾难恢复(DR)方案的构建展开,先区分了高可用(HA)与灾难恢复的目标:前者强调通过复制和自动故障切换尽量不中断服务,后者强调在重大故障后尽快恢复业务。作者进一步解释了 RPO 与 RTO 的含义,并指出两者越小,恢复方案的复杂度和成本越高,因此必须结合业务可承受的数据损失和停机时间来设定。文章特别强调数据库是有状态系统,不能像无状态应用那样简单替换实例,因此备份、复制和恢复流程都需要按数据一致性来设计。随后对 MySQL 复制、异步/半同步模式、逻辑/物理备份、全量/增量备份及其性能影响做了说明,指出跨区域复制和在副本上执行备份更适合降低恢复时间和主库负载。最后给出一套可落地的 DR 规划建议,包括分级恢复优先级、用收入损失衡量停机成本、自动化恢复、定期演练以及验证备份可恢复性,适合构建面向生产环境的数据库韧性方案。
文章直接给出了数据库灾备规划的关键证据:RPO/RTO 设定、复制与备份策略、跨地域恢复、自动化和演练验证,内容不是泛泛而谈。适合负责 MySQL、云上基础设施或生产稳定性的工程师参考,尤其可迁移到任何有状态系统的容灾设计中。