第十二章:数据系统的未来

发布时间:2026/10/30 2:15:54

第十二章:数据系统的未来 第十二章数据系统的未来这是全书的收束章也是最有思想性的一章。Kleppmann 不再讲具体技术而是退后一步提出一个根本性的判断过去我们习惯用一个数据库解决所有问题但未来属于可组合的数据系统——由多个专门化组件通过事件日志连接而成。同时他把技术讨论提升到伦理层面数据系统影响人们的生活工程师必须为此负责。本章结构先讲解绑数据库的架构思想再讲端到端原则然后讲数据伦理最后回到全书的方法论。一、解绑数据库Unbundling the Database1. 传统数据库的一体化模式传统关系数据库如 Oracle、MySQL是一个单体存储引擎索引查询优化器事务管理复制缓存全文检索全部打包在一起。好处是开箱即用、一致性好坏处是每个部分都无法独立扩展或替换。2. 专门化组件的兴起过去十几年每个功能都被拆成独立系统功能专门化系统存储HDFS、S3索引Elasticsearch、Solr缓存Redis、Memcached消息Kafka、Pulsar批处理Spark、Flink流处理Flink、Kafka Streams图查询Neo4j分析ClickHouse、Druid问题这些系统如何协同数据如何同步一致性如何保证3. 事件日志作为中枢Kleppmann 的核心主张用事件日志如 Kafka作为系统的中枢把各个专门化组件连接起来。架构所有变更写入事件日志各组件订阅日志更新自己的状态组件之间不直接通信通过日志解耦日志是唯一真相来源Source of Truth好处解耦组件独立演化可重放新组件可以从头构建状态一致性所有组件看到相同的事件顺序可组合像搭积木一样组装系统4. 解绑的代价复杂性需要协调多个系统一致性跨系统的一致性难以保证运维更多组件更多故障点延迟事件在系统间流动有延迟Kleppmann 的平衡观点解绑不是万能药。小系统用单体数据库更简单大系统才需要解绑。关键是理解权衡。二、端到端原则End-to-End Principle1. 什么是端到端原则源自网络设计功能应该放在网络的端点而不是中间节点。中间节点只做通用转发不做特殊处理。例子TCP 的可靠性由端点保证不靠中间路由器端到端的加密中间节点无法解密2. 在数据系统中的应用Kleppmann 的引申不要依赖中间层来保证正确性正确性应该由端点保证。例子去重不要依赖消息系统去重让消费者幂等事务不要依赖中间件让应用处理一致性不要依赖数据库让应用验证为什么中间层的保证往往有漏洞端到端保证更可靠中间层越简单系统越可组合3. 端到端原则的实践幂等设计重复执行不出错应用层校验不盲信下层端到端加密不信任中间节点端到端监控从用户视角度量Kleppmann 的提醒端到端原则不是不要中间层而是不要把正确性寄托在中间层。中间层可以做优化但不能做保证。三、数据伦理与责任1. 技术不是中立的Kleppmann 的转向前面十一章讲的是如何构建系统这一节讲的是应该构建什么样的系统。核心观点数据系统影响人们的生活信用评分、推荐、定价、招聘算法决策可能带有偏见工程师不能只说这是产品需求2. 数据伦理的关键问题1隐私数据收集的边界在哪用户是否知情同意数据二次使用是否合理2偏见与歧视训练数据带有历史偏见算法放大偏见例子招聘算法歧视女性信用评分歧视少数族裔3透明与可解释算法决策能否解释用户能否申诉黑箱模型的伦理问题4权力不对称平台掌握大量数据用户缺乏议价能力数据垄断3. 工程师的责任Kleppmann 的呼吁工程师不能躲在技术中立背后。你设计的系统会影响人们的生活你必须为此负责。实践建议主动考虑伦理影响拒绝有害的设计推动透明和可解释保护用户隐私参与公共讨论4. 法规与治理GDPR数据保护、被遗忘权CCPA加州消费者隐私算法审计第三方审查数据治理企业内部的伦理委员会Kleppmann 的观点法规是必要的但不够。工程师的自觉和伦理意识才是第一道防线。四、全书方法论回顾1. 三个维度可靠性故障时不失效可扩展性负载增长时能应对可维护性长期能高效维护2. 核心权衡权衡说明一致 vs 可用CAP 定理延迟 vs 吞吐批处理 vs 流处理写优化 vs 读优化LSM-Tree vs B-Tree简单 vs 灵活单体 vs 解绑强一致 vs 高性能线性一致 vs 最终一致3. 核心洞察没有万能方案所有技术选型都依赖具体场景。复杂性是最大的敌人好的设计是对抗复杂性的过程。端到端保证正确性不要依赖中间层。事件日志是解绑的核心Kafka 作为中枢连接组件。技术有伦理责任工程师不能回避。五、本章的核心思想总结主题核心观点解绑数据库专门化组件 事件日志中枢事件日志唯一真相来源连接组件支持重放端到端原则正确性由端点保证不依赖中间层数据伦理技术不中立工程师有责任方法论可靠性、可扩展性、可维护性权衡无处不在三个贯穿全书的判断未来属于可组合的数据系统不是一个大数据库而是多个专门化组件通过日志连接。正确性要端到端保证中间层可以做优化但不能做保证。技术有伦理维度数据系统影响人们生活工程师必须负责。六、这一章在全书中地位第十二章是全书的升华第一章提出三个维度第十二章回到方法论第三、四章讲存储和编码第十二章讲如何组合第五到九章讲分布式挑战第十二章讲如何用日志连接第十、十一章讲批处理和流处理第十二章讲流处理是未来架构的核心一句话概括本章数据系统的未来是解绑——用事件日志连接专门化组件让系统可组合、可演化。端到端原则告诉我们正确性要由端点保证不依赖中间层。而技术不是中立的工程师必须为数据系统对人们生活的影响负责。全书的方法论——可靠性、可扩展性、可维护性——最终指向一个目标构建既强大又负责任的数据系统。
延伸阅读

更多相关文章

2026/10/30 2:10:54

用5分钟跑通剑网3自动化宏脚本:JX3Toy部署与循环调优

用5分钟跑通剑网3自动化宏脚本:JX3Toy部署与循环调优 【免费下载链接】JX3Toy 全功能减负工具 项目地址: https://gitcode.com/GitHub_Trending/jx/JX3Toy JX3Toy 是一套剑网3自动化宏脚本集,按门派和心法归纳了可直接使用的 Lua 宏脚本&#xff…

2026/10/30 2:10:54

【技术思考】Token经济下的通信技术发展(二)

继续前面的思考,继续聊聊关于沉浸式通信的技术的可能发展。 Q:针对沉浸式通信,业界有提出“网业端协同业务体验增强技术,实现端边云协同渲染计算,提升沉浸式体验”,请解读一下这个技术方向的具体研究内容&#xff0c…

2026/10/30 9:17:03

车载MCU系统性测试:ISO 26262驱动的硬件-软件协同验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/30 9:17:03

垃圾箱数据集VOC格式457张:小样本目标检测训练与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/30 9:17:03

STM32F103与AT24C02:模拟I2C读写EEPROM的完整实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/30 9:12:00

Android原生频谱可视化:FFT实时分析与均衡器深度实践

简介:这是一份面向Android开发初学者与进阶者的音视频可视化实战DEMO,聚焦音乐播放器核心功能实现,尤其适合希望掌握音频频谱动态渲染与均衡器集成的开发者。资源完整呈现了类似千千静听风格的跳动频谱效果——基于FFT频域分析、Canvas实时绘…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑