售价: ¥68.30 (6.9折) 待定配送费
  • 定价: ¥99.00
此商品不能使用“一键下单”
亚马逊的其他卖家
加入购物车
¥74.30
+ 免配送费
卖家: 北发图书网旗舰店 (本店已全面采用电子发票替代纸质发票)
加入购物车
¥75.10
+ 免配送费
卖家: 新华文轩网络书店(本店已全面采用电子发票替代纸质发票)
加入购物车
¥75.20
+ 免配送费
卖家: 北京亚运村图书大厦
前翻 后翻
正在播放... 已暂停   您正在聆听的 Audible 音频版本的样品。
了解更多信息
查看此图片

设计数据密集型应用(影印版)(英文版) (英语) 平装 – 2017年10月1日

平均 5.0 星 3 条商品评论
| 天天低价·正品质优
|
分享
广告

显示所有 格式和版本 隐藏其他格式和版本
亚马逊价格
全新品最低价 非全新品最低价
平装, 2017年10月1日
¥68.30
¥68.30
 

click to open popover

经常一起购买的商品

  • 设计数据密集型应用(影印版)(英文版)
  • +
  • Scikit-Learn与TensorFlow机器学习实用指南(影印版)(英文版)
总价: ¥139.84
共同购买所选商品

无需Kindle设备,下载免费Kindle阅读软件,即可在您的手机、电脑及平板电脑上畅享阅读。

  • iPhone/iPad/Mac
  • Android手机或平板电脑

请输入您的手机号码,获取Kindle阅读软件的下载链接。



基本信息

  • 出版社: 东南大学出版社; 第1版 (2017年10月1日)
  • 外文书名: Designing data-intensive applications
  • 平装: 590页
  • 语种: 英语
  • 开本: 16
  • ISBN: 9787564173852, 7564173858
  • 条形码: 9787564173852
  • 商品尺寸: 23 x 17.8 x 2.6 cm
  • 商品重量: 1.06 Kg
  • 品牌: 南京东南大学出版社
  • ASIN: B075ZBQMM9
  • 用户评分: 平均 5.0 星 3 条商品评论
  • 亚马逊热销商品排名: 图书商品里排第3,605名 (查看图书商品销售排行榜)
  • 您想告诉我们您发现了更低的价格?

商品描述

作者简介

作者:(英)马丁·科勒普曼
马丁·科勒普曼,是英国剑桥大学的一名分布式系统研究员。在此之前他曾是软件工程师和企业家,在Linkedin和Rapportive工作过,从事大规模数据基础设施相关的工作。Martin经常在大会做演讲,写博客,也是开源贡献者。

目录

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 Supercomputing 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 


买家评论

与其他买家分享您的想法
查看全部 3 条商品评论

热门买家评论

2018年3月21日
已确认购买
2017年12月25日
已确认购买
4 个人发现此评论有用
|回应|报告滥用情况
2018年5月16日