The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Martin Kleppmann

#Data
#Designing_Data
#NoSQL
💾 دادهها در مرکز بسیاری از چالشهای طراحی سیستم امروزی قرار دارند. مسائل دشواری مانند مقیاسپذیری، انسجام، قابلیت اطمینان، کارایی و نگهداری باید حل شوند.
🛠 علاوه بر این، با تنوع گستردهای از ابزارها روبهرو هستیم، شامل پایگاههای داده رابطهای، دیتاستورهای NoSQL، پردازشگرهای جریان یا دستهای و پیامرسانها.
❓ انتخابهای مناسب برای برنامه شما کداماند؟ چگونه میتوان به این همه اصطلاحات پیچیده و buzzwordها معنا داد؟
📘 در این راهنمای عملی و جامع، نویسنده Martin Kleppmann به شما کمک میکند تا این منظره متنوع را با بررسی مزایا و معایب فناوریهای مختلف پردازش و ذخیرهسازی دادهها هدایت کنید.
🔄 نرمافزار همواره در حال تغییر است، اما اصول بنیادی همیشه ثابت هستند. با این کتاب، مهندسین و معماران نرمافزار یاد میگیرند چگونه این ایدهها را در عمل به کار ببرند و چگونه از دادهها در برنامههای مدرن بیشترین بهره را ببرند.
💡 شما در این کتاب یاد خواهید گرفت:
🔧 نگاهی عمیق به سیستمهایی که هماکنون استفاده میکنید و یادگیری نحوه استفاده و بهرهبرداری مؤثرتر از آنها
⚖️ تصمیمگیری آگاهانه با شناسایی نقاط قوت و ضعف ابزارهای مختلف
📏 مدیریت trade-offها در زمینه انسجام، مقیاسپذیری، تحمل خطا و پیچیدگی
📚 درک تحقیقات سیستمهای توزیعشده که پایگاههای داده مدرن بر اساس آنها ساخته شدهاند
👀 نگاهی پشت صحنه خدمات آنلاین بزرگ و یادگیری از معماری آنها
📑 فهرست مطالب
بخش اول: اصول سیستمهای داده
بخش دوم: دادههای توزیعشده
بخش سوم: دادههای مشتقشده
👤 درباره نویسنده
مارتین یک محقق در زمینه سیستمهای توزیعشده در دانشگاه کمبریج است. پیش از این، او بهعنوان مهندس نرمافزار و کارآفرین در شرکتهای اینترنتی از جمله لینکدین و رپورتیو، روی زیرساخت دادههای مقیاسپذیر کار کرده است. در این فرآیند، او چندین اشتباه را به سختی یاد گرفته است و امیدوار است این کتاب شما را از تکرار همان اشتباهات نجات دهد.
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.
Table of Contents
Part I. Foundations of Data Systems
Chapter 1. Reliable, Scalable, and Maintainable Applications
Chapter 2. Data Models and Query Languages
Chapter 3. Storage and Retrieval
Chapter 4. Encoding and Evolution
Part II. Distributed Data
Chapter 5. Replication
Chapter 6. Partitioning
Chapter 7. Transactions
Chapter 8. The Trouble with Distributed Systems
Chapter 9. Consistency and Consensus
Part III. Derived Data
Chapter 10. Batch Processing
Chapter 11. Stream Processing
Chapter 12. The Future of Data Systems
Martin is a researcher in distributed systems at the University of Cambridge. Previously he was a software engineer and entrepreneur at Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure. In the process he learned a few things the hard way, and he hopes this book will save you from repeating the same mistakes.









