Es un término usado en informática para agrupar una serie de almacenes de datos no relacionales que no proporcionan garantías ACID. Normalmente no tienen esquemas fijos de tablas ni sentencias "JOIN".
1. NoSQL – MODELO NO RELACIONAL
NELSON SAMIR RIOS RAMOS
Resumen-NoSQL es un término usado en informática para
agrupar una seriedealmacenes dedatos norelacionales que
no proporcionan garantías ACID. Normalmente no tienen
esquemas fijos de tablas ni sentencias "join"
Palabras claves- Datos no relacionaes, garantías ACID,
RDBMS, streaming media.
INTRODUCCIÓN
El término NoSQL fue acuñado a principios de 2009,
cuando se quiso organizar un evento para discutir bases
de datos distribuidas de código abierto. El nombre
intenta describir el surgimiento de un número creciente
de bases de datos no relacionales y distribuidas que no
suelen proveer garantias ACID.
Existe un movimiento llamado NoSQL que “impulsa” las
bases de datos no relacionales, la intención de este
movimiento tambien es advertir que los sistemas de
bases de datos relacionales que habíamos conocido y
admirado hasta la fecha podrían tener fecha de
caducidad. Como su propio nombre indica también trata
de impulsar alternativas muy distintas a las que hasta
ahora ha propuesto toda la rama de productos basados
en el lenguaje SQL.
NoSQL es un término que está teniendo gran acogida en
grandes empresas y las surgientes y poderosas redes
sociales como son: FACEBOOK y TWITTER (por ahora
solo está iniciando la migración de sus datos a
Cassandra).
Algunas de las razones por las que este movimiento
podría estar tomando cada vez más fuerza son:
Código abierto, lo que implica el control. La
capacidad de que el softw are de código
abierto ofrece para personalizar la
funcionalidad del producto.
Permiten la migración de más cantidad de
datos.
Al ser softw are libre, permite que el cliente
pueda modificar el código de acuerdo a sus
necesidades.
ARQUITECTURA
La bases de datos relacionales modernas han mostrado
un pobre desempeño en aplicaciones intensivas de
datos, incluyendo la indexación de un gran número de
documentos, servicio de páginas en los sitios w eb de
alto tráfico y la entrega de streaming media. Se puede
ser eficaz sólo cuando se sintonizan bien para los
pequeños pero frecuentes lectura / escritura de las
transacciones y para las operaciones en bloque grande
con poco acceso a escribir, mientras que hay demandas
de los almacenes de datos capaz de grandes cargas de
trabajo con actualizaciones frecuentes, ejemplos del
mundo real incluyen 3 de Digg TB para placas verdes
(los marcadores que indican historias actualizada por
otros en una red social), 50 de Facebook TB para
bandeja de entrada de la búsqueda y eBay de datos con
2 PB global.
Las arquitecturas NoSQL suelen ofrecer garantías débil
consistencia como consistencia eventual y / o
transacciones limita a elementos de datos individuales.
Algunos sistemas sin embargo, ser garantes de ácido,
en algunos casos mediante la adición de una capa de
middlew are adicional (por ejemplo, CloudTPS).
Varios sistemas NoSQL emplean una arquitectura
distribuida, con los datos en poder de una manera
redundante en varios servidores, a menudo usando una
tabla hash distribuidas. De esta manera el sistema
puede escalar fácilmente al añadir más servidores, y el
fracaso de un servidor puede ser tolerado.
Algunos defensores de NoSQL promueven interfaces
muy simples, tales como arrays asociativos o pares de
clave y valor. Otros sistemas, tales como bases de datos
XML nativa, promueven el apoyo del estándar XQuery.
2. SISTEMAS DE EJEMPLO NoSQL
Propietarios
BigTable, de Google
Dynamo, de Amazon
Libres
Cassandra, de Apache The Apache
Cassandra (Sistema de Bases de datos de
FACEBOOK)
MongoDB, de 10gen MongoDB
HBase, de Apache
Project Voldemort, de LinkedIn
RavenDB, de Hibernating Rhinos.
Mnesia
Hbase
Hypertable