Estoy interesado en aprender cómo funciona un motor de base de datos (es decir, sus partes internas). Conozco la mayoría de las estructuras básicas de datos que se enseñan en CS (árboles, tablas hash, listas, etc.), así como una buena comprensión de la teoría del compilador (y he implementado un intérprete muy simple), pero no entiendo cómo hacerlo. sobre escribir un motor de base de datos. He buscado tutoriales sobre el tema y no pude encontrar ninguno, así que espero que alguien más pueda señalarme en la dirección correcta. Básicamente, me gustaría obtener información sobre lo siguiente:
- Cómo se almacenan los datos internamente (es decir, cómo se representan las tablas, etc.)
- Cómo el motor encuentra los datos que necesita (por ejemplo, ejecutar una consulta SELECT)
- Cómo se insertan los datos de manera rápida y eficiente
Y cualquier otro tema que pueda ser relevante para esto. No tiene que ser una base de datos en disco, incluso una base de datos en memoria está bien (si es más fácil) porque solo quiero aprender los principios detrás de ella.
Muchas gracias por su ayuda.