bdnosql nota informativa

2
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.

Upload: luis-aguiar

Post on 11-Jan-2016

213 views

Category:

Documents


0 download

DESCRIPTION

Work

TRANSCRIPT

Page 1: BDNoSQL Nota Informativa

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.

Page 2: BDNoSQL Nota Informativa

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.