В книге рассматриваются системы баз данных с точки зрения разработчика ПО. Автор подробно разбирает исходный код полностью функциональной, но при этом простой для изучения учебной базы данных SimpleDB и предлагает читателям, изменяя отдельные ее компоненты, разобраться в том, к чему это приведет. Это отличный способ погрузиться в тему и изучить, как работают базы данных на уровне исходного кода. Приводится краткий обзор систем баз данных; рассказывается о том, как написать приложение базы данных на Java; подробно описываются отдельные компоненты типичной системы баз данных, начиная с самого низкого уровня абстракции (управление дисками и диспетчер файлов) и заканчивая самым верхним (интерфейс клиента JDBC). Заключительные главы посвящены эффективной обработке запросов. Издание предназначено для студентов вузов, а также всех разработчиков, кто хочет научиться создавать системы баз данных.
Great book if you're following along with either your own implementation or the Java codebase from the book. Read this as part of Phil Eaton's software internals book club: https://eatonphil.com/bookclub.html
It was cool to have the author himself as part of the book club, thanks Edward Sciore.
The material is definitely not holistic nor up to date with what is going on in the world of database engineering, but I think as a pedagogical tool for getting acquainted with DB's as a first brush it is fantastic. Each chapter gives you just enough on the topic to get some basic grounding and a basic API design to go along with that part of the DB. I think the code is meant to be intentionally naive, it is really just there to provide the building blocks for composing a simple DB, and you can extend it/redesign it as you like when you do your own coding.
TL;DR maybe not the best if you already know a lot about DB internals, but for a newcomer I think it was great.
Most comprehensive and detailed book I found so far on relational database design and implementation. All the way from theory to actual running code in java. The other books mostly lack the details code and software engineering perspective in implementation which this one provided. Recommended.
The depth of the topics covered makes this a challenging read to fully grasp in a single pass. The book demands—and deserves—repeated readings to truly absorb its insights. A compelling choice for anyone serious about understanding the fundamental mechanics of database systems.