Ich bin daran interessiert zu erfahren, wie eine Datenbank-Engine funktioniert (dh die Interna davon). Ich kenne die meisten grundlegenden Datenstrukturen, die in CS gelehrt werden (Bäume, Hash-Tabellen, Listen usw.), sowie ein ziemlich gutes Verständnis der Compilertheorie (und habe einen sehr einfachen Interpreter implementiert), aber ich verstehe nicht, wie es geht über das Schreiben einer Datenbank-Engine. Ich habe nach Tutorials zu diesem Thema gesucht und konnte keine finden. Ich hoffe, dass mich jemand anderes in die richtige Richtung weisen kann. Grundsätzlich möchte ich Informationen zu folgenden Themen:
- Wie die Daten intern gespeichert werden (dh wie Tabellen dargestellt werden usw.)
- Wie die Engine die benötigten Daten findet (z. B. eine SELECT-Abfrage ausführen)
- Wie Daten schnell und effizient eingefügt werden
Und alle anderen Themen, die dafür relevant sein könnten. Es muss keine On-Disk-Datenbank sein - selbst eine In-Memory-Datenbank ist in Ordnung (wenn es einfacher ist), weil ich nur die Prinzipien dahinter lernen möchte.
Vielen Dank für deine Hilfe.