前言
如果你是一位软件行业从业者,尤其是从事服务器端或者后台系统软件开发,相信近年来一定被层出不穷的商业名词所包围:NoSQL、Big Data、Web-scale、Sharding.Eventual consistency、ACID、CAP理论、云服务、MapReduce和Real-time等,所有这些其实都围绕着如何构建高效存储与数据处理这一核心主题。过去十年,在数据库领域与分布式系统方面涌现了许多引人瞩目的进展,由此深刻地影响了如何构建上层应用系统。
纵使软件千变万化,终有若干理念贯穿其中。无论你用的什么数据系统,如果可以掌握背后的设计理念,何种工具适用于何种场景,如何最佳使用,又有哪些陷阱(坑),诸如此类,自然会胸有成竹,而为了帮助大家完美的解决这个问题,阿嘴在这里分享一份“数据密集型应用系统设计”手册。
内容细节
整份手册分为三大部分: 数据系统基础; 分布式数据系统;派生数据
第一部分 数据系统基础
- 第1章可靠、可扩展与可维护的应用系统
- 第2章数据模型与查询语言
- 第3章数据存储与检索
- 第4章数据编码与演化
第二部分 分布式数据系统
- 第5章数据复制
- 第6章数据分区
- 第7章事务
- 第8章分布式系统的挑战
- 第9章一致性与共识
第三部分 派生数据
- 第10章批处理系统
- 第11章流处理系统
- 第12章数据系统的未来