So you want to write a Storage Engine…

Earlier today there was a thread on Twitter asking about what degrees and academic background people have who work on SQL Server. I volunteered to put together a reading list for those wanting to know more of the theory behind a relational database management system, rather than just how to use one.

Here I present a reading list that will take you from how to program well up to how to architect multi-threaded database servers. I’ve read all of these at some point between finishing my CS/EE degree in Edinburgh in 1994 and stopping dev work in 2005, and they’re sitting on my bookshelf as I type this. They’re all the best books I could find on the subject at the time, and they’re all absolutely excellent. I’ve included links to the most up-to-date editions (because I’m nice like that :-).


Underneath the RDBMS


RDBMS architecture

You should also checkout the ACM Special Interest Group on Management of Data (SIGMOD), and the VLDB Conference – these are the premier academic conferences to do with database management systems.

This should keep you busy.. happy reading!


7 thoughts on “So you want to write a Storage Engine…

  1. And just when my reading list was getting under control….. I think I’ll be needing more bookshelves.

    The three Tanenbaum books were used as textbooks at the university I studied at and they’re among the few textbooks that I still have. Excellent all three.
    Do you have any recommended books on File Systems and IO?

  2. … and for those "sick" enough to contemplate this, that’s 18,219 total pages and a cost of $1,943.04. At 20 pages a day, EVERY SINGLE DAY – that would be about 2 1/2 years – sounds like a MBA with emphasis in DBA – happy reading.

  3. Yeah – but these were stretched out over probably 12-13 years – much more palatable. Wait till you read my 100-book-this-year post in a few days…

  4. Gail – Windows NT File Systems Internals is a good one, but any operating system book should have info on file systems. Nothing specific I know of.

  5. There is a quote attributed to Albert Einstein saying "Any man who reads too much and uses his own brain too little falls into lazy habits of thinking".
    Having done my share of reading too (went to college in 1998), I wouldn’t recommend reading too many advanced topics without a plan on how to make use of it. Time spent reading has an opportunity cost, and if reading feels boring and useless, one should probably do something else.

    That being said, it is cool to see that there are respected people in the industry promoting self-education and academic literacy.

  6. Excellent list, many thanks.
    Small omission though: the list of all background reading necessary to understand main portion :-)

Leave a Reply

Your email address will not be published. Required fields are marked *

Other articles

Imagine feeling confident enough to handle whatever your database throws at you.

With training and consulting from SQLskills, you’ll be able to solve big problems, elevate your team’s capacity, and take control of your data career.