2009-04-20 9 views
18

Digamos que quiere aprender algo sobre las funciones internas de la base de datos. ¿Cuál es el mejor código fuente para mirar? los mejores libros para comprar?Componentes internos de la base de datos: ¿por dónde empezar?

yo estaba hablando de esto con un amigo el otro día y me recomendó:
Art of Computer Programming, Volume 3: Sorting and Searching

Qué otros libros me ayudaría a aprender problemas de memoria IO acerca de todos los archivos y, páginas, bloqueo, etc ... .?

Respuesta

13

Libro de texto: Database Management Systems por Ramakrishnan y Gehrke.

O bien: Architecture of a Database System por Hellerstein, Stonebraker y Hamilton.

Código

Producción: PostgreSQL

(me gusta el código PG mejor que SQLite, es mucho más completo y, creo, mejor organizado SQLite es impresionante para lo que hace, pero no hay mucho que doesn'. t asumir).

Crédito adicional: Readings in Database Systems, 4th edition editado por Hellerstein.

+0

En términos de código documentado, BerkleyDB tiene lo mejor de todos ellos si me preguntas ... –

+0

Eso puede ser cierto, pero no es una base de datos relacional en el sentido en que creo que el cartel original lo significaba. – SquareCog

+0

No necesariamente tiene que ser una base de datos de relaciones tradicionales. Si todavía hay algunos conceptos básicos que podría asimilar. +1 – BuddyJoe

4

La fuente de SQLite es muy accesible para aprender acerca de las implementaciones de bases de datos.

PostgreSQL es una pieza de software muy bien escrita, con mayor complejidad que SQLite.

+0

Supongo que estaba buscando la base de datos de cliente/servidor correcta para mirar. Debido a que SQLite está incrustado o vinculado a un solo cliente, no estoy seguro de que haya mucho que aprender aquí sobre sesiones, usuarios y solicitudes/bloqueos en conflicto. – BuddyJoe

+0

Me pregunto si Postgres es un lugar demasiado complicado para comenzar. – BuddyJoe

0

Asegúrate de que lo que obtienes cubra el álgebra relacional y el cálculo relacional. No tiene sentido profundizar en las partes internas de la base de datos si no tiene los antecedentes teóricos básicos. Más allá de eso, cualquier libro de texto de bases de datos de estilo universitario probablemente sea suficiente.

6

Si usted es realmente serio, y aunque una lectura dura otra por la tarde y gran Jim Gray y Reuter ninguno:

procesamiento de transacciones, conceptos y técnicas

Una vez más, si son graves, no se moleste con cualquier cosa de lo contrario ... está fuera de este mundo y ciertamente fuera de mySQL persiguiendo por IBM u Oracle ..

+0

oh, eso se ve bien. +1 – BuddyJoe

1

No todo el mundo le gusta su estilo, pero me parece que Joe Celko hace un buen trabajo de explicar la lógica basado en conjuntos que impulsa bases de datos SQL. Si ya tiene un poco de experiencia SQL en su haber, debe leer SQL for Smarties.

+1

Es un libro interesante, pero no aborda el archivo de E/S y los problemas de gestión de la memoria que plantea la pregunta. –

2

Eche un vistazo a Database Systems: The Complete Book por Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer D. Widom. Se trata específicamente de las partes internas del DBMS.

La respuesta de SquareCog también contiene sugerencias sensatas; No he visto los dos libros mencionados (aunque el libro "Arquitectura" de Stonebreaker tiene solo 136 páginas, según Amazon, que parece un poco liviano).

+0

El libro de Stanford cubre muchos temas, pero me pareció muy superficial en la mayoría de ellos. Le da todos los consejos, pero realmente no entra en detalles. Es por eso que prefiero Ramakrishnan y Gehrke. Aunque no es un mal texto. YMMV. – SquareCog

+0

OK - No he visto R & G, así que no puedo comentar al respecto. Tengo el libro anterior de Ullman y otros (Internos de sistema de base de datos) que es varios niveles más detallados en los niveles de E/S de archivos que algunas de las otras recomendaciones. No he comparado D.S.I con DS: TCB tampoco (ni lo he visto desde hace algunos años), así que podría ser que tengo una impresión equivocada. –

Cuestiones relacionadas