![]() ![]() ![]() The book starts with a definition of scalability: a system’s ability to deal with increased load. B-trees are even wider than this! Photo by niko photos on Unsplash ![]() Designing Data-Intensive Applications had the same impact on me. That one lesson made four years of computer theory make sense. ![]() Then I had a flash of insight, on how this data structure prevented you from searching a disk for some database record (assuming you had enough RAM to keep the B-tree in memory). On seeing a B-tree I first thought “what an amazingly odd data structure”. I knew a primary law of computing: “’never’ go to the disk”, but could not fathom how that was possible. This book fundamentally lays out how that is possible.Īs a university student, I did not fully appreciate how relational databases worked so well until the instructor did a lesson on B-trees. You’ve probably heard that Internet companies and hyperscalers achieve their amazing scale via horizontal scaling rather than vertical scaling (adding more servers instead of making each server bigger). Kleppmann’s central thesis is that applications are rarely CPU-bound, especially given that CPUs are not getting much faster, and parallelism is on the rise. I’m so glad I read Designing Data-Intensive Applications by Martin Kleppmann!ĭesigning Data-Intensive Applications by Martin Kleppmann is a tour de force, a wonderful book for anyone interested in learning about the kinds of applications where data is the key constraint. ![]()
0 Comments
Leave a Reply. |