Jestem zainteresowany dowiedzeniem się, jak działa silnik bazy danych (tj. Jego wnętrze). Znam większość podstawowych struktur danych nauczanych w CS (drzewa, tablice skrótów, listy itp.), A także całkiem dobre zrozumienie teorii kompilatora (i zaimplementowałem bardzo prosty interpreter), ale nie rozumiem, jak to zrobić o pisaniu silnika bazy danych. Szukałem poradników na ten temat i nie znalazłem żadnych, więc mam nadzieję, że ktoś inny wskaże mi właściwy kierunek. Zasadniczo chciałbym uzyskać informacje na następujące tematy:
- W jaki sposób dane są przechowywane wewnętrznie (tj. W jaki sposób są reprezentowane tabele itp.)
- W jaki sposób silnik znajduje potrzebne dane (np. Uruchamia zapytanie SELECT)
- Jak dane są wstawiane w sposób szybki i skuteczny
Oraz wszelkie inne tematy, które mogą mieć znaczenie. Nie musi to być baza danych na dysku - nawet baza danych w pamięci jest w porządku (jeśli jest łatwiejsza), ponieważ chcę po prostu poznać zasady, które za nią stoją.
Wielkie dzięki za Twoją pomoc.