Мені цікаво дізнатися, як працює двигун бази даних (тобто внутрішня система). Я знаю більшість основних структур даних, які викладаються в CS (дерева, хеш-таблиці, списки тощо), а також досить добре розуміння теорії компілятора (і реалізував дуже простий інтерпретатор), але я не розумію, як іти про написання двигуна бази даних. Я шукав підручники з цього питання, і не зміг знайти жодного, тому сподіваюся, що хтось інший може вказати мені в правильному напрямку. В основному, я хотів би отримати інформацію про наступне:
- Як дані зберігаються всередині (тобто як представлені таблиці тощо)
- Як двигун знаходить потрібні йому дані (наприклад, запустіть SELECT-запит)
- Як вставляти дані швидким та ефективним способом
І будь-які інші теми, які можуть бути актуальними для цього. Це не обов'язково має бути базою даних на диску - навіть база даних в пам'яті чудово (якщо це простіше), тому що я просто хочу вивчити принципів, що стоять за нею.
Велике спасибі за вашу допомогу.