views:

211

answers:

2

I know implementing database is a huge topic, but I want to have a basic understanding of how database systems work (e.g. memory management, binary tree, transaction, sql parsing, multi-threading, partitions, etc) by investigating the source code of the database.

Since there are a few already proven very robust open source databases like mysql, sqlite and so on. However, the code are very complicated and I have no clue where to start. Also I find that the old school database textbooks are only explaining the theory, not the implementation details.

Can anyone suggest how I should get started and if there are any books that emphasis on the technology and techniques of building dbms used in modern database industry?

+1  A: 

I hate to sound like an grumpy, old academic, but the theory really is what you need to study, if you are determined to build your own RDBMS. The implementation details are really just, erh, implementation details. Apart from textbooks, you might also want to study research papers, which tend to cover the subject in higher detail.

When you start implementing your database engine, you could look into existing open-source implementations, but do expect the learning curve to be steep. As you have already discovered, these projects tend to be quite complex. When you have concrete questions to those projects, try posting them on the relevant mailinglists. When you have concrete questions about your own implementation, post them here :)

Jørn Schou-Rode
A: 

http://en.wikibooks.org/wiki/Design_of_Main_Memory_Database_System

Refer, Database system implementation book by Ullman. Start with jdbc or odbc driver and move down to storage layer if you want to read from code.

Prabakaran
thanks, i am currently reading a book called <mysql internals>, would that be relevant?
Yang