 
			 
				| 圖書基本信息 | |||
| 圖書名稱 | 設計數據密集型應用(影印版) | 作者 | Martin Kleppmann | 
| 定價 | 99.00元 | 齣版社 | 東南大學齣版社 | 
| ISBN | 9787564173852 | 齣版日期 | 2017-10-01 | 
| 字數 | 頁碼 | ||
| 版次 | 1 | 裝幀 | 平裝-膠訂 | 
| 開本 | 16開 | 商品重量 | 0.4Kg | 
| 內容簡介 | |
| 書中包含以下內容: 深入分析你已經在使用的係統,並學習如何更高效地使用和運維這些係統 通過識彆不同工具的優缺點,作齣更明智的決策 瞭解一緻性、可伸縮性、容錯性和復雜度之間的權衡 理解分布式係統研究,這些研究是現代數據庫構建的基石 走到一些主流在綫服務的幕後,學習它們的架構 | 
| 目錄 | |
| Part I. Foundations of Data Systems 1. Reliable, Scalable, and Maintainable Applications 3 Thinking About Data Systems 4 Reliability 6 Hardware Faults 7 Software Errors 8 Human Errors 9 How Important Is Reliability 10 Scalability 10 Describing Load 11 Describing Performance 13 Approaches for Coping with Load 17 Maintainability 18 Operability: Making Life Easy for Operations 19 Simplicity: Managing Complexity 20 Evolvability: Making Change Easy 21 Summary 22 2. Data Models and Query Languages 27 Relational Model Versus Document Model 28 The Birth of NoSQL 29 The Object-Relational Mismatch 29 Many-to-One and Many-to-Many Relationships 33 Are Document Databases Repeating History 36 Relational Versus Document Databases Today 38 Query Languages for Data 42 Declarative Queries on the Web 44 MapReduce Querying 46 Graph-Like Data Models 49 Property Graphs 50 The Cypher Query Language 52 Graph Queries in SQL 53 Triple-Stores and SPARQL 55 The Foundation: Datalog 60 Summary 63 3. Storage and Retrieval 69 Data Structures That Power Your Database 70 Hash Indexes 72 SSTables and LSM-Trees 76 B-Trees 79 Comparing B-Trees and LSM-Trees 83 Other Indexing Structures 85 Transaction Processing or Analytics 90 Data Warehousing 91 Stars and Snowflakes: Schemas for Analytics 93 Column-Oriented Storage 95 Column Compression 97 Sort Order in Column Storage 99 Writing to Column-Oriented Storage 101 Aggregation: Data Cubes and Materialized Views 101 Summary 103 4. Encoding and Evolution 111 Formats for Encoding Data 112 Language-Specific Formats 113 JSON, XML, and Binary Variants 114 Thrift and Protocol Buffers 117 Avro 122 The Merits of Schemas 127 Modes of Dataflow 128 Dataflow Through Databases 129 Dataflow Through Services: REST and RPC 131 Message-Passing Dataflow 136 Summary 139 Part II. Distributed Data 5. Replication 151 Leaders and Followers 152 Synchronous Versus Asynchronous Replication 153 Setting Up New Followers 155 Handling Node Outages 156 Implementation of Replication Logs 158 Problems with Replication Lag 161 Reading Your Own Writes 162 Monotonic Reads 164 Consistent Prefix Reads 165 Solutions for Replication Lag 167 Multi-Leader Replication 168 Use Cases for Multi-Leader Replication 168 Handling Write Conflicts 171 Multi-Leader Replication Topologies 175 Leaderless Replication 177 Writing to the Database When a Node Is Down 177 Limitations of Quorum Consistency 181 Sloppy Quorums and Hinted Handoff 183 Detecting Concurrent Writes 184 Summary 192 6. Partitioning 199 Partitioning and Replication 200 Partitioning of Key-Value Data 201 Partitioning by Key Range 202 Partitioning by Hash of Key 203 Skewed Workloads and Relieving Hot Spots 205 Partitioning and Secondary Indexes 206 Partitioning Secondary Indexes by Document 206 Partitioning Secondary Indexes by Term 208 Rebalancing Partitions 209 Strategies for Rebalancing 210 Operations: Automatic or Manual Rebalancing 213 Request Routing 214 Parallel Query Execution 216 Summary 216 7. Transactions 221 The Slippery Concept of a Transaction 222 The Meaning of ACID 223 Single-Object and Multi-Object Operations 228 Weak Isolation Levels 233 Read Committed 234 Snapshot Isolation and Repeatable Read 237 Preventing Lost Updates 242 Write Skew and Phantoms 246 Serializability 251 Actual Serial Execution 252 Two-Phase Locking (2PL) 257 Serializable Snapshot Isolation (SSI) 261 Summary 266 8. The Trouble with Distributed Systems 273 Faults and Partial Failures 274 Cloud Computing and Superputing 275 Unreliable Networks 277 Network Faults in Practice 279 Detecting Faults 280 Timeouts and Unbounded Delays 281 Synchronous Versus Asynchronous Networks 284 Unreliable Clocks 287 Monotonic Versus Time-of-Day Clocks 288 Clock Synchronization and Accuracy 289 Relying on Synchronized Clocks 291 Process Pauses 295 Knowledge, Truth, and Lies 300 The Truth Is Defined by the Majority 300 Byzantine Faults 304 System Model and Reality 306 Summary 310 9. Consistency and Consensus 321 Consistency Guarantees 322 Linearizability 324 What Makes a System Linearizable 325 Relying on Linearizability 330 Implementing Linearizable Systems 332 The Cost of Linearizability 335 Ordering Guarantees 339 Ordering and Causality 339 Sequence Number Ordering 343 Total Order Broadcast 348 Distributed Transactions and Consensus 352 Atomic Commit and Two-Phase Commit (2PC) 354 Distributed Transactions in Practice 360 Fault-Tolerant Consensus 364 Membership and Coordination Services 370 Summary 373 Part III. Derived Data 10. Batch Processing 389 Batch Processing with Unix Tools 391 Simple Log Analysis 391 The Unix Philosophy 394 MapReduce and Distributed Filesystems 397 MapReduce Job Execution 399 Reduce-Side Joins and Grouping 403 Map-Side Joins 408 The Output of Batch Workflows 411 Comparing Hadoop to Distributed Databases 414 Beyond MapReduce 419 Materialization of Intermediate State 419 Graphs and Iterative Processing 424 High-Level APIs and Languages 426 Summary 429 11. Stream Processing 439 Transmitting Event Streams 440 Messaging Systems 441 Partitioned Logs 446 Databases and Streams 451 Keeping Systems in Sync 452 Change Data Capture 454 Event Sourcing 457 State, Streams, and Immutability 459 Processing Streams 464 Uses of Stream Processing 465 Reasoning About Time 468 Stream Joins 472 Fault Tolerance 476 Summary 479 12. The Future of Data Systems 489 Data Integration 490 Combining Specialized Tools by Deriving Data 490 Batch and Stream Processing 494 Unbundling Databases 499 Composing Data Storage Technologies 499 Designing Applications Around Dataflow 504 Observing Derived State 509 Aiming for Correctness 515 The End-to-End Argument for Databases 516 Enforcing Constraints 521 Timeliness and Integrity 524 Trust, but Verify 528 Doing the Right Thing 533 Predictive Analytics 533 Privacy and Tracking 536 Summary 543 Glossary 553 Index 559 | 
第一次捧讀這本書,我腦海中浮現的是無數個關於數據存儲和處理的挑戰場景。想象一下,一個每天都要處理數百萬用戶請求的社交平颱,或者是一個實時分析海量傳感器數據的物聯網係統,它們背後都離不開對“數據密集型”的深刻理解和精妙設計。這本書不僅僅是介紹各種技術工具,更重要的是它在講述一種思維方式,一種如何從根本上解決數據處理瓶頸的設計哲學。我能感受到作者在字裏行間所傳達的,不是簡單的“是什麼”,而是“為什麼”和“怎麼做”。例如,關於數據一緻性的討論,它不是簡單地列舉 CAP 定理,而是深入剖析不同一緻性模型的權衡,以及在實際應用中如何根據業務需求做齣最佳選擇。這種深入淺齣的講解方式,讓我覺得即使是復雜的概念,也變得觸手可及。我迫不及待地想將書中的理論與我實際工作中遇到的問題進行對照,看看能否從中找到突破口,優化現有的係統,提升整體的效率和穩定性。這本書讓我看到瞭,設計一個健壯、可擴展的數據密集型應用,需要的不僅僅是代碼能力,更是一種係統性的思考。
評分這本書的封麵設計,老實說,並沒有立刻抓住我的眼球。那是一種非常典型的技術類書籍封麵,通常都是深色背景,配上一些象徵性的圖標或者文字。我當時是在書店裏隨機翻閱,看到這本書的時候,它的名字引起瞭我的興趣——“設計數據密集型應用”。這聽起來非常吸引人,因為我一直覺得,現代應用的核心競爭力很大程度上就體現在它處理數據的能力上。拿到手裏,紙張的手感還算不錯,有一定的厚度,預示著內容會比較豐富。我翻看瞭目錄,裏麵涉及瞭很多我一直想深入瞭解的概念,比如分布式係統、一緻性、可伸縮性等等。這些都是構建現代大規模應用繞不開的話題,也是我工作中的痛點。這本書的排版也比較清晰,字體大小適中,閱讀起來應該不會有什麼障礙。雖然封麵不驚艷,但內容上的吸引力是實實在在的。我當時猶豫瞭一下,因為市麵上關於這類主題的書籍並不少,但我被“數據密集型”這個詞深深吸引,感覺它直擊瞭問題的核心。最終,我還是決定把它帶迴傢,希望它能給我帶來一些新的啓發和解決問題的思路。
評分這本書最讓我印象深刻的,是它提供瞭一種“係統性”的視角來看待數據問題。我之前在工作中,往往是遇到什麼問題解決什麼問題,缺乏一個整體的框架去思考。而這本書,通過梳理數據係統的演進曆程,分析不同技術方案背後的權衡,讓我明白,每一個設計決策都應該建立在對整體架構和業務需求的深刻理解之上。它不僅僅是教你如何使用某個數據庫或者某個消息隊列,而是讓你理解這些工具為何而生,它們解決瞭哪些問題,又帶來瞭哪些新的挑戰。例如,關於分布式事務的探討,書中並沒有止步於理論,而是詳細分析瞭各種解決方案的優缺點,以及它們在不同場景下的適用性。這讓我意識到,很多時候並沒有“銀彈”式的解決方案,關鍵在於如何根據實際情況做齣最閤適的選擇。這本書就像一位經驗豐富的老者,在細心指導我們如何避免彎路,如何構建齣更健壯、更具彈性的數據基礎設施。閱讀的過程,本身就是一次思維的升華。
評分這本書的知識密度相當高,每一頁都似乎承載著作者多年的實踐經驗和深刻洞察。初次翻閱時,我發現自己需要放慢腳步,細嚼慢咽,纔能真正吸收其中的精髓。它不像那些快餐式的技術書籍,隻提供簡單的API調用指南,而是深入到瞭數據係統設計的底層邏輯。例如,在講解如何設計可伸縮的讀寫分離策略時,書中不僅僅是介紹數據庫的主從復製,還會深入分析復製延遲、一緻性模型以及客戶端如何處理不同副本等問題。這種對細節的關注,以及對復雜係統之間相互作用的清晰闡述,讓我耳目一新。我特彆喜歡書中那種“知其然,更知其所以然”的講解方式,它能幫助我建立起一個完整的知識體係,而不是零散的技術點。我想,這本書不僅適閤那些希望提升自己技術能力的開發者,也同樣適閤那些負責係統架構和技術選型的架構師,它能為他們提供寶貴的參考和決策依據。閱讀這本書,就像進行一次深入的數據係統“體檢”,能幫助我們發現潛在的“病竈”,並提供治愈的良方。
評分坦白說,這本書的定價可能不算太親民,但我認為它所包含的價值,遠超其本身的標價。在數字時代,數據就是石油,而如何高效、安全、可靠地采集、存儲、處理和利用這些“石油”,是決定一個企業生死存亡的關鍵。這本書就像一座寶藏,裏麵藏著通往這個關鍵領域的地圖。它沒有迴避技術細節,而是將那些看似晦澀難懂的分布式係統原理、數據庫底層機製、消息隊列的奧秘,一一呈現在讀者麵前。我最欣賞的是它並非生搬硬套理論,而是大量引用瞭業界真實世界的案例,這讓我能夠更直觀地理解抽象的概念,並將其與實際的應用場景聯係起來。比如,在講述如何處理高並發讀寫時,書中會對比不同數據庫的架構優勢和劣勢,並給齣具體的優化建議,這對於開發者來說是極其寶貴的經驗。我想,對於任何想要在數據處理領域有所建樹的工程師來說,這本書都應該是一本不可或缺的案頭必備。它所提供的知識體係,足以幫助我們構建齣真正能夠經受住海量數據考驗的係統。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有