2012-04-20 10 views
7

Me gustaría aprender la implementación de sistemas de bases de datos en profundidad. ¿Existe una implementación simple de código abierto de la base de datos con fines educativos que pueda examinar el código? Al igual que hay una gran cantidad de implementación del sistema operativo (Minix, Pintos ...). Me pregunto si también hay sistemas similares para la educación de bases de datos.Implementación sencilla de bases de datos con fines educativos

He leído algunos libros de texto y se centran principalmente en la teoría y los conceptos.

¡Muchas gracias! Alfred

Respuesta

3

MySQL, PostgreSQL, SQlite son todos de código abierto. Puede encontrar su código fuente y documentación relacionada.
También verifique NoSQL grupo de bases de datos.

+0

¡Gracias! Me conceden eso. Sin embargo, creo que son demasiado complicados para que los principiantes los lean ... Estoy buscando uno con una funcionalidad muy limitada pero que demuestre un concepto. –

+0

SQLite se ve bien, la estructura es clara. Construí y miré el código. Aunque no es muy pequeño, pero se puede manejar. –

+0

@AlfredZhong, SQLite es una base de datos basada en archivos. Actualmente se usa con Android y HTML5 como almacenamiento local. También tiene una excelente extensión espacial Spatialite – Habib

2

¿Qué te hace pensar que implementar una base de datos es simple?

¿Qué partes de la base de datos le interesan? ¿Administración de almacenamiento? ¿Indexación? ¿Lenguaje de consulta? ¿Planificación de consultas? ¿Actas?

Moderno (incluso "juguete") Los sistemas relacionales tienen todos esos componentes, lo que los hace bastante complejos desde el principio. Otros DB, tales bases de datos basadas en dbm son mucho más simples. Luego tiene cosas como Lucene, que es una base de datos para documentos y texto de forma libre, conceptualmente simple pero que requiere mucho esfuerzo para escalar.

Puede ver las implementaciones de SPARQL si tiene curiosidad acerca de los lenguajes de consulta, ya que trabajan contra las tiendas RDF triples (que no son muy complicadas).

También hay cosas como Prevlayer, que es una base de datos en memoria que usa un concepto llamado prevalencia. Probablemente el más simple de todos, realmente cuando llegas a eso.

+0

¡Gracias! Nunca pienso que un sistema de base de datos sea simple. Estoy interesado en todo pero me gustaría aprender uno por uno, no todos juntos. Si hay un sistema que muestra uno de los conceptos, eso es lo que estoy buscando. Veré los sistemas que mencionaste aquí. –

8

A continuación, busque un material educativo :) Cuando estaba aprendiendo el concepto de DB, mi profesor nos pide que codifiquemos un simple dbms. Una referencia importante es la Redbase:

http://infolab.stanford.edu/~widom/cs346/

Espero que ayude.

Cuestiones relacionadas