news.volyx.in

The “Build Your Own Database” book is finished (build-your-own.org)

657 points by tim_sw · 1226 days ago · 99 comments on HN

Article summary

The author has finished writing a book titled "Build Your Own Database", which aims to teach the basics of databases through a step-by-step approach. The book covers topics such as persistence, indexing, and concurrency, and is divided into two parts, with the first part implementing a key-value store and the second part implementing a mini database with a SQL-like query language. The book is available as a paperback or ebook, and the first part is also available online for free. The author's goal is to provide a comprehensive resource for learning about databases from scratch.

Main themes

  • database internals
  • programming languages
  • error handling
  • system programming
  • education
  • book review

What commenters say

  • Using Go as the programming language for the book is a good choice due to its balance of ease of use and system-level access.
  • Go's error handling mechanism is verbose and annoying, but it forces developers to think carefully about error handling.
  • The book's use of Go may make it less accessible to readers who are not familiar with the language, and a more popular language like Python or JavaScript might have been a better choice.
  • The book's focus on building a database from scratch is valuable for learning about database internals and design principles.
  • Error handling is a critical aspect of system programming, and languages that make it easy to ignore errors can lead to unreliable code.
  • The choice of programming language for the book is not critical, as long as the concepts and principles are clearly explained.
  • Some readers prefer languages with more concise error handling mechanisms, such as Rust's ? symbol.
  • The book's approach to teaching database concepts is more important than the choice of programming language.