Where to start for understanding databases internals?

1.1k Views Asked by At

Q: Where to start for understanding databases internals? And developing a (simple) database?

Note: STSDb has a fascinating performance as an embedded database. I took a look on the source but I can't get it (so far). So I thought starting to understanding database internals by implementing a little one would bu helpful. So what books (tutorials, essays, ...) would help for this?

Thank you

3

There are 3 best solutions below

0
On BEST ANSWER

Go to SQLite to learn this because it is a darn useful tool, includes SQL as well as the core database functionality, and source code is available. There is also a nice book called The Definitive Guide to SQLite which has a nice chapter on internals. Just follow the link to the book to preview that chapter.

0
On

In his book An Introduction to Database Systems, 7th ed., Chris Date recommends The Ingres Papers: Anatomy of a Relational Database System.

0
On

I am not sure what you will learn about STSdb from books or implementing your own since STSdb's own marketing materiel states:

It provides intuitive use, blazing performance and brand new database techniques.

... and there is no 'one' database technology or structure. There is certainly a distinction between traditional relational databases and object oriented databases which is what STSdb is.

It goes on to say

Supports different storage modes (on-disk, in-memory and combined).

I suspect that that is the primary reason for its apparent performance; the use of in-memory data storage. Performance is likely related to available memory and database size. Looking at their comparative tests, the 10M record data base was only 430Mb, so can be entirely in-memory on the 2Gb test platform they used. That, and tight coupling with the application (that is where the term 'embeddded' applies), are probably the biggest factors in its relative performance.