SQL & NOSQL DATABASES
FICHA
Foto Título:            SQL & NOSQL DATABASES. MODELS, LANGUAGES, CONSISTENCY OPTIONS AND ARCHITECTURES FOR BIG DATA MANAGEMENT
Autor:            Andreas Meier y Michael Kaufmann
Editorial:       Springer
Idioma:         Inglés
Páginas:        248
Publicación:  2019
Lectura:         2020
COMENTARIO EDITORIAL
(Fuente: Traducción y ligera elaboración propia de la descripción en Amazon)

Este libro introduce a los lectores en el campo de las bases de datos relacionales (SQL) y no relacionales (NoSQL). Las principales materias tratadas son gestión de datos, modelado de datos, lenguajes de consulta y manipulación, arquitecturas de sistema y operación multi-usuario.

Ese libro también proporciona una revisión de los sistemas de bases de datos no relacionales. Además de conceptos clásicos, se discuten aspectos importantes de las bases de datos NoSQL como, por ejemplo, map / reduce, opciones de distribución (fragmentos y replicación) y el teorema CAP (Consistency, Availability, and Partition tolerance).

El libro será útil para estudiantes en busca de una introducción al área de bases de datos SQL y No SQL, así como para profesionales, ayudándoles a entender mejor las fortalezas y debilidades de los enfoques relacional y no relacional y los desarrollos en conexión con las aplicaciones big data.

COMENTARIO PERSONAL

'SQL & NoSQL databases' subtitulado 'Models, Languages, Consistency Options and Architectures for Big Data Management' es un tratado ordenado, científico y formalista del campo de las bases de datos, tanto relacionales como no relacionales, aunque quizá con un poco más de foco y profundidad en las primeras. Un tratado muy atento a los fundamentos, las reglas y el rigor.

El libro se estructura en 7 capítulos:
  • '1. Data Management': Un capítulo introductorio repleto de definiciones donde introduce el concepto de base de datos, las claves de identificación, el modelo relacional, SQL y algunas ideas de Big Data y bases de datos NoSQL. También dedica un espacio a explicar la disciplina del Data Management que es lo que presta título al capítulo.

  • '2. Data Modeling': Tras una introducción al tema del modelado explica con bastante profundidad el modelo entidad-relación detallando, por ejemplo, los tipos de asociaciones, las formas normales y las reglas de mapeo a un schema. Luego aborda las bases de datos gráficas, explicando primero el modelo de grafos para luego entrar en las reglas de mapeo de este caso. Finaliza hablando de la arquitectura de datos a nivel de empresa y sugiriendo unos pasos o fases para llevar a cabo el diseño de una base de datos.

  • '3. Database languages': Comienza por explicar el álgebra relacional con sus operadores relacionales y de conjuntos, explica de una forma no muy larga pero a pesar de ello bastante competa, el lenguaje SQL. También menciona el lenguje QBE (Query By Example) y los lenguahes de grafos, especialmente Cypher. Sigue con los lenguajes embebidos y el concepto de procedimientos almacenados así como JDBC. Y finaliza con una serie de aspectos a tener en cuenta como el manejo de variables NULL, las restricciones de integridad o aspectos de protección de datos.

  • '4. Ensuring Data Consistency': Comienza explicando la situación del acceso de múltiples usuarios a una base de datos y aborda la definición de transacciones y las propiedades ACID. Luego trata el problema de la consistencia en bases de datos distribuidas y habla de los teoremas CAP y BASE y hace una comparativa entre el enfoque ACID propio de las bases de datos relacionales y el BASE, más usado en NoSQL y Big Data.

  • '5. System Architecture': Comienza hablando del manejo de datos no estructuradosy de conceptos de almacenaje y acceso incluyendo una explicación de los mecanismos de hashing o de estructuras de datos multidimensionales. Luego aborda con cierto detalle la optimización de bases de datos relacionales. A continuación explica los algoritmos Map Reduce y finaliza con un modelo en capas para bases de datos relacionales y una visión holística de uso coordinado de diferentes bases de datos

  • '6. Postrelational Databases': Es un repaso rápido pero interesante de diferentes tipos o conceptos de bases de datos no relacionales incluyendo bases de datos federadas, bases de datos temporales, bases de datos multidimensionales, data warehouse, bases de datos orientadas a objetos, bases de datos de conocimiento y bases de datos difusas (fuzzy).

  • '7. NOSQL Databases': Primero hace una breve introducción con la historia y motivaciones de las bases de datos NoSQL para luego repasar diferentes alternativas como los repositorios atributo-valor, las bases de datos columnares, los almacenes de documentos, las bases de datos XML y las bases de datos gráficas,
Todos los capítulos finalizan con una lista comentada de sugerencias y referencias bibliográficas.

'SQL & NoSQL databases' es un tratado austero pero muy riguroso del campo de las bases de datos, amplio en cuanto a las tipologías que contempla (con mucho más detalle, eso sí, sobre el modelo relacional y el gráfico) y muy atento al rigor, a las reglas y álgebra muy claramente explicadas y aplicadas. Un libro serio, completo y útil.