{"repo":"ps06756/Designing-Data-Intensive-Applications","free":true,"listed":false,"github":"https://github.com/ps06756/Designing-Data-Intensive-Applications","clone":"git clone https://github.com/ps06756/Designing-Data-Intensive-Applications.git","description":"Notes for the book \"Designing Data Intensive Applications\"","language":null,"stars":57,"topics":["designing-data-intensive-applications","notes","system-design","system-design-interview"],"license":"MIT","category":"productivity","readme_excerpt":"Designing-Data-Intensive-Applications This repository explains the concepts from \"Designing Data-Intensive Applications\" by Martin Kleppmann, with chapter-by-chapter breakdowns and practical examples. Chapters - Chapter 1: Reliable, Scalable, and Maintainable Applications - Foundation chapter covering the three fundamental concerns in software systems: reliability (fault tolerance), scalability (handling growth), and maintainability (operability, simplicity, evolvability). - Chapter 2: Data Models and Query Languages - Comprehensive exploration of data models including relational (SQL), document (NoSQL), and graph databases, along with their query languages, trade-offs, and when to use each model. - Chapter 3: Storage and Retrieval - Deep dive into how databases store and retrieve data, covering hash indexes, SSTables, LSM-trees, B-trees, and the differences between OLTP (row-oriented) and OLAP (column-oriented) storage engines. - Chapter 4: Encoding and Evolution - Comprehensive guide to data encoding formats (JSON, XML, Thrift, Protocol Buffers, Avro), schema evolution strategies, backward/forward compatibility, and dataflow patterns through databases, services, and message queues. - Chapter 5: Replication - Explores replication strategies including single-leader, multi-leader, and leaderless replication, along with handling consistency challenges and conflicts. - Chapter 6: Partitioning - Covers partitioning strategies (sharding) for scalability, including key-range and ha","default_branch":null,"files":null,"tree":[],"storefront":"/r/ps06756","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ps06756/Designing-Data-Intensive-Applications/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}