Wie funktioniert eine relationale Datenbank?

Wie funktioniert eigentlich eine relationale Datenbank?

Datenbanken – insbesondere relationale – sind ein Werkzeug, mit dem wir Softwareentwickler täglich arbeiten. Doch ich behaupte, dass die wenigsten Programmierer wissen, wie eine Datenbank tatsächlich funktioniert. Wenn du dich auch zur Gruppe dieser Unwissenden zählst, empfehle ich dir den folgenden Beitrag von Coding Geek: How does a relational database work.

Christophe geht in seinem Artikel sehr ausführlich auf das Innenleben von relationalen Datenbanken ein. Er erklärt z.B. den Query Optimizer oder den Buffer Pool und erläutert bis ins Detail, welche schwierigen Probleme eine Datenbank in wenigen Millisekunden löst, wenn wir ein einfaches SELECT absetzen.

Sehr gut gefällt mir am Artikel, dass er mit den mathematischen und informationstechnischen Grundlagen beginnt. Die Komplexität von Algorithmen ist genauso Thema wie eine Einführung in Arrays, Bäume und HashTables. Schön ist auch der Seitenhieb auf die NoSQL-Datenbanken am Schluss. 🙂

Der Blog-Beitrag ist keine leichte Kost. Es werden teilweise sehr komplexe Probleme beschrieben und auch interne Abläufe, die für unsere tägliche Arbeit mit Datenbanken selbst keine große Rolle spielen. Aber ich glaube, dass man nur dann sinnvoll eine Technologie einsetzen kann, wenn man sie versteht. Also nimm dir ruhig die Zeit und lies den Artikel! Er enthält viele Informationen, mit denen man in der mündlichen Prüfung glänzen kann.

Falls du (zusätzlich) zu den etablierten relationalen Datenbanken auch mit NoSQL-Datenbanken arbeitest und noch eine gute Einführung in dieses Thema suchst, sei dir Seven Databases in Seven Weeks* empfohlen. Das Buch gibt einen tollen Überblick über die verschiedenen Arten von Datenbanken und welche Vor- und Nachteile sie haben. Und keine Angst: Es ist nich so theoretisch wie der Blog-Artikel, sondern steigt sofort mit Praxisbeispielen ein. 🙂

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement (Affiliate)*


Waren dir die Abläufe im Inneren einer relationalen Datenbank bewusst? Hast du noch weitere Linkempfehlungen rund ums Thema? Dann schreib mir gerne einen Kommentar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax