Designing data-intensive applications : the big ideas behind reliable, scalable, and maintainable systems / by Martin Kleppmann

By: Kleppmann, MartinMaterial type: TextTextPublication details: New Delhi : Shroff Publishers, c2017 [2023]Edition: 1st edDescription: xix, 590 p. : ill. ; 23 cmISBN: 9789352135240Subject(s): Web site development | Application software -- Development | Database Management | CSE | Computer science and engineeringDDC classification: 005.3
Contents:
Table of Contents: Chapter 1. Reliable, Scalable, and Maintainable Applications; Thinking About Data Systems; Reliability; Hardware Faults; Software Errors; Human Errors; How Important Is Reliability?; Scalability; Describing Load; Describing Performance; Approaches for Coping with Load; Maintainability; Operability: Making Life Easy for Operations; Simplicity: Managing Complexity. Evolvability: Making Change EasySummary; Chapter 2. Data Models and Query Languages; Relational Model Versus Document Model; The Birth of NoSQL; The Object-Relational Mismatch; Many-to-One and Many-to-Many Relationships; Are Document Databases Repeating History?; Relational Versus Document Databases Today; Query Languages for Data; Declarative Queries on the Web; MapReduce Querying; Graph-Like Data Models; Property Graphs; The Cypher Query Language; Graph Queries in SQL; Triple-Stores and SPARQL; The Foundation: Datalog; Summary; Chapter 3. Storage and Retrieval. Data Structures That Power Your DatabaseHash Indexes; SSTables and LSM-Trees; B-Trees; Comparing B-Trees and LSM-Trees; Other Indexing Structures; Transaction Processing or Analytics?; Data Warehousing; Stars and Snowflakes: Schemas for Analytics; Column-Oriented Storage; Column Compression; Sort Order in Column Storage; Writing to Column-Oriented Storage; Aggregation: Data Cubes and Materialized Views; Summary; Chapter 4. Encoding and Evolution; Formats for Encoding Data; Language-Specific Formats; JSON, XML, and Binary Variants; Thrift and Protocol Buffers; Avro; The Merits of Schemas. Modes of DataflowDataflow Through Databases; Dataflow Through Services: REST and RPC; Message-Passing Dataflow; Summary; Part II. Distributed Data; Chapter 5. Replication; Leaders and Followers; Synchronous Versus Asynchronous Replication; Setting Up New Followers; Handling Node Outages; Implementation of Replication Logs; Problems with Replication Lag; Reading Your Own Writes; Monotonic Reads; Consistent Prefix Reads; Solutions for Replication Lag; Multi-Leader Replication; Use Cases for Multi-Leader Replication; Handling Write Conflicts; Multi-Leader Replication Topologies. Leaderless ReplicationWriting to the Database When a Node Is Down; Limitations of Quorum Consistency; Sloppy Quorums and Hinted Handoff; Detecting Concurrent Writes; Summary; Chapter 6. Partitioning; Partitioning and Replication; Partitioning of Key-Value Data; Partitioning by Key Range; Partitioning by Hash of Key; Skewed Workloads and Relieving Hot Spots; Partitioning and Secondary Indexes; Partitioning Secondary Indexes by Document; Partitioning Secondary Indexes by Term; Rebalancing Partitions; Strategies for Rebalancing; Operations: Automatic or Manual Rebalancing; Request Routing.
Summary: 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 mainteinability. In addition, we have an overwhelming variet 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 gjuide, 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.
Tags from this library: No tags from this library for this title. Log in to add tags.
    Average rating: 0.0 (0 votes)
Item type Current library Call number Copy number Status Date due Barcode Item holds
BOOK BOOK ULAB Library
005.3 KLD (Browse shelf (Opens below)) 1 Available 21526
BOOK BOOK ULAB Library
005.3 KLD (Browse shelf (Opens below)) 2 Yes 21527
Total holds: 0

Includes Bibliographical References and Index.

Table of Contents: Chapter 1. Reliable, Scalable, and Maintainable Applications; Thinking About Data Systems; Reliability; Hardware Faults; Software Errors; Human Errors; How Important Is Reliability?; Scalability; Describing Load; Describing Performance; Approaches for Coping with Load; Maintainability; Operability: Making Life Easy for Operations; Simplicity: Managing Complexity. Evolvability: Making Change EasySummary; Chapter 2. Data Models and Query Languages; Relational Model Versus Document Model; The Birth of NoSQL; The Object-Relational Mismatch; Many-to-One and Many-to-Many Relationships; Are Document Databases Repeating History?; Relational Versus Document Databases Today; Query Languages for Data; Declarative Queries on the Web; MapReduce Querying; Graph-Like Data Models; Property Graphs; The Cypher Query Language; Graph Queries in SQL; Triple-Stores and SPARQL; The Foundation: Datalog; Summary; Chapter 3. Storage and Retrieval. Data Structures That Power Your DatabaseHash Indexes; SSTables and LSM-Trees; B-Trees; Comparing B-Trees and LSM-Trees; Other Indexing Structures; Transaction Processing or Analytics?; Data Warehousing; Stars and Snowflakes: Schemas for Analytics; Column-Oriented Storage; Column Compression; Sort Order in Column Storage; Writing to Column-Oriented Storage; Aggregation: Data Cubes and Materialized Views; Summary; Chapter 4. Encoding and Evolution; Formats for Encoding Data; Language-Specific Formats; JSON, XML, and Binary Variants; Thrift and Protocol Buffers; Avro; The Merits of Schemas. Modes of DataflowDataflow Through Databases; Dataflow Through Services: REST and RPC; Message-Passing Dataflow; Summary; Part II. Distributed Data; Chapter 5. Replication; Leaders and Followers; Synchronous Versus Asynchronous Replication; Setting Up New Followers; Handling Node Outages; Implementation of Replication Logs; Problems with Replication Lag; Reading Your Own Writes; Monotonic Reads; Consistent Prefix Reads; Solutions for Replication Lag; Multi-Leader Replication; Use Cases for Multi-Leader Replication; Handling Write Conflicts; Multi-Leader Replication Topologies. Leaderless ReplicationWriting to the Database When a Node Is Down; Limitations of Quorum Consistency; Sloppy Quorums and Hinted Handoff; Detecting Concurrent Writes; Summary; Chapter 6. Partitioning; Partitioning and Replication; Partitioning of Key-Value Data; Partitioning by Key Range; Partitioning by Hash of Key; Skewed Workloads and Relieving Hot Spots; Partitioning and Secondary Indexes; Partitioning Secondary Indexes by Document; Partitioning Secondary Indexes by Term; Rebalancing Partitions; Strategies for Rebalancing; Operations: Automatic or Manual Rebalancing; Request Routing.

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 mainteinability. In addition, we have an overwhelming variet 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 gjuide, 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.

CSE

424018

There are no comments on this title.

to post a comment.


Developed By: ULAB IT
Copyright © ULAB Library 2017-2021
University of Liberal Arts Bangladesh
Library Home | Library Staff | Contact

Powered by Koha