
عنوان:
Database Internals
نویسنده:
Alex Petrov
انتشارات:
O’Reilly Media
تاریخ انتشار
2019
حجم:
3.7MB
معرفی کتاب: " مفاهیم و ساختارهای درونی پایگاهدادههای مدرن"
در زمان انتخاب، استفاده و نگهداری از یک پایگاهداده، درک ساختار درونی آن بسیار حیاتی است. اما با وجود ابزارها و پایگاهدادههای توزیعشدهی فراوانی که امروزه در دسترس هستند، درک اینکه هرکدام چه قابلیتی ارائه میدهند و چه تفاوتی با یکدیگر دارند، کار سادهای نیست.
در این راهنمای عملی، Alex Petrov مفاهیم اصلی پشت طراحی و پیادهسازی پایگاهدادهها و storage engineهای مدرن را برای توسعهدهندگان توضیح میدهد. در سراسر کتاب، مطالبی برگرفته از منابع مختلف از جمله کتابها، مقالات علمی، پستهای تخصصی و کد منبع چندین پایگاهدادهی open source بررسی شدهاند. این منابع در پایان بخشهای اول و دوم فهرست شدهاند.
در طول مطالعهی کتاب، خواهید فهمید که بسیاری از تفاوتهای کلیدی بین پایگاهدادههای مدرن در زیرسیستمهایی نهفتهاند که مشخص میکنند دادهها چگونه ذخیره میشوند و چطور توزیع میگردند.
موضوعات اصلی کتاب
- Storage Engines: آشنایی با طبقهبندی و انواع موتورهای ذخیرهسازی، بررسی B-Tree-based storage engines و immutable log-structured storage engines به همراه تفاوتها و کاربردهای هر کدام.
- Distributed Systems: یادگیری گامبهگام نحوهی ارتباط میان nodes و processes و ساخت الگوهای ارتباطی پیچیده از UDP تا پروتکلهای اجماع قابل اعتماد (reliable consensus protocols).
- Database Clusters: درک چگونگی دستیابی به مدلهای سازگار (consistent models) برای دادههای replicated.
کتاب Database Internals دیدی عمیق و کاربردی از ساختار درونی پایگاهدادهها ارائه میدهد و برای توسعهدهندگانی که میخواهند بفهمند «در پشت پردهی دیتابیسها چه میگذرد»، منبعی بینظیر است.
فهرست مطالب
- Preface
- I. Storage Engines
- Chapter 1. Introduction and Overview
- DBMS Architecture
- Memory- Versus Disk-Based DBMS
- Column- Versus Row-Oriented DBMS
- Data Files and Index Files
- Buffering, Immutability, and Ordering
- Summary
- Chapter 2. B-Tree Basics
- Binary Search Trees
- Disk-Based Structures
- Ubiquitous B-Trees
- Summary
- Chapter 3. File Formats
- Motivation
- Binary Encoding
- General Principles
- Page Structure
- Slotted Pages
- Cell Layout
- Combining Cells into Slotted Pages
- Managing Variable-Size Data
- Versioning
- Checksumming
- Summary
- Chapter 4. Implementing B-Trees
- Page Header
- Binary Search
- Propagating Splits and Merges
- Rebalancing
- Right-Only Appends
- Compression
- Vacuum and Maintenance
- Summary
- Chapter 5. Transaction Processing and Recovery
- Buffer Management
- Recovery
- Concurrency Control
- Summary
- Chapter 6. B-Tree Variants
- Copy-on-Write
- Abstracting Node Updates
- Lazy B-Trees
- FD-Trees
- Bw-Trees
- Cache-Oblivious B-Trees
- Summary
- Chapter 7. Log-Structured Storage
- LSM Trees
- Read, Write, and Space Amplification
- Implementation Details
- Unordered LSM Storage
- Concurrency in LSM Trees
- Log Stacking
- LLAMA and Mindful Stacking
- Summary
- Part I Conclusion
- II. Distributed Systems
- Chapter 8. Introduction and Overview
- Concurrent Execution
- Fallacies of Distributed Computing
- Distributed Systems Abstractions
- Two Generals’ Problem
- FLP Impossibility
- System Synchrony
- Failure Models
- Chapter 9. Failure Detection
- Heartbeats and Pings
- Phi-Accural Failure Detector
- Gossip and Failure Detection
- Reversing Failure Detection Problem Statement
- Summary
- Chapter 10. Leader Election
- Bully Algorithm
- Next-In-Line Failover
- Candidate/Ordinary Optimization
- Invitation Algorithm
- Ring Algorithm
- Summary
- Chapter 11. Replication and Consistency
- Achieving Availability
- Infamous CAP
- Shared Memory
- Ordering
- Consistency Models
- Session Models
- Eventual Consistency
- Tunable Consistency
- Witness Replicas
- Strong Eventual Consistency and CRDTs
- Summary
- Chapter 12. Anti-Entropy and Dissemination
- Read Repair
- Digest Reads
- Hinted Handoff
- Merkle Trees
- Bitmap Version Vectors
- Gossip Dissemination
- Summary
- Chapter 13. Distributed Transactions
- Making Operations Appear Atomic
- Two-Phase Commit
- Three-Phase Commit
- Distributed Transactions with Calvin
- Distributed Transactions with Spanner
- Database Partitioning
- Distributed Transactions with Percolator
- Coordination Avoidance
- Summary
- Chapter 14. Consensus
- Broadcast
- Atomic Broadcast
- Paxos
- Raft
- Byzantine Consensus
- Summary
- Part II Conclusion
- A. Bibliography
- Index
مشخصات
نام کتاب
Database Internals
نویسنده
Alex Petrov
انتشارات
O’Reilly Media
تاریخ انتشار
2019
ISBN
9781492040347
تعداد صفحات
498
زبان
انگلیسی
فرمت
حجم
3.7MB
موضوع
Databases