HACKER Q&A
📣 __all__

Understanding How Databases Work


SQL based databases are complex, and we have a vast amount of different flavors available.

If someone fresh from university ask you for resources to understand basic concepts such as query parsing, query optimization, execution plans, etc

What kind of resources will you share with them? I expect to see people here who have been developing complex database systems, how do you get started? How is this different to other software engineering projects? Did you enjoy(ed) the process? What did you do to get better at it?


  👤 akshaykumar90 Accepted Answer ✓
These are just 2 recent links from my bookmarks:

- How a SQL database works <https://calpaterson.com/how-a-sql-database-works.html>

- Making a change to SQLite source code <https://brunocalza.me/making-a-change-to-sqlite-source-code/>

I can recommend following Phil Eaton on twitter: https://twitter.com/phil_eaton. They post lots of nitty gritty posts about database development. I likely discovered the above links via their feed.


👤 gregjor
Query parsing, optimization, execution plans have to do with the SQL language. Relational databases (and some non-relational databases) use the SQL language but that language has little to do with the fundamentals of databases. The relational model has almost nothing to do with the query language, in other words.

I recommend Chris (C. J.) Dates books on databases. Introduction to Database Systems for a start.

Databases, especially relational databases, sit at the core of most business and web applications. Learning how to design, implement, and use databases effectively gives one a skill that will pay off for a long time, an entire career for some people.