Está en la página 1de 3

Miguel Angel Badillo Hernndez 7 B

Base de Datos Avanzadas.

NoSQL

En informtica, NoSQL (a veces llamado "no slo SQL") es una amplia clase
de sistemas de gestin de bases de datos que difieren del modelo clsico del
sistema de gestin de bases de datos relacionales (RDBMS) en aspectos
importantes, el ms destacado es que no usan SQL como el principal lenguaje
de consultas. Los datos almacenados no requieren estructuras fijas como
tablas, normalmente no soportan operaciones JOIN, ni garantizan
completamente ACID (atomicidad, consistencia, aislamiento y durabilidad), y
habitualmente escalan bien horizontalmente.
Por lo general, los investigadores acadmicos se refieren a este tipo de bases
de datos como almacenamiento estructurado, trmino que abarca tambin las
bases de datos relacionales clsicas. A menudo, las bases de datos NoSQL se
clasifican segn su forma de almacenar los datos, y comprenden categoras
como clave-valor, las implementaciones de BigTable, bases de datos
documentales, y Bases de datos orientadas a grafos.
Los sistemas de bases de datos NoSQL crecieron con las principales
compaas de Internet, como Google, Amazon, Twitter y Facebook. Estas
tenan que enfrentarse a desafos con el tratamiento de datos que las
tradicionales RDBMS no solucionaban [cita requerida]. Con el crecimiento de la web
en tiempo real exista una necesidad de proporcionar informacin procesada a
partir de grandes volmenes de datos que tenan unas estructuras horizontales
ms o menos similares. Estas compaas se dieron cuenta de que el
rendimiento y sus propiedades de tiempo real eran ms importantes que la
coherencia, en la que las bases de datos relacionales tradicionales dedicaban
una gran cantidad de tiempo de proceso[cita requerida].
En ese sentido, a menudo, las bases de datos NoSQL estn altamente
optimizadas para las operaciones recuperar y agregar, y normalmente no
ofrecen mucho ms que la funcionalidad de almacenar los registros (p.ej.
almacenamiento clave-valor). La prdida de flexibilidad en tiempo de ejecucin,
comparado con los sistemas SQL clsicos, se ve compensada por ganancias
significativas en escalabilidad y rendimiento cuando se trata con ciertos
modelos de datos
Carlo Strozzi us el trmino NoSQL en 1998 para referirse a su base de datos.
Era una base de datos open-source, ligera, que no ofreca un interface SQL,
pero s segua el modelo relacional1 (Strozzi sugiere que, ya que el actual
movimiento NoSQL "Se sale completamente del modelo relacional, debera, por
tanto, haberse llamado 'NoREL', o algo as.")2

Miguel Angel Badillo Hernndez 7 B


Base de Datos Avanzadas.

Eric Evans, un empleado de Rackspace, reintrodujo el trmino NoSQL cuando


Johan Oskarsson de Last.fm quiso organizar un evento para discutir bases de
datos distribuidas de cdigo abierto. El nombre intentaba recoger el nmero
creciente de bases de datos no relacionales y distribuidas que no
garantizaban ACID, atributo clave en las RDBMS clsicas.
Tpicamente las bases de datos relacionales modernas han mostrado poca
eficiencia en determinadas aplicaciones que usan los datos de forma intensiva,
incluyendo el indexado de un gran nmero de documentos, la presentacin de
pginas en sitios que tienen gran trfico, y en sitios de streaming audiovisual.
Las implementaciones tpicas de RDBMS se han afinado o bien para una
cantidad pequea pero frecuente de lecturas y escrituras o para un gran
conjunto de transacciones que tiene pocos accesos de escritura. Por otro lado
NoSQL puede servir gran cantidad de carga de lecturas y escrituras.
Implementaciones de NoSQL usadas en el mundo real incluyen los 3TB de los
marcadores verdes de Digg (indicados para sealar las historias votadas por
otros en la red social; aunque dur menos de 3 meses y fue abandonado); los 6
TB de la base de datos del ENSEMBLE de la Comisin Europea usado en los
modelos de comparacin y calidad del aire, y los 50 TB de la bsqueda de la
bandeja de entrada de Facebook.
Las arquitecturas NoSQL frecuentemente aportan escasas garantas de
consistencia, tales como consistencia de eventos o transaccional restringida a
tems nicos de datos. Algunos sistemas, sin embargo, aportan todas las
garantas de los sistemas ACID en algunas instancias aadiendo una capa
intermedia (como por ejemplo, AppScale o CloudTPS). Hay dos sistemas que
han sido desplegados y que aportan aislamiento snapshot para
almacenamientos de columna: El sistema Percolator de Google (basado en el
sistema BigTable) y el sistema transaccional de Hbase desarrollado por la
universidad de Waterloo. Estos sistemas, desarrollados de forma
independiente, usan conceptos similares para conseguir transacciones ACID
distribuidas de mltiples filas con garantas de aislamiento snapshot para el
sistema subyacente de almacenamiento en esa columna, sin sobrecarga extra
en la gestin de los datos, despliegue en el sistema de middleware, ni
mantenimiento introducido por la capa de middleware.
Bastantes sistemas NoSQL emplean una arquitectura distribuida, manteniendo
los datos de forma redundante en varios servidores, usando frecuentemente
una tabla hash distribuida. De esta forma, el sistema puede realmente escalar
aadiendo ms servidores, y el fallo en un servidor puede ser tolerado.
Algunos defensores de NoSQL promueven interfaces simples tales como los
arrays asociativos o los pares clave-valor. Otros sistemas, tales como las bases

Miguel Angel Badillo Hernndez 7 B


Base de Datos Avanzadas.

de datos nativas en XML, promueven el soporte del estndar Xquery. Los


sistemas ms novedosos tales como CloudTPS tambin soportan unin de
queries.

También podría gustarte