tags:

views:

51

answers:

4

Could anyone recommend me a clear introductory article on the inner workings of each element composing a database system:

  • file versus server (sqlite vs mysql)
  • how the database engine integrates to the system (MyISAM, InnoDB) and how can MySql make it possible to choose between the 2
  • indexation
  • how a request is processed
  • how SQL is implemented
  • etc.

Optionally with illustrations and comparisons between MySql, PosgreSql, Oracle, Access etc.

===

I am looking for articles with some technical details and keywords. The information I am looking for could answer the following question: I want to program a database engine from scratch, now what? Where do I start? How do I move from reading/writing parameters in a .ini file to sending requests to a SQL server? Of course I am not willing to program a whole database system from scratch, just a guidethrough of challenges, concepts, architecture tips etc. to better undertand the tools I am working with. Thanks in advance.

A: 

This is a good introductory article, with links to more detailed information.

http://databases.about.com/od/specificproducts/a/whatisadatabase.htm

And of course, Wikipedia always has good nov-techie explanations, such as this one:

http://en.wikipedia.org/wiki/Database

As a matter of fact, this google search uelded many results that have the info you're asking about.

David Stratton
A: 

Clear? No. All of this is a material for several books of different CS areas. But here are answers to some of the points anyway:

file versus server (sqlite vs mysql)

There is no significant difference here. In the end both of the engines use files. The only difference is that for MySQL (usually) any request has to be transported to the server through some communication channel (be it real network or just local socket) while with Sqlite you pretty much access the engine directly.

how the database engine integrates to the system (MyISAM, InnoDB) and how can MySql make it possible to choose between the 2

Good (enough) abstraction.

wilx
A: 

Here is a good course from Stanford University. You can review the lecture notes if you want lots of details:

http://infolab.stanford.edu/~hyunjung/cs346/

del.ave
A: 

This article really helped my understanding of indexes. I would highly recommend reading it.

Abe Miessler