bdnosql nota informativa
DESCRIPTION
WorkTRANSCRIPT
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computación
Licenciatura en Computación
Plan de Estudios 2004
Componente Profesional
Opción: Base de datos
BASES DE DATOS NOSQL
UC HT HP HL Modalidad Código Requisitos Ult. Actualización
5 4 2 Electiva 6549 Sistemas Operativos
Administración de Base de datos
Febrero 2015
Fundamentación:
La mayoría de los sistemas manejadores de bases de datos comerciales se basan en el modelo relacional,
todos ellos utilizan el lenguaje estándar SQL para operar con los datos. Este tipo de manejadores presentan
una serie de características que los hace útiles en múltiples dominios organizacionales, sin embargo,
aplicaciones informáticas recientes requieren el uso de datos de forma intensiva, que incluya el indexado de
un gran número de documentos y millones de registros, la presentación de datos o documentos provenientes
de la web o de sitios de streaming, entre otros; para los cuales el modelo relacional no es el más apropiado,
disminuyendo su rendimiento. Los sistemas de almacenamiento no relacionales, llamados NoSQL (Not only
SQL) representan una alternativa para almacenar y manipular datos cuyo modelo de datos no es relacional,
los cuales además han sido diseñados para ejecutarse en clústeres de servidores, por lo que son fácilmente
escalables y de rápido acceso. Estas y otras razones han hecho que el uso de este tipo de base de datos este
adquiriendo cada vez mayor auge por lo que se considera necesario conocer su funcionamiento. Por otro lado
los desarrolladores de sistemas manejadores de bases de datos relacionales están revisando dichos sistemas,
proponiendo mejoras para adaptarse a los nuevos requerimientos, por lo que se está generando nuevas
tendencias en el ámbito de las bases de datos relacionales las cuales se han agrupado con el nombre de
NewSQL.
Objetivos:
Al finalizar el curso, el alumno estará en capacidad de:
Conocer las diferencias entre el modelo de datos relacional y otros modelos para representar datos como
clave-valor, documentos y grafos. Conocer las propiedades de las bases de datos NoSQL, su taxonomía y
arquitectura. Identificar bajo que requerimientos es recomendable usar una base de datos NoSQL. Emitir un
juicio crítico en cuanto a la selección de un sistema de almacenamiento NoSQL específico para ser aplicado
en un caso concreto. Establecer las ventajas y desventajas entre los diferentes tipos de bases de datos NoSQL.
Explorar algunos de los motores de bases de datos NoSQL existentes. Conocer algunos ámbitos de desarrollo
actuales donde son útiles este tipo de sistemas de almacenamiento. Tener una visión general de las nuevas
tendencias de las bases de datos para el procesamiento de grandes volúmenes de datos.
Contenidos Temáticos:
1. Conceptos básicos: Movimiento NoSQL, teorema de Brewer o CAP, propiedades BASE (siglas de Basic
Availability, Soft state, and Eventual consistency) vs propiedades ACID (Siglas en inglés de
Atomicidad, Consistencia Aislamiento y Durabilidad). Escalabilidad vertical y horizontal. Consistencia,
particionamiento, procesamiento de datos distribuidos.
2. Bases de datos NoSQL: Características, arquitectura, taxonomía, cuando usar bases de datos NoSQL,
motores de base de datos NoSQL comerciales y no comerciales. Clasificación y comparación de bases de
datos NoSQL.
3. Base de datos NoSQL clave valor, documentales: Definición Clave – Valor, estructuras para
almacenamiento de clave – valor, usos. Definición de documento: XML (eXtensible Markup Language) ,
JSON (JavaScript Object Notation), BSON (Binary Json), Caso de estudio.
4. Bases de datos NoSQL de familia de columnas: Definición de Columna, contenedor de columnas,
familia de columnas, Estudio del artículo Google BigTable. Caso de estudio.
5. Base de datos NoSQL Orientadas a grafos: Concepto de grafo: nodos, aristas. Navegación entre nodos,
consultas. Aplicabilidad y usos. Caso de estudio.
6. Introducción a los grandes volúmenes de datos (Big Data), relación con las bases de datos NoSQL.
Visión general de los sistemas de bases de datos relacionales NewSQL como alternativa a los NoSQL.
Bibliografía:
Brewer, E. A. (Julio de 2000). Towards Robust Distributed Systems. (A. S. (PODC), Ed.) Recuperado el
Enero de 2015, de http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
Eelco Plugge, P. M. (2010). The Definitive Guide to MongoDB. New York, USA: Apress.
Gilbert, S., & Lynch., N. (Junio de 2002). Brewer's conjecture and the feasibility of consistent, available,
partition-tolerant web services. SIGACT News 33, 2 , 51-59.
Philippe Cudré-Mauroux, I. E. (s.f.). NoSQL Databases for RDF An Empirical Evaluation. Obtenido de
http://ribs.csres.utexas.edu/nosqlrdf/nosqlrdf_iswc2013.pdf
Pritchett, D. (2008). BASE: An Acid Alternative. Recuperado el 01 de 2015, de
http://queue.acm.org/detail.cfm?id=1394128
Sadalage, P. J., & Fowler, M. (2013). NoSQL Distilled: a brief guide to the emerging world of polyglot.
Indiana, USA: Adison Wesley.
Stonebraker, M. (06 de 2011). New SQL: An Alternative to NoSQL and Old SQL for New OLTP Apps.
Obtenido de Communication ACM: http://cacm.acm.org/blogs/blog-cacm/109710-new-sql-an-
alternative-to-nosql-and-old-sql-for-new-oltp-apps/fulltext
Strauch, C. (s.f.). NoSQL Databases. Obtenido de http://coitweb.uncc.edu/~xwu/5160/nosqldbs.pdf
Vaish, G. (2013). Getting Started with NoSQL. Birmingham, UK: Packt Publishing.
Criterios propuestos para la evaluación
Parciales Exposiciones Tareas y Asignaciones Proyecto Total
30% 20% 10% 40% 100%
Estrategias de enseñanza:
Las clases de teoría podrían dividirse en varias clases magistrales, y una clase de exposición, lecturas de
artículos y trabajos en grupo por parte de los estudiantes.
Actividades teóricas: centradas en la adquisición de conocimientos teóricos como análisis y discusión de
artículos científicos con preparación por parte de los alumnos de lecturas dirigidas (lectura de
artículos/informes); y presentaciones orales en función de los conceptos teóricos estudiados en clase.
Actividades prácticas y de laboratorio: centradas en que el estudiante adquiera conocimientos y destrezas
mediante la experimentación: poner en marcha, medir y comparar y configurar sistemas de base de datos
NoSQL. Preparación de los alumnos con lectura del enunciado y documentación adicional, trabajo de
laboratorio en grupo y trabajo posterior para concluir (informe de evaluación del sistema y/o producto).
Los micro proyectos pueden ser implementaciones de soluciones a problemas de almacenamiento en los
diferentes tipos de sistemas NoSQL a ver en la materia con informes de resultados por parte de los
estudiantes.
Otras actividades de trabajo en grupo: Parte presencial (profesor y alumnos) y no presencial (cada
alumno por su cuenta) con el uso de algunas herramientas.