G
G
GlebLozhkovoy2014-10-23 16:41:57
Database
GlebLozhkovoy, 2014-10-23 16:41:57

Where to dig (what to read) in order to write your own DBMS?

For a personal, educational project, I want to write my own DBMS. Most likely relational (for the most part). Of course, you can take a ready-made solution, but it's not interesting.
I want a lot of theory. Ready to read about new fashionable solutions, most importantly - about architecture. Terribly interesting how it is arranged.
Initially, the requirements are:

  • transactions
  • replication
  • storage in files - its own format, probably
  • http / socket access over the network well, this is a stupid technical aspect

I will write in Java. No C/C++ or anything else. Yes, more memory (you can chill until the end of 2038), but more reliability. Plus, when you know your own and know the bottlenecks, it works like a clock. I'm crazy about Hadoop, MongoDB.
I believe that there are experts in the field of IR and databases on Habré. And as every specialist has a favorite book on his subject. From each book - and there is a baggage of knowledge for building.
So far I have determined for myself: Managing Gigabytes: Compressing and Indexing Documents and Images.
There is a paper Introduction to Information Retrieval, in Russian, read to holes.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
E
Edward, 2014-10-23
@gooda

not books, of course, but a course, but you might be interested, if I remember correctly, the goal is to create your own database
Database (2012)
Database (2013)

F
FanatPHP, 2014-10-23
@FanatPHP

The list of requirements betrays the blue dreamer Manilov with his head.
At first, the requirements should be :
Kill a year to develop that very format, and to master the intricacies of working with the file system - then (if you have enough man-years) you can start thinking in theory about such things as transactions and replication. And the guiding star for you should not be Khadup, but Skulita.
In general, I strongly recommend starting with a key-value store.

K
Konstantin Osipov, 2014-12-04
@kostja

Look towards Database sytems: the complete book by Ulman & co.
SQL support cannot be implemented without Dragon Book.
For replication, I recommend Nancy Lynch's book on distributed algorithms.
The implementation of the basic functionality of a relational DBMS with SQL-92 support is about 400 years old in the COCOMO model.
There are currently more than 300 different databases active in the world, most of which are open source.
Good luck with your project!

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question