Je souhaite apprendre le fonctionnement d'un moteur de base de données (c'est-à-dire son fonctionnement interne). Je connais la plupart des structures de données de base enseignées en informatique (arbres, tables de hachage, listes, etc.) ainsi qu'une assez bonne compréhension de la théorie des compilateurs (et j'ai implémenté un interpréteur très simple) mais je ne comprends pas comment écrire un moteur de base de données. J'ai cherché des tutoriels sur le sujet et je n'en ai trouvé aucun, alors j'espère que quelqu'un d'autre pourra m'orienter dans la bonne direction. En gros, j'aimerais avoir des informations sur les points suivants :
- La manière dont les données sont stockées en interne (c'est-à-dire la manière dont les tables sont représentées, etc.)
- Comment le moteur trouve les données dont il a besoin (par exemple, en exécutant une requête SELECT).
- Comment les données sont-elles insérées de manière rapide et efficace ?
Et tout autre sujet qui pourrait être pertinent. Il n'est pas nécessaire que ce soit une base de données sur disque - même une base de données en mémoire convient (si c'est plus facile) parce que je veux juste apprendre les principes sous-jacents.
Merci beaucoup pour votre aide.
1 votes
Cette question a été fermée à juste titre, mais comme il y a des commentaires, je pense qu'il y a encore des gens qui arrivent ici par Google. J'avais la même question et j'ai trouvé cet excellent document sur l'architecture des bases de données relationnelles très perspicace