Save 20%

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Kleppmann, Martin
List price: Rs.1,600.00
Rs.1,280.00
You save: Rs.320.00 (20%)
Reward points: 13 points
9789352135240
In stock
+

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

Table of Content

Chapter 1Reliable, Scalable, and Maintainable Applications

Thinking About Data Systems

Reliability

Scalability

Maintainability

Summary

Chapter 2Data Models and Query Languages

Relational Model Versus Document Model

Query Languages for Data

Graph-Like Data Models

Summary

Chapter 3Storage and Retrieval

Data Structures That Power Your Database

Transaction Processing or Analytics?

Column-Oriented Storage

Summary

Chapter 4Encoding and Evolution

Formats for Encoding Data

Modes of Dataflow

Summary

Distributed Data

Chapter 5Replication

Leaders and Followers

Problems with Replication Lag

Multi-Leader Replication

Leaderless Replication

Summary

Chapter 6Partitioning

Partitioning and Replication

Partitioning of Key-Value Data

Partitioning and Secondary Indexes

Rebalancing Partitions

Request Routing

Summary

Chapter 7Transactions

The Slippery Concept of a Transaction

Weak Isolation Levels

Serializability

Summary

Chapter 8The Trouble with Distributed Systems

Faults and Partial Failures

Unreliable Networks

Unreliable Clocks

Knowledge, Truth, and Lies

Summary

Chapter 9Consistency and Consensus

Consistency Guarantees

Linearizability

Ordering Guarantees

Distributed Transactions and Consensus

Summary

Derived Data

Chapter 10Batch Processing

Batch Processing with Unix Tools

MapReduce and Distributed Filesystems

Beyond MapReduce

Summary

Chapter 11Stream Processing

Transmitting Event Streams

Databases and Streams

Processing Streams

Summary

Chapter 12The Future of Data Systems

Data Integration

Unbundling Databases

Aiming for Correctness

Doing the Right Thing

Summary

Author:
Kleppmann, Martin
Binding:
Paperback
Condition Type:
New
Country Origin:
India
Edition :
1
Leadtime to ship in days (default):
1
Page:
616
Publisher:
Shroff/O'Reilly
Year:
2017

No posts found

Write a review