书籍介绍
书中包含以下内容:
深入分析你已经在使用的系统,并学习如何更高效地使用和运维这些系统
通过识别不同工具的优缺点,作出更明智的决策
了解一致性、可伸缩性、容错性和复杂度之间的权衡
理解分布式系统研究,这些研究是现代数据库构建的基石
走到一些主流在线服务的幕后,学习它们的架构
AI导读
核心看点
- 深入剖析分布式系统核心概念
- 权衡一致性、伸缩性与容错性
- 解析主流在线服务幕后架构
适合谁读
- 后端开发者与系统架构师
- 数据库及大数据领域从业者
- 计算机专业学生与研究者
读前提醒
- 内容广博,建议结合实践阅读
- 术语较多,需额外查阅资料
- 影印版性价比高,适合精读
读者共识
- 体系化梳理,见解独到深刻
- 深入浅出,比教科书更易懂
- 经典之作,值得反复研读
本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。
精彩摘录
- "UDP is a good choice in situations where delayed data is worthless. For example, in a VoIP phone call, there probably isn’t enough time to retransmit a lost packet before its data is due to be played over the loudspeakers. In this case, there’s no point in retransmitting the packet—the application m"
- "For data warehouse queries that need to scan over millions of rows, a big bottleneck is the bandwidth for getting data from disk into memory. However, that is not the only bottleneck. Developers of analytical databases also worry about efficiently using the bandwidth from main memory into the CPU ca"
- "Sending a packet over a network or making a request to a network service is normally a transient operation that leaves no permanent trace. Although it is possible to record it permanently (using packet capture and logging), we normally don’t think of it that way. Even message brokers that durably wr"
- "SSI is fairly new: it was first described in 2008 [40] and is the subject of Michael Cahill's PhD thesis. ... it has the possibility of being fast enough to become the enw default in the future."
- "Detecting writes that affect prior reads (the write occurs after the read)."
- "In the context of two-phased locking we discussed index-range locks. .. Wee can use a similar technique here, except that SSI don't block other transactions. When a transaction writes to the database, it must look in the indexes for any other transactions that have recently read the affected data. T"
- "In practice, isolation is unfortunately not that simple. Serializable isolation has a performance cost, and many databases don’t want to pay that price. It’s therefore common for systems to use weaker levels of isolation, which protect against some concurrency issues, but not all. Those levels of is"
- "One thing that document and graph databases have in common is that they typically don't enforce a schema for the data they store, which can make it easier to adapt applications to changing requirements. However, your application most likely still assumes that data has a certain structure; it's just "
作者简介
Martin Kleppmann,是英国剑桥大学的一名分布式系统研究员。在此之前他曾是软件工程师和企业家,在 Linkedin 和 Rapportive 工作过,从事大规模数据基础设施相关的工作。Martin 经常在大会做演讲,写博客,也是开源贡献者。