NoSql introducción -Innova4j

2,771 views

Published on

Introducción a bases de datos NoSQL

Published in: Technology
  • Be the first to comment

NoSql introducción -Innova4j

  1. 1. Introducción a las bases dedatos NoSQL.
  2. 2. Indice Introducción a las bases de datos NoSQL. Quiénes las están usando. Limitaciones. Comparación de diversas soluciones. Conclusiones.
  3. 3. Definición Bases de datos NoSQLNoSQL aglutina las diferentes soluciones de base de datoscentradas en ser no relacionales, distribuidas y escalablesde forma horizontal.El concepto NoSQL es algo que ha venido tomando fuerzadurante los últimos años y se plantea al día de hoy comouna alternativa madura y eficiente que nos puede ayudar aresolver los problemas de escalabilidad y rendimiento deaplicaciones online con miles de usuarios concurrentes ymillones de consultas al día.
  4. 4. Importancia de las arquitecturas escalablesEl escalamiento es la habilidad de un sistema de atender uncreciente numero de requerimientos sin degradar la calidaddel servicio.El escalamiento vertical se logra aumentando la capacidad deun equipo en: memoria, disco, procesadores, etc. El escalamiento horizontal se logra adicionando computadores (nodos) al “cluster” de computadores en el que se ejecuta el sistema.
  5. 5. Importancia de las arquitecturas escalables IIEl escalamiento horizontal reduce el riesgo de un únicopunto de fallo en un sistema de alta disponibilidad.Por su relación costo / beneficio el escalamiento horizontales la apuesta de los servicios actuales de Internet: Redessociales, computación en la nube, etcEn su evolución estos servicios han encontrado que losmétodos de escalamiento horizontal de las bases de datosrelacionales no satisfacen sus necesidades de rendimiento.
  6. 6. Teorema CAP o de Brewer I (Consistency, Availability, Partition tolerance)  onsistencia: Todos los nodos tienen los Cmismos datos.  isponibilidad: Cada requerimiento hecho Da un nodo que no este fallando deberíarecibir respuesta.  olerancia a particiones: El sistema sigue Tfuncionando aun con Particiones físicas enla red. ( Perdida de mensajes entre nodos ) En un sistema distribuido solo es posible ofrecer simultáneamente dos de las tres características
  7. 7. Teorema CAP o de Brewer II
  8. 8. Teorema CAP o de Brewer III “Consistencia eventual”Las bases de datos NoSql que garantizan la disponibilidad delos datos y tolerancia a fallos , sacrifican temporalmente la consistencia de los datos.
  9. 9. Tipos de Base de datos NoSQL  ases de datos para grafos. B  ases de datos documentales. B  ases de datos Orientados a columnas. B  ases de datos clave-valor B
  10. 10. Bases de datos orientadas a grafos.Fundamentados en la teoría de grafos. La información seguarda en estructuras de nodos, arcos (conexiones) ypropiedades ( de arcos y nodos).Están orientados a manejos de datos muy complejos y conmuchas relaciones. Problemas típicos que enfrentan:  ncontrar la mejor ruta en un mapa. E  ncontrar relaciones en una red social. E  j: Neo4j, FlockDB. E
  11. 11. Bases de datos documentalesLa información se almacena en objetos xml, json, etcRenuncian a la estructura fija de datos usual en RDBMS.Almacenan información semiestructurada.Documentos con nueva estructura puede ser adicionados sinafectar la estructura de los documentos ya existentes.Ej: CouchDB, MongoDB
  12. 12. Bases de datos orientadas a columnasEl almacenamiento básico es la columna: Nombre, valor.Una familia de columnas es una clave seguida de unnumero variable de columnas.Su equivalente relacional seria una tabla.Cassandra y otras incluyen implícitamente el timestamp encada columna para manejar versiones de los datos.
  13. 13. Bases de datos clave-valorComo su nombre lo indica la estructura básica delalmacenamiento es una “clave”, que permite recuperar un“valor”, donde “valor” representa el objeto guardado.Son almacenamientos distribuidos optimizados para elescalamiento horizontal.Ej; Voldemort
  14. 14. Introducción a NO SQL Énfasis Clave-valor Familias de columnasEscalamiento Documentales Grafos Facilidad de acceso a los de datos y la complejidad de sus relaciones
  15. 15. Quienes las están usando? Google desarrolló Bigtable Facebook desarrolló Casandra Linkedin Desarrolló Voldemort Amazon desarrollo SimpleDb, DynamoCasandra y Voldemort son ahora proyectos Open source
  16. 16. Limitaciones Las base de datos NoSQL presentan limitaciones en la consulta y explotación de datos.Siendo altamente especializadas cada base de datos NoSQL presenta peculiaridades en su API. Prácticamente no hayestándares entre las diferentes familias de bases de datos NO SQL.
  17. 17. Nuestra comparación(Enfocado en funcionalidad y no rendimiento)Memcached  onfiguración: No requiere configuración. Con la ejecución Cde un programa un equipo se convierte en proveedor delservicio (nodo). Implementación para Linux y una no oficialpara Windows.  so: El API es muy sencillo. U  omunidad: Entre sus clientes se incluyen Youtube y CWikipedia.  valuación: Inclusión de nodos en caliente; varios nodos Epor equipo. No ofrece persistencia en disco.
  18. 18. Berkeley DB  onfiguración: El fabricante provee el instalador tanto Cpara Linux como para Windows y están bien documentados.  omunidad: Es un producto comprado y mejorado por COracle.  valuación: Su API permite hacer consultas no solo por Ellave sino por campos del valor. No es distribuida.
  19. 19. Hbase  onfiguración: Depende de otros productos como Hadoop y CZooKeeper, con su propia configuración. Se puede requerirconfiguración a nivel del sistema operativo.  so: El API requiere más codificación de lo usual en este Utipo de productos y puede conducir a “method overhead”.  ctividad de la comunidad: Como proyecto de Apache que Aes, cuenta con mucha audiencia.
  20. 20. Voldemort Configuración: 3 archivos de configuración por nodo.  Conceptos: Particiones de llaves, políticas de enrutamiento y factores de replicación. Los valores por defecto sonsuficientes para empezar.  so: Utilidad de línea de comandos para hacer put, get. UCuenta con un modulo de administración.  omunidad: Foros activos, Consultas resueltas en cuestión Cde horas.  valuación: Es Java. El concepto de regiones de caché Etiene equivalente en el store.
  21. 21. Conclusiones  as Bases de datos NoSQL son herramientas en permanente evolución. L Es recomendable definir una capa de acceso a datos que permiteaprovechar las ventajas de las bases de datos NoSQL sin generardependencia de un producto especifico.  as bases de datos NoSQL son soluciones especializadas que atacan una Lproblemática muy especifica (escalamiento, concurrencia y grandesvolúmenes de datos), no son un remplazo natural a las bases de datosrelacionales.  l éxito de una arquitectura implementada sobre NoSQL depende en gran Emedida del diseño de las estructuras de datos y la forma como estos sonrecuperados y procesados.  as base de datos relacionales y las base de datos NoSQL son tecnologías Lque pueden coexistir dentro de un mismo desarrollo/aplicación aportandovalor y llegando a ser tecnologías complementarias.
  22. 22. Referencias  Scalable Stores” de Rick cattell en http://www.cattell.net/datastores/ “index.html Incluye un estudio de las familias NoSQL, y links a recursosactualizados sobre el tema. http://nosql-database.org/ Ofrece un catalogo de las diversas solucionesNoSQL.  ttp://www.royans.net/arch/brewers-cap-theorem-on-distributed- hsystems/ Describe el teorema CAP.  ttp://blog.nahurst.com/visual-guide-to-nosql-systems Es la fuente del hdiagrama de clasificación de las soluciones NoSQl de acuerdo con elTeorema CAP.  ttp://www.alberton.info/ hnosql_databases_what_when_why_phpuk2011.html Es la fuente deldiagrama de Tamaño / complejidad e incluye descripciones de las diversasarquitecturas y conceptos claves de NoSQL.

×