Vous êtes sur la page 1sur 14

UNIVERSIDAD ESTATAL A DISTANCIA

ESCUELA DE CIENCIAS EXACTAS Y NATURALES


BACHILLERATO EN INFORMATICA

Bases de Datos II
NoSQL y DataWarehouse

Autor: Krystel Campos

San Jos, Costa Rica


2015

Tabla de Contenido
Introduccin.......................................................................................................................3
Desarrollo...........................................................................................................................4
Enunciado.......................................................................................................................4
Investigacin...................................................................................................................4
Caractersticas................................................................................................................4
Data Warehouse.........................................................................................................4
NoSQL........................................................................................................................6
Hadoop.......................................................................................................................7
Implementacin..............................................................................................................9
Ejemplo de implementacin.....................................................................................11
Conclusiones...................................................................................................................12
Bibliografa.......................................................................................................................13

Tabla de Figuras
Figura 1 Arquitectura de Capas de DataWarehouse.........................................................5
Figura 2 Base de datos orientada en columnas................................................................6
Figura 3 Clster Hadoop....................................................................................................9
Figura 4 Arquitectura de implementacin........................................................................10

Introduccin

Las tecnologas de informacin en la actualidad avanzan a pasos agigantados, y para


muchos es difcil mantenerse al tanto de lo ms novedoso, y lo ms recomendado es por eso
que tener conocimiento de la parte de Inteligencia de Negocios (BI) es de gran ayuda para
cualquier ingeniero informtico en formacin.
El aumento en la cantidad de datos que hoy en da se maneja propone un reto a la
hora del anlisis para que las organizaciones tomen las mejores decisiones.
La presente tarea incluye la informacin de la investigacin sobre la implementacin
de NoSQL en un Data Warehouse, sus caractersticas, implementacin y ejemplos de su uso.
El objetivo principal de las tareas cortas de investigacin es tratar tpicos de
actualidad y tendencias en el tema de la minera de datos. Con ello se busca ampliar el
acervo de conocimiento en el rea.
Veremos que casi todas las fuentes que se refieren para bibliografa son electrnicas
debido a que son temas relativamente nuevos.

Desarrollo
Enunciado
NoSQL y Data Warehouse.
Realice

una

investigacin

sobre

el

uso

de

NoSQL

en

Data

Warehouse,

implementaciones, caractersticas entre otros tpicos que sean de uso en el rea de


inteligencia de negocios.

Investigacin
En las tecnologas de informacin existe un concepto conocido como Inteligencia de
negocios o Business Intelligence con sus siglas en ingles BI es termino se refiere a las
ideas, prcticas y tecnologas para convertir datos en informacin que las empresas pueden
utilizar para tomar mejores decisiones organizativas. (Business Intelligence.com, 2015).
Ahora bien dentro de estas tcnicas y prcticas se encuentran el NoSQL y el DataWarehouse
detallados a continuacin.

Caractersticas
Data Warehouse

Un Data Warehouse es una base de datos relacional que est diseado para la consulta y el
anlisis en lugar de para el procesamiento de transacciones. (Oracle Corporation, 2015). Su
principal caracterstica se encuentra en que crea una base de datos a partir de diferentes
fuentes.
Por lo general, contiene datos histricos derivados de los datos de transaccin, pero puede
incluir datos de otras fuentes. Separa anlisis de la carga de trabajo de la carga de trabajo de
transacciones y permite a una organizacin para consolidar datos de varias fuentes.
Los diferentes sistemas de almacenamiento de datos tienen diferentes estructuras. En
general, todos los sistemas de almacenamiento de datos tienen las siguientes capas:

Capa de Fuente de datos


Capa de Extraccin de datos
rea de ensayo
4

Capa ETL
Capa de Almacenamiento de datos
Capa de Lgica de Datos
Capa de Presentacin de datos
Capa de Metadatos
Capa de Operaciones del Sistema

Figura 1 Arquitectura de Capas de DataWarehouse.

Capa de Metadatos
Capa de Capa de
Fuente Extracci
n de
de
datos
datos

rea de
ensayo

Capa de
Capa de
Capa de
Capa de
Almacena
Presentac Operacion
Capa ETL
Lgica de
miento de
in de
es del
Datos
datos
datos
Sistema

Elaboracin: Propia

NoSQL

NoSQL corresponde a una variedad de diferentes tecnologas de bases de datos que se


desarrollaron en respuesta a un aumento en el volumen de datos almacenados sobre los
5

usuarios, objetos y productos, la frecuencia en la que se accede a estos datos, y las


necesidades de rendimiento y procesamiento para el cual las bases de datos relacionales
presentan limitaciones.
Existen 4 tipos de bases de datos NoSQL:

Bases de datos orientadas a documentos: donde se emparejan cada clave con una

estructura de datos compleja conocida como un documento.


Basadas en grafos: estas utilizan la teora de grafos donde los datos almacenados son

representados por nodos y aristas.


Bases de datos de clave valor: en estas cada artculo en la base de datos se

almacena como un nombre de atributo "clave" junto con su valor.


Bases de datos orientadas a columnas: estn optimizados para las consultas ms
grandes conjuntos de datos y almacenar columnas de datos en conjunto, en lugar de
filas o registros. (MongoDB, Inc, 2015)

Figura 2 Base de datos orientada en columnas


Tabla de Columnas
Familia Columna 1
Clave

Familia Columna
2
Clave

Valor

Valor

Elaboracin: Propia

Existen varios beneficios del uso de NoSQL en comparacin con SQL como que son ms
escalables y proporcionan un rendimiento superior, su programacin orientada a objetos es
fcil de usar y flexible, es por esto que se ha desarrollado como tendencia el uso de esta con
respecto a lo que es Big Data.1

1Informacin de gran variedad con alto volumen, alta velocidad que exigen, formas
innovadoras y rentables de procesamiento de la informacin. (Gartner, Inc. , 2013 )
6

Ahora nos encontramos con el reto de implementar tecnologas no relacionales como lo es


NoSQL en una estructura de bases de datos relacional como lo es un DataWarehouse.
Es aqu donde el tipo NoSQL de base de datos de columnas sera el ms apropiado para
este tipo de implementacin.
Bsicamente, las bases de datos NoSQL basadas en las columnas son matrices
bidimensionales mediante el cual cada clave (fila / registro) tiene una o ms pares
conectados de clave / valor a l y estos sistemas de gestin permite que los datos muy
grandes y poco estructurada que se le mantenga y utilizados.
Las operaciones convencionales de escritura, lectura, actualizacin y eliminacin toman una
pequea modificacin con NoSQL y las bases de datos columnares ya que la actualizacin y
eliminacin no son de importancia y ahora consisten en la insercin de nuevos datos y es por
eso que el manejo de largos volmenes de datos no es un problema para este modelo.
Hadoop

Para la implementacin es importante destacar la necesidad de herramientas que puedan


manejar NoSQL y DataWarehouse. En el mercado actual existe Apache Hadoop que es una
biblioteca de software que permite el procesamiento distribuido de grandes conjuntos de
datos a travs de grupos de ordenadores que utilizan modelos de programacin sencillas.
(The Apache Software Foundation., 2015).
Hadoop trabaja con un sistema de archivos conocido como HDFS (Sistema de archivos
distribuido Hadoop) el cual est diseado para almacenar de forma fiable archivos muy
grandes a travs de las mquinas en un clster grande.
Encima del sistema de archivos HDFS se trabaja con un modelo de programacin para el
procesamiento paralelo y la generacin de grandes conjuntos de datos llamado Map/Reduce
la cual consiste de dos funciones: Map () que consiste en el mapeo de las claves y valores y
Reduce () que reduce la informacin una vez mapeada para una bsqueda ms eficiente.

En el proyecto Hadoop existen diferentes mdulos entre los que se encuentran los
siguientes:

Ambari: Una herramienta en Internet para la provisin, gestin y seguimiento de

grupos Hadoop.
Avro: Un sistema de serializacin de datos.
Cassandra: Una base de datos con varios maestros escalable sin puntos de fallo.
Chukwa: Un sistema de recoleccin de datos para la gestin de grandes sistemas

distribuidos.
HBase : Una base de datos escalable, distribuida que soporte de almacenamiento de

datos estructurados para tablas grandes.(Tabular/Columnar)


Hive: Una infraestructura de almacenamiento de datos que proporciona el resumen de

datos y consultas ad hoc.(Data Warehouse)


Mahout : Un aprendizaje automtico escalable y biblioteca de data mining.
Pig: Un lenguaje de flujo de datos de alto nivel y marco de ejecucin para la

computacin paralela.
Spark: Un motor de cmputo rpido y general para los datos de Hadoop.
Tez: Un marco de programacin de flujo de datos generalizada que proporciona un
motor potente y flexible para ejecutar un DAG arbitraria de tareas para procesar los

datos, tanto para los casos de uso interactivas lotes


ZooKeeper: Un servicio de coordinacin alto desempeo para aplicaciones
distribuidas.

De estos mdulos mencionados: HBase es la base de datos basada en columnas diseada


para escalabilidad de forma horizontal que se ejecuta sobre HDFS y Hive la cual es una
infraestructura de Data Warehouse utilizando para ETL 2.

Implementacin

Puntualmente la implementacin se encuentra en la integracin de dos mdulos del


ecosistema de Hadoop. La base es un clster Hadoop que monta el sistema de archivos
HDFS, este clster consta de dos tipos de nodos un Nodo Maestro (Name Node) que
administra y maneja el sistema de archivos y varios Nodos Esclavos (Data Node)
2 Extraccin, Transformacin y Carga de datos.
8

que

almacenan la informacin en bloques de archivos y un servidor cliente con las herramientas


Hadoop para el acceso y manipulacin de la informacin.

Figura 3 Clster Hadoop

Cliente

Nodo
Maestro

Nodos
Esclavos

Elaboracin: Propia

Arriba del clster es donde HBase hace su trabajo como Base de datos NoSQL de tipo
Columnar con su mapa ordenado distribuido y multidimensional que est indexado por una
clave de fila, clave de la columna, y una marca de tiempo toma provecho de la escalabilidad
de clster para manejar grandes cantidades de bloques de datos en cada nodo esclavo y a
travs del Map/Reduce insertar nueva informacin o maximizar la bsqueda de la forma ms
eficaz.
La parte de DataWarehouse se integra con el uso de Hive donde este funciona como
envoltorio de Hadoop para realizar consultas a sistemas de archivos con su lenguaje
propietario HQL parecido al SQL que es capaz de crear consultas nativas en HBase para la
captura y anlisis de flujos de eventos por su capacidad de realizar operaciones complejas,
como joins, unin, y la agregacin a travs de combinaciones de HBase-Hive.
9

Figura 4 Arquitectura de implementacin

Hive
HBase
Map/Reduce
HDFS
Elaboracin: Propia

Ejemplo de implementacin

Facebook
Facebook tiene varios clsteres Hadoop desplegados, actualmente cuenta con 2 grupos
principales:

Un grupo 1100-mquina con 8800 ncleos y unos 12 PB de almacenamiento de crudo.


Un grupo de 300 mquinas con 2400 ncleos y unos 3 PB de almacenamiento de
crudo. (The Apache Software Foundation., 2015)

La lista de proyectos que utilizan esta infraestructura incluye la generacin de estadsticas


mundanas sobre el uso del sitio, a otros que se utilizan para combatir el spam y determinar la
calidad de la aplicacin. (Thusoo, 2009)
10

Netflix

Netflix la plataforma de videos en demanda en lnea tambin usa una versin de la


integracin de NoSQL y Data Warehouse, pero esta ha desarrollado su propio motor basado
en herramientas Hadoop como Cassandra y Hive al cual le han llamado Genie, el cual es
completamente basado en la nube.
Actualmente la

de Genie se encuentra en: 6-12 nodos en un Clster Auto escalable.

(Krishnan & Tse, 2013)

Conclusiones

Despus de realizar esta tarea hemos logrado ver la cantidad y calidad de informacin
emergente sobre Big Data y cuan necesaria es para la planeacin de una integracin entre
NoSQL en un Data Warehouse y como es importante que como estudiante de ingeniera
informtica estemos en constante investigacin y aprendizaje sobre estos temas.
Durante mi investigacin sobre NoSQL y Data Warehouse me encontr con que es de
vital importancia leer sobre el ecosistema Hadoop y como estas herramientas de opensource en la actualidad grandes compaas tienen implementadas para poder comprender
cmo trabajan en una visin global y a partir de ah planear, guiar y manejar la
implementacin.

11

Como la investigacin menciona, la combinacin HBase + Hive y sus aplicaciones son


bastante extensas, ya que adems de la parte de escalabilidad y velocidad que son de gran
importancia, se debe tomar en cuenta lo que se est analizando es a su vez ms eficiente en
grandes volmenes y de gran utilidad para BI.
Como mi conclusin encuentro que NoSQL puede ser una buena opcin para ciertas
aplicaciones analticas donde se manejen altos volmenes con baja latencia en entornos
analticos relativamente estticos.
Este tipo de soluciones a problemas de manejos de Big Data propone un cambio de la
forma relacional a la que se acostumbraba trabajar, que pueden mejorar en el rendimiento de
los procesos.
Para finalizar con esta tarea logramos llegar a comprender mejor lo que hoy en da es
requiere para iniciar un trabajo con Inteligencia de Negocios y como futuros ingenieros
aplicarlo donde puede beneficiar las empresas con la planeacin detallada para creacin de
proyectos informticos.

Bibliografa

Apache

HBase

Team.

(2015).

Apache

HBase

Reference

Guide.

Obtenido

de

http://hbase.apache.org: http://hbase.apache.org/book.html#datamodel
Business

Intelligence.com.

businessintelligence.com:

(2015).

Business

Intelligence.

Obtenido

de

http://businessintelligence.com/dictionary/business-

intelligence-2/
Chevalier, M., Malki, M. E., Kopliku, A., Teste, O., & Tournier, R. (2015). Implementing
Multidimensional

Data

Warehouse

into

NoSQL.

ftp://www.irit.fr/IRIT/SIG/2015_ICEIS_CEKTT.pdf

12

Obtenido

de

www.irit.fr:

Cruz, E. S. (2012). PARADIGMA NOSQL: BASES DE DATOS COLUMNARES PARA


AMBIENTE

DATA

WAREHOUSE.

Obtenido

de

http://docplayer.es:

http://docplayer.es/813160-Paradigma-nosql-bases-de-datos-columnares-paraambiente-data-warehouse.html
Fernndez, R. (2014). Bases de datos NoSQL. Elige la opcin que mejor se adapte a tus
necesidades.

Obtenido

de

http://www.genbetadev.com:

http://www.genbetadev.com/bases-de-datos/bases-de-datos-nosql-elige-la-opcion-quemejor-se-adapte-a-tus-necesidades
Gartner,

Inc.

(2013

).

Big

Data.

Obtenido

de

http://www.gartner.com:

http://www.gartner.com/it-glossary/big-data
Krishnan, S., & Tse, E. (2013). Hadoop Platform as a Service in the Cloud . Obtenido de
techblog.netflix.com: http://techblog.netflix.com/2013/01/hadoop-platform-as-service-incloud.html
MongoDB, Inc. (2015). NOSQL Database Explained. Obtenido de https://www.mongodb.com:
https://www.mongodb.com/nosql-explained
Oracle Corporation. (2015). Data Warehouse Concepts. Obtenido de http://docs.oracle.com/:
http://docs.oracle.com/cd/B10500_01/server.920/a96520/concept.htm
The Apache Software Foundation. (2015). Hive HBase Integration. Obtenido de apache.org:
https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
The Apache Software Foundation. (2015). PoweredBy. Obtenido de Hadoop Wiki:
https://wiki.apache.org/hadoop/PoweredBy#Y
The Apache Software Foundation. (2015). Welcome to Apache Hadoop! Obtenido de
https://hadoop.apache.org/: https://hadoop.apache.org/
Thusoo, A. (2009). Hive - A Petabyte Scale Data Warehouse using Hadoop. Obtenido de
https://www.facebook.com/Engineering:

https://www.facebook.com/notes/facebook-

engineering/hive-a-petabyte-scale-data-warehouse-using-hadoop/89508453919

13

14