Estoy interesado en aprender cómo funciona un motor de base de datos (es decir, las partes internas de él). Conozco la mayoría de las estructuras de datos básicas 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. acerca de 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 orientarme en la dirección correcta. Básicamente, me gustaría información sobre lo siguiente: los datosCómo escribir un motor de base de datos simple
- cómo se almacenan los datos internamente (es decir, cómo se representan tablas, etc.)
- ¿Cómo se encuentra el motor que necesita (por ejemplo, ejecutar una consulta SELECT)
- ¿Cómo se inserta datos en una forma que es rápido y eficiente
y cualquier otro tema que pueda ser relevante a este. 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.
LOC de la descarga SQLite shell.c => 3135, sqlite3.c => 136332, sqlite3ext.h => 447, sqlite3.h => 7097, Total => 147.011 –
Que es probablemente tan pequeño como usted puede hacer un motor de base de datos completamente funcional usando un lenguaje de llaves. SQLite también está disponible en C#. –
@RobertHarvey ¿Puedes publicar un enlace del código fuente de C#? –