Designing Data-Intensive Applications

书名:Designing Data-Intensive ApplicationsTheBigIdeasBehindReliable,Scalable,andMaintainableSystems
作者:MartinKleppmann
译者:
ISBN:9781449373320
出版社:O'ReillyMedia
出版时间:2017-4-2
格式:epub/mobi/azw3/pdf
页数:614
豆瓣评分: 9.7

书籍简介:

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords? In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures

作者简介:

Martin is a researcher in distributed systems at the University of Cambridge. Previously he was a software engineer and entrepreneur at Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure. In the process he learned a few things the hard way, and he hopes this book will save you from repeating the same mistakes.

Martin is a regular conference speaker, blogger, and open source contributor. He believes that profound technical ideas should be accessible to everyone, and that deeper understanding will help us develop better software.

书友短评:

@ sssssen 这本绝对是所有程序员都应该读的书。当你自己设计过系统,做过设计分析取舍之后回过头来看这书的时候,会有一种醍醐灌顶的感觉。书里很详细很清楚的讲了每种设计的来由和设计理念,很适合用来梳理工作中的很多实践。除了不是很喜欢最后一章,讲了太多的废话以外,前面每章都值得仔细的阅读和思考,最喜欢讲数据存储引擎,数据分片,Replication和一致性的章节。多说一点,如果在准备面试的话,这本书对system design的帮助实在是相当大。 @ Ahacad 有人说不跟没看过这本书的人讨论分布式应用,好好好好好,我读我读 @ 邻家の躺平人 我愿尊称为“分布式数据存储领域的 CSAPP”。长久做这个领域的人可能觉得这本太基础,但是对我等门外汉土狗来说 DDIA 就是绝佳的 roadmap。未来需要不定期重复翻阅 @ 夏嘉莫察瓦绒 我能说没有获取到这本书的精髓吗,特别是并发分布式那几章,迷失了。 @ 猪肉白菜粉条 这本书适合读一万遍,把每个词都记下来。作者对数据这个行业的理解之广,我觉得应该说是无人能及了吧 @ 月海 好好好好好五星满分我要给六个星对分布式有兴趣却不看这本书,就像四大名著不读红楼梦,中间的忘了,反正只能度过一个相对失败的人生

书籍目录

  • 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 must instead fill the missing packet’s time slot with silence (causing a brief interruption in the second) and move on in the stream. The retry happens at the human layer instead. (“Could you repeat that please? The sound just cut out for a moment.”)
    —— 引自第283页
  • 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 cache, avoiding branch mispredictions and bubbles in the CPU instruction processing pipeline, and making use of single-instruction-multi-data (SIMD) instructions in modern CPUs. Besides reducing the volume of data that needs to be loaded from disk, columnoriented storage layouts are also good for making efficient use of CPU cycles. For example, the query engine can take a chunk of compressed column data that fits comfortably in the CPU’s L1 cache and iterate through it in a tight loop (that is, w…
    —— 引自第99页
  • 添加微信公众号:好书天下获取

    添加微信公众号:“好书天下”获取书籍好书天下 » Designing Data-Intensive Applications
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!

     

    添加微信公众号:“好书天下”获取书籍

    添加微信公众号:“好书天下”获取书籍添加微信公众号:“好书天下”获取书籍