Bases de Datos NoSql en Cloud Computing



Documentos relacionados
Metodología AGIL para el desarrollo SaaS

Software Libre para Aplicaciones de Big Data

Conectores Pentaho Big Data Community VS Enterprise

BIG DATA. Jorge Mercado. Software Quality Engineer

Hadoop. Cómo vender un cluster Hadoop?

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK.

Integración de Computación Heterogénea con Hadoop para Cloud Computing

APACHE HADOOP. Daniel Portela Paz Javier Villarreal García Luis Barroso Vázquez Álvaro Guzmán López

Big Data: retos a nivel de desarrollo. Ing. Jorge Camargo, MSc, PhD (c) jcamargo@bigdatasolubons.co

Yersinio Jiménez Campos Analista de datos Banco Nacional de Costa Rica

CLOUD & BIG DATA. Trabajando el CLOUD, explotando BIG DATA. Cómo pueden ayudarnos estas tecnologías?. Convivimos con ellas?.

Big Data. Rodolfo Campos

Microsoft SQL Server Conceptos.

Proyecto Fin de Carrera OpenNebula y Hadoop: Cloud Computing con herramientas Open Source

PINOT. La ingestión near real time desde Kafka complementado por la ingestión batch desde herramientas como Hadoop.

XII Encuentro Danysoft en Microsoft Abril Business Intelligence y Big Data XII Encuentro Danysoft en Microsoft Directos al código

Arquitectura de sistema de alta disponibilidad

Big Data y BAM con WSO2

acenswhitepapers Bases de datos NoSQL. Qué son y tipos que nos podemos encontrar

Guía de Laboratorio Base de Datos I.

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Cloud Computing con herramientas libres para evaluación de modelos de despliegue híbrido

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Big Data con nombres propios

Alumna: Adriana Elizabeth Mendoza Martínez. Grupo: 303. P.S.P. Miriam De La Rosa Díaz. Carrera: PTB. en Informática 3er Semestre.

CURSOS DE VERANO 2014

Capítulo 5. Cliente-Servidor.

CAPITULO 8. Planeamiento, Arquitectura e Implementación

Status Enterprise Guía de Usuario. Parte 7 Servidor Status

SQL Diagnostic Manager Nueva versión 6.0

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

Bases de datos NoSQL. Hugo González Noviembre 17, 2011

The H Hour: Hadoop The awakening of the BigData. Antonio Soto SolidQ COO

Base de datos relacional

Habilitando la empresa ágil a través de datos unificados La travesía hacia la plataforma de datos analítico-transaccionales

CAPÍTULO 3: Resultados

MÁSTER: MÁSTER EXPERTO BIG DATA

Alessandro Chacón Ernesto Level Ricardo Santana

Curriculum Vitae: María A. Murazzo

Novedades en Q-flow 3.02

Sistemas Escalables. Club de Investigación Tecnológica San José, Costa Rica. Theodore Hope

Diplomado en Big Data

ÍNDICE. Introducción... Capítulo 1. Conceptos de Big Data... 1

FUENTES SECUNDARIAS INTERNAS

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

WEB APP VS APP NATIVA

IBM Power Systems con Saytel. El motor para obtener información de valor de la forma más rápida

BASE DE DATOS RELACIONALES

ING. YURI RODRIGUEZ ALVA

CATÁLOGO DE CURSOS. Centro de Prácticas y Capacitación Profesional

Presentación. 29/06/2005 Monografía de Adscripción 1

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

CAPÍTULO 5 IMPLEMENTACIÓN DEL SISTEMA

Seminario de Informática. Modulo V: Bases de Datos Elementos Conceptuales

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

INTRODUCCIÓN A LA COMPUTACION EN LA NUBE Y BIG DATA (1) Ing. Carlos Ormella Meyer

INTELIGENTE Y VERSÁTIL

Sistemas de Información II Tema 1. El enfoque de bases de datos

Asignación de Procesadores

PERFIL TÉCNICO CONSULTOR SHAREPOINT PARA LA WEB

Estrategia de Cómputo en la Nube. Servicios en la Nube

SQL Server Business Intelligence parte 1

Cocinando con Big Data

Entendiendo y Optimizando MySQL

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS

Sistemas de Información para la Gestión. UNIDAD 2: RECURSOS DE TI Información y Aplicaciones

1. Introducción: Qué es la Gestión Documental-TI o Gestor Documental?

Centro Nacional de Referencia de Aplicación de las TIC basadas en fuentes abiertas. Un ejemplo práctico: Plataforma de Archivo electrónico

Día :00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

SISTEMAS DE INFORMACIÓN II TEORÍA

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

Popularidad comparada de PHP vs ASP, y posibles causas

Curso de HTML5 y CSS3

Soluciones innovadoras para optimizar su infraestructura TI. Virtualización con el sistema operativo i, PowerVM y Power Systems de IBM

MASTER CLASS. Curso de Introducción MongoDB. Juan Manuel Parrilla. Consultor de Amaris en Telefónica I+D. Release Engineer * FUENTE DE DOCUMENTACIÓN :

2.1 Multibase. Información mas detallada sobre este sistema se encuentra en [Ceri y Pelagatti 1985].

Resumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva

UNIVERSIDAD TECNICA DEL NORTE Ing. Lenin Omar Lara Castro. BIG DATA

INTRODUCCIÓN. El propósito de esta investigación es analizar la importancia que ha surgido en

Facultad Politécnica UNA Ing. Julio Paciello

ADMINISTRACIÓN CENTRALIZADA DELL POWERVAULT DL2000 CON TECNOLOGÍA SYMANTEC

Anexo 4 Documento de Arquitectura

Cloud Computing. Huibert Aalbers Senior Certified Executive IT Architect

TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

FaceFinder MÓDULO DE BÚSQUEDA DE PERSONAS DENTRO DE UNA BASE DE DATOS DE ROSTROS

Modulo VI - Base de datos en Microsoft SQL Server Unidad -1

ArquitecturaTécnica de TRAVEL OPEN APPS. Breve definición técnica de la plataforma Travel Open Apps

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

Suite Open Source de CRM y GroupWare Características Funcionales

UNICLASS ACTIVOS FIJOS LA SOLUCIÓN ANALÍTICA BASADA EN UN MODELO DE BUSINESS INTELLIGENCE

ESPECIALISTA EN BASE DE DATOS

Transcripción:

Bases de Datos NoSql en Cloud Computing Adriana Martín1 Susana Chávez2, Nelson Rodríguez3, Adriana Valenzuela4, María Murazzo5 Departamento e Instituto de Informática - F.C.E.F. y N. - U.N.S.J. Complejo Islas Malvinas. Cereceto y Meglioli. 5400. Rivadavia. San Juan 1arianamartinsj@gmail.com 2schavez@iinfo.unsj.edu.ar 3nelson@iinfo.unsj.edu.ar 4franciscaadriana.valenzuela@gmail.com 5marite@unsj-cuim.edu.ar Resumen Las bases de datos NoSQL son sistemas de almacenamiento de información que no cumplen con el esquema entidad-relación. Mientras que las tradicionales bases de datos relacionales basan su funcionamiento en tablas, joins y transacciones. Las bases de datos NoSQL no imponen una estructura de datos en forma de tablas y relaciones entre ellas sino que proveen un esquema mucho más flexible. Las bases NoSQL son adecuadas para una escalabilidad realmente enorme, y tienden a utilizar modelos de consistencia relajados, no garantizando la consistencia de los datos, con el fin de lograr una mayor performance y disponibilidad. A esto se agrega el inconveniente de que no tienen un lenguaje de consulta declarativo, por lo que requiere de mayor programación para la manipulación de los datos. En general se pueden mencionar Sistemas NoSQL clasificados en cuatro categorías: Framework Map-Reduce (usado por aplicaciones que hacen procesamiento analítico online - OLAP), Por ejemplo Hadoop. Almacenamiento Clave-Valor (sistemas que tienden al procesamiento de transacciones online - OLTP), Por ejemplo: Google BigTable, Amazon Dynamo, Cassandra, Voldemort, HBase. Almacenamiento de Documentos Por ejemplo: CouchDB, MongoDDB, SimpleDB Sistemas de base de datos Gráficas.Por ejemplo: Neo4j, FlockDB, Pregel. Con respecto al almacenamiento en Columnas que en general son tratados como Sistemas NoSQL, no son más que una forma de organización de un sistema de base de datos relacional. Sin embargo por la alta performance para cierto tipo de aplicaciones son considerados como del tipo almacenamiento Clave-Valor. En resumen, para manipular enormes cantidades de información de manera muy rápida los Sistemas NoSQL trabajan mejor que los sistemas de base de datos tradicionales, sin embargo para muchísimas aplicaciones la solución está en las bases de datos tradicionales. Palabras clave: NoSql, Map- Reduce, Cloud Computing. Contexto El presente trabajo se encuadra dentro del área de Bases de Datos y Minería de Datos, y se enmarca dentro del proyecto de investigación Implantación de un ambiente de Cloud Computing para integración de recursos, el cual tiene como unidades ejecutoras al Departamento e Instituto de Informática PAGINA - 166 -

de la FCEFyN de la UNSJ. Los trabajos iniciados en el citado proyecto tienden al desarrollo de aplicaciones sobre Cloud Computing, y almacenamiento de grandes cantidades de información y rápido acceso sobre el mismo Introducción Las bases de datos NoSQL surgen como una solución a los constantes requerimientos de procesamiento y análisis a gran escala de enormes cantidades de datos, y para los cuales los sistemas tradicionales de base de datos son insuficientes. El termino NoSQL ha evolucionado no para significar no lenguaje sql, sino para referirse a sistemas que no son DMBS (database management system) tradicionales. El framework MapReduce es una gran alternativa a los sistemas tradicionales. En base a este framework Google ha desarrollado Hadoop, un sistema open source usado ampliamente. Se caracteriza por: No existe un modelo de datos, los datos se almacenan en archivos HDFS (Hadoop Distributed File System). Los usuarios proveen las funciones específicas los datos usando el Framework MapReduce. Las funciones disponibles son: map(), reduce(), reader(), writer() y combine(). El sistema provee procesamiento de datos "glue" escalable y con tolerancia a fallos (Glue procesa los datos a través de las funciones garantizando la tolerancia a fallos). El almacenamiento Clave-Valor, está diseñado para el procesamiento de transacciones online (OLTP). Este tipo de aplicaciones son operaciones pequeñas sobre algunos datos de una base de datos masiva. Por esto, son mas simples Para ello suelen almacenar toda la información que puedan en memoria y están preparadas para escalar horizontalmente sin perder rendimiento. Si pretendemos desarrollar una aplicación que requiera la lectura/escritura de cantidades de datos y pueda dar servicio a millones de usuarios sin perder rendimiento, entonces debemos plantearnos el uso de una base de datos NoSQL. Las grandes redes sociales como facebook y twitter o el propio Google las utilizan como medio fundamental de almacenamiento de información. Se puede utilizar una base de datos NoSQL para almacenar toda la información de una aplicación para aquellas funcionalidades que requieren millones de consultas en tiempo real. Existe una gran variedad de bases de datos basadas en documentos NoSQL para clasificar la información en un formato estructurado, mientras afrontamos la estructura flexible de los puntos de datos individuales. Muchos entornos NoSQL también brindan apoyo para consultas Map-Reduce exhaustivas y para el procesamiento, lo que las hace ideales para el procesamiento de una gran cantidad de datos en un formato resumido. Líneas de investigación y desarrollo Afortunadamente existen varias bases de datos NoSql conocidas. Mientras todas ellas comparten muchas características, también hay algunas diferencias significativas Base de Datos Mongo DB Características Aplicabilidad C++Algunas características SQL (Query, index) binario maestro-esclavo Para queries dinámicasno para Map/Reduce Cuando necesitas CouchDB con muchos cambios Para muchas PAGINA - 167 -

Riak CouchD B Redis Sharding Permite ejecutar script Rendimiento sobre características En 32bits sólo 2.5 Gb GridFS para almacenar BigData Indexing geoespacial Erlang y CTolerancia a fallos binario o HTTP/REST Pre y postcommits en JS y Erlang Map/Reduce en JS o Erlang Soporte objetos grandes Versión opensource y Enterprise Búsqueda Full text, indexing, con Riak Search Server Multireplicación ErlangProtocolo HTTP/REST bidireccional con detección de conflictos MVCC Versiones previas de documentos disponibles Necesita compactación de vez en cuando Soporta attachment Incluye librería JQuery C++Muy rápida estilo Telnet Bases de datos cosas que ahora se hacen con MySQL Estilo Cassandra pero sin su complejidad Escalabilidad, disponibilidad y tolerancia a fallos Para acumular datos que sólo cambian ocasionalmente con queries predefinidaspara sistemas que necesitan versionado Sistemas CRM Sistemas con replicación Para datos cambiantes almacenados en memoria (no de gran HBase Neo4J en memoria con backup en disco Sin disk-swap maestro-esclavo Clave-Valor, pero valores pueden ser List, Hashes, Sets, Transacciones tamaño)bases de datos de tiempo real Analíticas Stock prices Comunicación en tiempo real Billones de filas x millones de columnas HTTP/REST y Thrift Basada en Google Big Table Map/Reduce con Hadoop Mejor opción Optimizaciones para para queries en Map/ReduceAlm tiempo real acenamiento y Gateway Thrift análisis ficheros de alto de log rendimiento HTTP soporta XML, protobuf y binario Módulos para Cascading, Hive y Pig Shell basada en JRuby Rendimiento random-acces como MySQL Base de datos de grafos HTTP/REST o Funcionamiento standalone o embebido en Full ACID Lenguaje de queries patternmaching Web de administración incluida Path-finding algoritmos Para datos ricos interconectados estilo grafospara redes sociales, topologías de red PAGINA - 168 -

Cassan dra Memba se Indexado de claves y relaciones Optimizado para lecturas Transacciones en API Scripts en Groovy Backup online, monitorización y alta disponibilidad en versión comercial AGPL Lo mejor de BigTable y Dinamo binario (Thrift) Tuneable para distribución o replicación Búsqueda por columnas o rango de claves Características BigTable Indices secundarios Escrituras más rápidas que lecturas Map/Reduce con Hadoop Erlang y CCompatible Memcached pero con persistencia y clustering memcached Acceso muy rápido por clave Persistencia en disco GUI para gestión del cluster Actualizaciones de SW sin parar la BD Mas escritura que lectura (logging) Cuando todos los componentes son Análisis tiempo real Aplicaciones con acceso de muy baja latenciaaplicacio nes con alta concurrencia y alta disponibilidad Online gaming (Zinga) En general, en el área de la computación distribuida Map se utiliza para fraccionar una operación compleja entre varios nodos y Fold/Reduce para recoger los resultados y unificarlos. Por su parte, los frameworks MapReduce toman la base de las operaciones mencionadas anteriormente para crear una operación genérica y más compleja, cuyo funcionamiento es realmente útil para las bases de datos NoSQL: en vez de usarse sobre listas de valores unidimensionales, ésta toma como parámetros entrantes una lista de tuplas de tipo (clave, valor) y devuelve una lista de valores. Entre las operaciones map (distribuida) y reduce (normalmente localizada) se genera una lista de tuplas (clave, valor) con valores temporales, de las que reduce filtra solamente las que tengan una determinada clave. En definitiva, MapReduce es fundamental en las bases de datos NoSQL para permitir la utilización de funciones de agregación de datos, ya que al carecer de esquema son mucho más complicadas que en las bases de datos relacionales clásicas RDBMS (Relational Database Management System ). RESULTADOS Y OBJETIVOS Resultados Obtenidos Se han publicado siete (7) trabajos de investigación en diferentes Congresos y Jornadas, y tres (3) trabajos de divulgación: un trabajo en el Symposium Internacional. La computadora contra el estigma de la discapacidad. Montevideo. 2009[26], otro trabajo en el Workshop de Investigadores en Ciencias de la Computación 2010 [1], otro en el WICC 2011 [8], dos (2) trabajos en el Congreso Argentino de Ciencias de la Computación 2010 [2] [3], otro en Perú [4] otro en V Seminario Internacional De legados y Horizontes para el Siglo XXI, 2010, organizado por RUEDA [4], y otro en el 1º Seminario Argentina Brasil de Tecnologías de la Información y la Computación [7]. El trabajo de divulgación es citado en [6]. También se ha desarrollado una tesina en Windows Azure, otra con Google AppEngine, otra PAGINA - 169 -

sobre Eye OS, y tres basadas en aplicaciones para lengua de señas. Resultados Esperados El objetivo del grupo de investigación en esta línea, es la comparación en varios aspectos de las distintas Bases de Datos NoSql, y la integración de distintas tecnologías Open Source como las que propone Google. FORMACION DE RECURSOS HUMANOS El proyecto marco sobre el que se realizan las investigaciones comenzó 2010, las publicaciones y trabajos de divulgación se han desarrollado en colaboración con becarios y alumnos avanzados, como [1] [2] [3] [4] [5] [6] [7] [8]. Se desarrolló una beca de investigación de alumno avanzado sobre Mobile Cloud Computing y se está desarrollando otra sobre orquestación en servicios Web. Se aprobaron tres (3) tesinas de tecnicatura sobre el tema de lengua de señas, dos de ellas sobre plataforma móvil y la otra implementando servicios Web. Por otro lado también se han aprobado 3 (tres) tesinas de licenciatura sobre Cloud Computing, sobre distintas tecnologías como Windows Azure y Google App Engine, una de las cuales se integra con una plataforma móvil con el OS Android. Además se encuentra en desarrollo y se proyectan dos de licenciatura y otra de tecnicatura, y se espera realizar alguna tesis de maestría y aumentar el número de publicaciones. Por otro lado también se prevé la divulgación de varios temas investigados por medio de cursos de postgrado y actualización o publicaciones de divulgación. REFERENCIAS [1] Murazzo, Rodríguez. "Mobile Cloud Computing". WICC 2010. Calafate. Mayo 2010. [2] Murazzo, Millán, Rodríguez, Segura, Villafañe. Desarrollo de aplicaciones para Cloud Computing. CACIC 2010. Morón. Oct. 2010. [3] Murazzo, Rodríguez, Millán, Segura y Villafañe."Plataformas Educativas Implementadas Con Cloud Computing". XVI Congreso Argentino de Ciencias de la Computación CACIC 2010, Workshop de Tecnologías Informáticas Aplicadas a la Educación. Morón. Oct. 2010. [4]Murazzo, Rodríguez. "Una propuesta para el desarrollo de aplicaciones para Mobile Cloud Computing". Congreso Internacional de Computación y Telecomunicaciones COMTEL 2010, Lima, Perú. Oct. 2010. [5] Millán, Murazzo, Rodríguez." Plataformas Educativas Implementadas Con Mobile Cloud Computing". V Seminario Internacional De legados y Horizontes para el Siglo XXI, organizado por RUEDA. Tandil. Sep. 2010. [6] Rodríguez, Murazzo, Ene. "Cloud Computing". X Workshop de investigadores en Ciencias de la Computación y Sistemas de Información. San Juan. Mayo 2009. [7] Nelson R. Rodríguez, María A. Murazzo, Cecilia di Sciacio. "Integración de Computación móvil con Cloud Computing". 1º Seminario Argentina Brasil de Tecnologías de la Información y la Computación; bajo el lema "Las TIC como oportunidad de integración". Rosario Nov. 2011. [8] Rodríguez, Chavez, Martin, Murazzo, Valenzuela. "Interoperabilidad en Cloud Computing". XII Workshop de investigadores en Ciencias de la Computación y Sistemas de Información. Rosario. Mayo 2011. [9]Rodríguez, Villafañe, Murazzo, Gallardo, Tarrachano. "GAE, una estrategia para complementar SaaS y PaaS a traves de la Web". 2do SABTIC. Tres de Maio, Brasil. Agosto 2012. BIBLIOGRAFIA CONSULTADA Antonopoulos- Gillan Cloud Computing Principles, Systems and Applications Springer 2010-978-1-84996-241-4 LINK DE INTERES http://www.nosql.es/blog/nosql/mapreduce.h tml PAGINA - 170 -