Sei sulla pagina 1di 6

NoSQL

En informática, NoSQL (a veces llamado "no sólo SQL") es una amplia clase de sistemas de gestión de bases de datos que difieren
del modelo clásico de SGBDR (Sistema de Gestión de Bases de Datos Relacionales) en aspectos importantes, siendo el más
destacado que no usan SQL como lenguaje principal 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 bienhorizontalmente. Los sistemas NoSQL se denominan a veces "no sólo SQL" para subrayar
el hecho de que también pueden soportar lenguajes de consulta de tipo SQL.

Por lo general, los investigadores académicos se refieren a este tipo de bases de datos como almacenamiento estructurado, término
que abarca también las bases de datos relacionales clásicas. A menudo, las bases de datos NoSQL se clasifican según su forma de
almacenar los datos, y comprenden categorías 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 redes sociales, como Google, Amazon, Twitter y Facebook.
Estas tenían que enfrentarse a desafíos con el tratamiento de datos que las tradicionales SGBDR no solucionaban [cita requerida]. Con
el crecimiento de la web en tiempo real existía una necesidad de proporcionar información procesada a partir de grandes volúmenes
de datos que tenían unas estructuras horizontales más o menos similares. Estas compañías se dieron cuenta de que el rendimiento y
sus propiedades de tiempo real eran más importantes que la coherencia, en la que las bases de datos relacionales tradicionales
[cita requerida].
dedicaban una gran cantidad de tiempo de proceso

En ese sentido, a menudo, las bases de datos NoSQL están altamente optimizadas para las operaciones recuperar y agregar, y
normalmente no ofrecen mucho más que la funcionalidad de almacenar los registros (p.ej. almacenamiento clave-valor). La pérdida
de flexibilidad en tiempo de ejecución, comparado con los sistemas SQL clásicos, se ve compensada por ganancias significativas en
[cita requerida]
escalabilidad y rendimiento cuando se trata con ciertos modelos de datos.

Índice
Historia del término
Arquitectura
Ventajas
Desventajas
Sistemas
Tabla Comparativa de SGBD NoSQL
Bases de datos documentales
Bases de datos en grafo
Bases de datos clave/valor
Bases de datos multivalor
Bases de datos orientadas a objetos
Bases de datos tabular
Bases de datos de arrays
Referencias
Enlaces externos

Historia del término


Carlo Strozzi usó el término NoSQL en 1998 para referirse a su base de datos. Era una base de datos open-source, ligera, que no
ofrecía un interface SQL, pero sí seguía el modelo relacional1 (Strozzi sugiere que, ya que el actual movimiento NoSQL "Se sale
2
completamente del modelo relacional, debería, por tanto, haberse llamado 'NoREL', o algo así.")

Eric Evans, un empleado deRackspace, reintrodujo el término NoSQL cuando Johan Oskarsson de Last.fm quiso or
ganizar un evento
para discutir bases de datos distribuidas de código abierto. El nombre intentaba recoger el número creciente de bases de datos no
relacionales y distribuidas que no garantizabanACID, atributo clave en las SGBDR clásicas.

Arquitectura
Típicamente 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 número de documentos, la presentación de páginas en sitios que tienen gran
tráfico, y en sitios de streaming audiovisual. Las implementaciones típicas de SGBDR se han afinado o bien para una cantidad
pequeña 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 señalar
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 Comisión Europea usado en los modelos de comparación y calidad del aire, y los 50 TB de la búsqueda de
la bandeja de entrada de Facebook.

Las arquitecturas NoSQL frecuentemente aportan escasas garantías de consistencia, tales como consistencia de eventos o
transaccional restringida a ítems únicos de datos. Algunos sistemas, sin embargo, aportan todas las garantías de los sistemas ACID en
algunas instancias añadiendo 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 múltiples filas con garantías de
aislamiento snapshot para el sistema subyacente de almacenamiento en esa columna, sin sobrecarga extra en la gestión 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 añadiendo más 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 de datos nativas en XML, promueven el soporte del estándar Xquery. Los sistemas más novedosos
tales como CloudTPS también soportan unión de queries.

Ventajas
3
Estos sistemas responden a las necesidades de escalabilidad horizontal que tienen cada vez más empresas.
Pueden manejar enormes cantidades de datos.
No generan cuellos de botella.
Escalamiento sencillo.
Diferentes DBs NoSQL para diferentes proyectos.
Se ejecutan en clusters de máquinas baratas.

Desventajas
La bases de datos NoSQL al ser de código abierto poseen un soporte diferente al soporte que ofrecen las
compañías comerciales a sus productos. La comunidad open source, si bien podría responder a cualquier
problema, posiblemente se puedan tardar más que una compañía comercial de código propietario.
No están lo suficientemente maduros para algunas empresas.- A pesar de sus puestas en práctica en algunas
grandes empresas, las bases de datos NoSQL aún se enfrentan a un problema de credibilidad importante con
muchas empresas. Los críticos señalan la falta de madurez de NoSQL y los posibles problemas de inestabilidad,
mientras que citan la madurez, y una gran funcionalidad y estabilidad de los SGBDRes.

Limitaciones de Inteligencia de Negocios.- Hay una o dos cuestiones acerca de las capacidades de BI de las bases
de datos NoSQL. ¿Pueden estas bases de datos proporcionar la clase de minería de datos rigurosos que las
empresas se utilizan con las SGBDRes? ¿Cuántos conocimientos de programación se necesitan para hacer la
consulta ad hoc y análisis?. Las respuestas no son precisamente positivas. Las bases de datos NoSQL no tienen
muchos ganchos para el uso general de herramientas de BI, mientras que la más simple consulta ad-hoc y análisis
implica conocimientos de programación bastante buenos. Sin embargo, las soluciones están disponibles. Quest
Software, por ejemplo, ha creado Toad para bases de datos en la nube, que proporciona capacidades de consulta
ad-hoc para algunas bases de datos NoSQL.

La falta de experiencia.- La novedad de NoSQL significa que no hay una gran cantidad de desarrolladores y
administradores que conocen la tecnología -lo que hace difícil a las empresas encontrar personas con los
conocimientos técnicos apropiados. Por el contrario, el mundo SGBDR tiene miles de personas muy cualificadas.

Problemas de compatibilidad.- A diferencia de las bases de datos relacionales, que comparten ciertos estándares,
las bases de datos NoSQL tienen pocas normas en común. Cada base de datos NoSQL tiene su propia API, las
interfaces de consultas son únicas y tienen peculiaridades. Esta falta de normas significa que es imposible cambiar
simplemente de un proveedor a otro, por si no quedara satisfecho con el servicio.

Sistemas

Tabla Comparativa de SGBD NoSQL


Bases de datos documentales
CouchDB, de Apache CouchDB
MongoDB, de 10gen
RavenDB, de Hibernating Rhinos.
BaseX
djondb
eXist
SimpleDB, de Amazon
IBM Lotus Domino
Terrastore

Bases de datos en grafo


Neo4j
DEX/Sparksee
AllegroGraph
OrientDB
InfiniteGraph
Sones GraphDB
InfoGrid
HyperGraphDB

Bases de datos clave/valor


Cassandra, de Apache The Apache Cassandra
BigTable, de Google
Dynamo, de Amazon
Project Voldemort, de LinkedIn
Riak
Redis
Oracle NoSQL [1]

Bases de datos multivalor


Rocket D3 DBMS
Rocket mvBase DBMS
Rocket U2 Universe
Rocket U2 Unidata
OpenQM
Caché InterSystems
Reality
Jbase
OpenInsight
Extensible storage engine

Bases de datos orientadas a objetos


ObjectDB
Zope Object Database
db4o
GemStone S
Objectivity/DB
Realm.io
Bases de datos tabular
HBase, de Apache
BigTable, de Google
LevelDB, versión abierta de BigTable
Hypertable

Bases de datos de arrays


SciDB, de Paradigm4

Referencias
1. Lith, Adam; Mattson, Jakob (2010). «Investigating storage solutions for large data: A comparison of well performing
and scalable data storage solutions for real time extraction and batch insertion of data» (http://publications.lib.chalme
rs.se/records/fulltext/123839.pdf) (PDF). Göteborg: Department of Computer Science and Engineering, Chalmers
University of Technology. p. 15. Consultado el 12 de mayo de 2011. «Carlo Strozzi first used the term NoSQL in 1998
as a name for his open source relational database that did not of fer a SQL interface[...]».
2. «NoSQL Relational Database Management System: Home Page» (http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nos
ql/Home%20Page). Strozzi.it. 2 de octubre de 2007. Consultado el 29 de marzo de 2010.
3. Twitter planifica la migración de MySQL a Cassandra DB (http://softlibre.barrapunto.com/softlibre/10/03/01/237259.s
html) en barrapunto

Enlaces externos
Blog NoSQL.es
NoSQL, más allá del modelo relacionalen barrapunto
nosql-discussion Google Group.
nosql-databases.org "Your Ultimate Guide to the Non-Relational Universe!"
Eric Lai. (2009, July 1).No to SQL? Anti-database movement gains steam
El reto de las bases de datos NoSQL
Types Of NoSQL Database Management Systems

Obtenido de «https://es.wikipedia.org/w/index.php?title=NoSQL&oldid=104151971
»

Se editó esta página por última vez el 14 dic 2017 a las 18:54.

El texto está disponible bajo laLicencia Creative Commons Atribución Compartir Igual 3.0 ; pueden aplicarse cláusulas
adicionales. Al usar este sitio, usted acepta nuestrostérminos de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de laFundación Wikimedia, Inc., una organización sin ánimo de lucro.

Potrebbero piacerti anche