0% encontró este documento útil (0 votos)
188 vistas4 páginas

Introducción a NoSQL y su escalabilidad

1. NoSQL se refiere a bases de datos no relacionales que no usan SQL y ofrecen escalabilidad horizontal. Algunas implementaciones populares son MongoDB, Cassandra y HBase. 2. NoSQL permite escalabilidad sencilla al distribuir la carga de datos entre múltiples servidores y ofrece diferentes opciones para diferentes tipos de proyectos como MongoDB para almacenamiento con alta frecuencia de escritura. 3. NoSQL se adapta bien a la nube ya que aprovecha la memoria en lugar del disco y la partición horizontal de datos para aprovechar

Cargado por

Luis Enrique Mtz
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
188 vistas4 páginas

Introducción a NoSQL y su escalabilidad

1. NoSQL se refiere a bases de datos no relacionales que no usan SQL y ofrecen escalabilidad horizontal. Algunas implementaciones populares son MongoDB, Cassandra y HBase. 2. NoSQL permite escalabilidad sencilla al distribuir la carga de datos entre múltiples servidores y ofrece diferentes opciones para diferentes tipos de proyectos como MongoDB para almacenamiento con alta frecuencia de escritura. 3. NoSQL se adapta bien a la nube ya que aprovecha la memoria en lugar del disco y la partición horizontal de datos para aprovechar

Cargado por

Luis Enrique Mtz
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Qu es NoSQL?

Originalmente el trmino NoSQL, que fue acuado en 1998, se refera a una base de datos relacional de cdigo abierto que no usaba un lenguaje de consultas SQL (Structured Query Language). Hasta 2009 estas cinco letras cayeron en el olvido, pero fue Johan Oskarsson, entonces empleado de Last.fm, quien organiz un evento para tratar las bases de datos distribuidas de cdigo abierto no relacionales, llamndolas NOSQL, Not-Only SQL. Las caractersticas comunes entre todas las implementaciones de bases de datos distribuidas no relacionales, propietarias o no, suelen ser las siguientes:

Consistencia Eventual: No se implementan mecanismos rgidos de consistencia como los presentes en las bases de datos relacionales, donde la confirmacin de un cambio implica una comunicacin del mismo a todos los nodos que lo repliquen. Esta flexibilidad hace que la consistencia se d, eventualmente, cuando no se hayan modificado los datos durante un periodo de tiempo. Esto se conoce tambin como BASE (Basically Available Soft-state Eventual Consistency, o coherencia eventual flexible bsicamente disponible), en contraposicin a ACID, su analoga en las bases de datos relacionales. Estructura distribuida: Generalmente se distribuyen los datos mediante mecanismos de tablas de hash distribuidas (DHT) ya que realmente se trata, segn las distintas implementaciones, de redes p2p. Escalabilidad horizontal: La implementacin tpica se realiza en muchos nodos de capacidad de procesado limitado, en vez de utilizar grandes Mainframes. Tolerancia a fallos y Redundancia.

De entre todas las implementaciones de bases de datos NoSQL, hay muchas que no utilizan el lenguaje de consultas SQL (por ejemplo, MongoDB usa JSON), pero hay algunas que siguen usndolo, como por ejemplo BigTable (GQL), que lo ha transformado manteniendo su estructura bsica. Definitivamente, con el trmino NoSQL nos referimos a una multitud de bases de datos que intentan solventar las limitaciones que el modelo relacional se encuentra en entornos de almacenamiento masivo de datos, y concretamente en las que tiene en el momento de escalar, donde es necesario disponer de servidores muy potentes y de balanceo de carga.

NoSQL es un trmino usado en informtica para agrupar una serie de almacenes de datos no relacionales que no proporcionan garantas ACID. Normalmente no tienen esquemas fijos de tablas ni sentencias "join".1

Historia del trmino

El trmino NOSQL fue acuado a principios de 1999 por un empleado de Rackspace, Eric Evans, cuando Johan Oskarsson de Last.fm quiso organizar un evento para discutir bases de datos distribuidas de cdigo abierto. El nombre intenta describir el surgimiento de un nmero creciente de bases de datos no relacionales y distribuidas que no suelen proveer garantias ACID. El trmino ACID hace referencia a un conjunto de caractersticas necesarias para que una serie de instrucciones puedan ser consideradas como una transaccin.

Bases de datos NoSQL


Enviado por Felipe Piccolini el 27/01/2011 a las 01:20 PM Etiquetas: bigtable db cassandra hbase nosql database mongodb hadoop

Para los que saben de desarrollo de software o alguna vez han tenido que construir un sitio web, saben que a parte del la interfaz espectacular y buenas funcionalidades que cumplan con lo esperado por el cliente/negocio, siempre hay que -de una manera u otra- guardar datos en alguna parte, persistirlos... para que la proxima vez que alguien use la aplicacion, no sea empezar todo de nuevo... a esto se le llama persistencia y normalmente (desde los 70's mas o menos) se hace usando bases de datos relacionales (RDBS). La tipica base de datos relacional (como Oracle, DB2 y MySQL) utiliza tablas y esquemas (agrupaciones de tablas), donde cada tabla es eso... una tabla con filas y columnas, donde las columnas son el tipo de dato que se quiere guardar y las filas son en si cada conjunto de datos, por ejemplo, los datos de alguien en una tabla Persona se podrian guardar en columnas como Id, Rut, Nombre, Apellido, FechaNaciemiento, etc., y la forma de consultar los datos es un lenguaje llamado SQL. Antes que nada, quiero aclarar que NoSQL (Not Only SQL) es un movimiento, no una base de datos en si, y como movimiento, muchas bases de datos caen en esta categoria. Las bases de datos NoSQL parten de la base en la que las "tablas" no existen como tal, sino que la informacion se almacena de forma distinta, generalmente como llave-valor, como una tabla en la que las columnas son dinamicas, pueden cambiar sin perder la agrupacion de la informacion, asi es que puedo tener 'Personas' con mas atributos que otras, puedo cambiar la estructura de mi informacion dinamicamente sin tener que re-disear todo de nuevo. Una de las gracias de estas bases de datos es que permiten almacenar gran candidad de datos y escalar linealmente, sin afectar el performance y ademas son extremadamente rapidas. Es cierto que para una aplicacion normal que no almacena muchos datos quizas esto no sea necesario y con MySQL sea suficiente, pero si se necesita almacenar muchisima informacion, una base de datos como MySQL no podra escalar bien, incluso con clusters, asi es que es una buena idea echarle un vistazo a estas soluciones, aunque debo decir que NoSQL no es para todo, cada base de datos tiene su aplicacion y tienes que ver cual es la que mas te sirve antes de implementar tu aplicacion.

En general hay 4 tipos de bases de datos NoSQL, dependiendo de como almacenan la informacion: * Key-Value: llave-valor es la forma mas tipica, como un HashMap donde cada elemento esta identificado por una llave unica, lo que permite la recuperacion de la informacion de manera muy rapida. Muchas de ellas estan basadas en la publicacion de Google acerca de su BigTable y de Amazon. Dentro de estas bases de datos podemos encontrar a BigTable de Google, SimpleDB de Amazon, Cassandra, HBase (Hadoop), Riak, Voldemort, TokioCabbinet y MemcacheDB entre otras. * Document based: estas almacenan la informacion como un documento (generalmente con una estructura simple como JSON o BSON) y con una llave unica. Podemos encontrar a MongoDB y CouchDB entre las mas importantes de este tipo. * Graph db: Hay otras bases de datos que almacenan la informacion como grafos donde las relaciones entre los nodos son lo mas importante. Son muy utiles para representar informacion de redes sociales. Encontramos a neo4j entre otras. Si quieren mas informacion al respecto les recomiendo buscar en google, ir a wikipedia y al sitio de nosql, hay mucha informacion, videos, documentacion y ejemplos. En estos momentos hay muchas empresas usando estas soluciones para almacenar gran cantidad de datos como Google, Amazon, Twiter, Facebook, SourceForge, etc. http://www.nosql.es/blog/nosql/que-es-nosql.html

1.- Es de cdigo abierto - Sobre todas las cosas buenas Los productos de cdigo abierto proporcionan a los desarrolladores grandes beneficios, sobre todo por su estado sin costo alguno. Otros beneficios: el software de cdigo abierto tiende a ser ms confiable, seguro y rpido de implementar que las alternativas propietarias. Gestores NoSQL populares son Cassandra, CouchDB, Hbase, MongoDB y Redis. 2.- Escalamiento sencillo. NoSQL sustituye a la antiguo "escalar" el mantra de los gestores de las bases de datos con una nueva: "manera" en lugar de aadir ms servidores para manejar ms carga de datos, una base de datos NoSQL permite a una empresa distribuir la carga entre varios hosts a medida que aumenta la carga. 3.- Diferentes DBs NoSQL para diferentes proyectos MongoDB y Redis son buenas opciones para el almacenamiento de escritura con alta frecuencia, rara vez leen los datos estadsticos, tales como web, contador de visitas.

Hadoop, una libre, DB distribuida que hace un buen trabajo almacenando grandes de datos tales como estadsticas del tiempo o el trabajo de anlisis de negocio. Memcache, una db transente, destaca en la web, el almacenamiento de sesiones, y las estadsticas a corto plazo. Cassandra y Riak (clusters automticos, tiendas redundantes) un buen rendimiento en entornos con aplicaciones de alta disponibilidad, donde el tiempo de funcionamiento mximo es de vital importancia. Impresionante implementaciones NoSQL de Empresas como Amazon, Facebook, la BBC, y Google se basan en DB NoSQL. NoSQL vuela alto en la Nube 4.- NoSQL y la nube es un ajuste natural. Los servidores de hoy en da son de bajo costo y fcilmente pueden ser ampliados a peticin mediante un servicio como Amazon EC2. Al igual que toda la tecnologa de la nube, EC2 se basa en la virtualizacin. El eslabn dbil de la virtualizacin es la E/S, la memoria y CPU que deben ser giles 5.- Las bases de datos NoSQL utilizan sobre todo el uso de memoria en vez del disco como la principal ubicacin de escritura - lo que impide inconsistente rendimiento I/O. Y como los almacenes de datos NoSQL aprovechan tpicamente particiones horizontales, son capaces de tomar ventaja en la nube de la elstica del aprovisionamiento. http://www.linux-party.com/modules.php?name=News&file=article&sid=6599

También podría gustarte