Search  for anything...
NA

Database Internals: A Deep Dive into How Distributed Data Systems Work

  • Based on 570 reviews
Condition: New
Checking for the best price...
$36.33 Why this price?
Save $29.65 was $65.98

Buy Now, Pay Later


As low as $9 / mo
  • – 4-month term
  • – No impact on credit to apply
  • – Instant approval decision
  • – Secure and straightforward checkout

Ready to go? Add this product to your cart and select a plan during checkout.

Payment plans are offered through our trusted finance partners Klarna, Affirm, Afterpay, Zip, Apple Pay, and Google Pay. No-credit-needed leasing options through Acima may also be available at checkout.

Learn more about financing & leasing here.

Selected Option

Free shipping on this product

FREE 30-day refund/replacement

To qualify for a full refund, items must be returned in their original, unused condition. If an item is returned in a used, damaged, or materially different state, you may be granted a partial refund.

To initiate a return, please visit our Returns Center.

View our full returns policy here.


Availability: Only 4 left in stock, order soon!
Fulfilled by Amazon

Arrives Tuesday, Oct 13
Order within 22 hours and 1 minute
Available payment plans shown during checkout

Protection Plan Protect Your Purchase
Checking for protection plans...

Format: Paperback


Description

When it comes to choosing, using, and maintaining a database, understanding its internals is essential. But with so many distributed databases and tools available today, it’s often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals. Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed. This book examines: Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable Log Structured storage engines, with differences and use-cases for each Storage building blocks: Learn how database files are organized to build efficient storage, using auxiliary data structures such as Page Cache, Buffer Pool and Write-Ahead Log Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns Database clusters: Which consistency models are commonly used by modern databases and how distributed storage systems achieve consistency Read more

Publisher ‏ : ‎ O'Reilly Media


Publication date ‏ : ‎ November 5, 2019


Edition ‏ : ‎ 1st


Language ‏ : ‎ English


Print length ‏ : ‎ 370 pages


ISBN-10 ‏ : ‎ 1492040347


ISBN-13 ‏ : ‎ 47


Item Weight ‏ : ‎ 2.31 pounds


Dimensions ‏ : ‎ 7 x 0.75 x 9 inches


Best Sellers Rank: #34,337 in Books (See Top 100 in Books) #2 in Desktop Database Books #3 in Management Information Systems #3 in Data Warehousing (Books)


Frequently asked questions

If you place your order now, the estimated arrival date for this product is: Tuesday, Oct 13

Yes, absolutely! You may return this product for a full refund within 30 days of receiving it.

To initiate a return, please visit our Returns Center.

View our full returns policy here.

  • Klarna Financing
  • Affirm Pay in 4
  • Affirm Financing
  • Afterpay Financing
  • Zip Pay in 4
  • Financing through Apple Pay
  • Financing through Google Pay
Leasing options through Acima may also be available during checkout.

Learn more about financing & leasing here.

Top Amazon Reviews


  • Great book for backend developers
Format: Paperback
Great book, covers enough to get intuition about databases
Reviewed in the United States on July 5, 2026 by Yaroslav Miloslavsky

  • Packed with details, great read
Format: Kindle
Can't believe I forgot to write a review for this one! Partly it's probably because I usually have less to say (or more precisely it's harder for me to be properly articulate) about things I like than I do about the ones I don't. And boy did I like Database Internals! I'll try my best to explain why, the book and the author surely deserve it. Being a back-end engineer, the main reason for picking this one up was to better understand the distributed databases that I may end up in (or have already had) contact with. With that in mind, I planned on just skimming the first part of the book but imagine my surprise when I found myself Googling BW and LSM trees and going through papers comparing this and that algorithm and their impacts on memory, storage and CPU caches in multicore systems. The geek got suckered in! With my curiosity circuits pleasantly warmed by the first part, I moved on to the second part of the book - the main dish - where a similar scenario unfolded: again I swallowed up whatever was served and ended up digging for more and adding scores of books and papers to my to-read list. All in all, Database Internals reads felt a lot like a trip to the zoo or a local museum: chock full of data structures and algorithms used by modern-day databases (and distributed systems in general), the book will showcase each item with sufficient details for you to grasp what they're about and then provide you with enough bibliography and reference material to last you a lifetime... or at least a couple of years. ... show more
Reviewed in the United States on November 17, 2020 by FingolfinTEK

  • Worth the effort
Format: Paperback
This book took me a few years to get through. It is much more low-level than something like DDIA. Having worked on database code for the past couple of years, that context was crucial in helping me understand the book. The book is great because it covers all of the important ideas in databases and talks about the tradeoffs of using various algorithms. Succinct, detailed, and quality. ... show more
Reviewed in the United States on May 19, 2024 by J. Bodah

  • Summarized Recent Overview of Storage & Distributed Systems
Format: Paperback
Mastery in systems abstraction comes through a philosophical pivot. While an enthusiastic beginner considers successful "use cases", an experienced traveler - through her implicit awareness of futility against entropy - often only considers failure and just tries her best. As more systems, and more of every system, are being dictated by the twin forces of economics and architectural modernism, a much higher percentage of design and development efforts in software should be dedicated to understanding fundamentals (CPU registers, branch prediction etc.) and essential complexities (multi-node consensus, replication failures etc.). This book is a good start. Database Internals is divided into two parts - the first deals with database storage. Especially good sections put a 9-cell flash-light on how many recent architectures are indeed built to tackle complexity bottom-up. i.e., LSM (log-structured merge) trees nicely complement the "write amplification" of Solid-State Disks. The discussion on the canonical B-tree and its multiple siblings (especially Bw-tree) is very well done. The functional difference between locks and latches would be enlightening even for experienced database practitioners - locks are used to manage transactions, latches to guard the *physical* storage representation. The second half of the book focusing on distributed systems is more uneven in quality. It is, however, a great start of economized discussion of about 50 "Best Papers" on Leader Election, Failure/Crash detection, Replication and how distributed systems friendly "consensus protocols", rather than atomic ones like 2-phase commit work better. In many ways, distributed systems have veered from monarchy (single, immutable leader deciding everything, including the next leader) to a true republic (leader is still almost omnipotent, but is regularly replaced by the constituents). The comparative analysis of Paxos, ZAB and Raft - with clear sequence diagrams - is very well done. The quality of writing is good, though could have been helped with more ruthless editing. The area covered is simply too broad, other than the intersect of SSDs and Modern DB architecture which is very deep and very good. Still the book easily deserves at least 4-stars for the enthusiasm and for its good attempt to convey distributed systems pedagogy to general practitioners. Pair it with Martin Kleppmann's "Designing Data Intensive Applications" and Ken Birman's "Guide to Reliable Distributed Systems". ... show more
Reviewed in the United States on November 30, 2019 by Nilendu Misra

  • Presents a logical progression of design decisions for a database
Format: Paperback
This book is a logical progression of the decisions in the physical design of data structures needed to support a database either as a single entity or as replicas. This book only considers open-source database engines and avoids any discussion of proprietary database engines such as Oracle RDBMS or Microsoft SQL/Server. I found this book to be very interesting for the technical detail. There were some concepts that I found difficult to grasp at first. ... show more
Reviewed in the United States on August 2, 2020 by D. Hawthorne

  • I've been looking for this book for years
Format: Paperback
I've been looking for a book that covers these topics for a long time. Even just working with different databases on a day-to-day basis it's incredibly helpful to understand how components of each database actually work. Furthermore the topics covered in this book span a very wide array of different topics and techniques which are incredibly handy for distributed systems. It's really hard to find this much information in a single book. Usuaully you'd have to know each of the topics you're interested in and buy an entire book on that topic. This book packs a pretty in depth view on several topics related to database systems into one book without needless fluff. I highly recommend this book not only to people working on distributed data systems, but to anyone working with databases. This is one of my most frequently referenced books I own. ... show more
Reviewed in the United States on April 16, 2021 by travis

  • One of the Best Books out there
Format: Paperback
This is one of the best texts covering Database internals. Databases are used everyday, and understanding what happens under the hood is daunting task. This book takes a pragmatic approach on the topic, starting with basics and then taking a deeper dive into how the basic data structures and concept come together. IMHO, this book shall appeal to both Database developer's and engineer's who want to understand how databases work. This book is must have to for the engineer's who really want to get into Database development. Otherwise also this book is a must have reference in general. I personally liked the attention to details in the book on what really matter's when writing a real database. The concepts are equally applicable to SQL and NoSQL databases. ... show more
Reviewed in the United States on November 3, 2019 by Ashish Paliwal

  • Fantastic
Format: Paperback
Very much enjoyed reading this book! I found the first half (on single-node database internals) a little dry (even though that's why I bought the book), so I actually skipped and read part 2 (distributed database systems) to get me excited about reading Part 1. Turns out this works, and is totally a valid strategy if you understand Btrees, SSTs, and Logs. ... show more
Reviewed in the United States on April 29, 2020 by Conscientious Consumer

Can't find a product?

Find it on Amazon first, then paste the link below.
Checking for best price...