nosqlll

5
 NoSQL 1 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 del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más destacado 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, coherencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente. Por lo general, los investigadores académicos se refieren a este tipo de bases de datos como almacenamiento estructurado [1][2][3][4] , 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 compañías de Internet, como Google, Amazon, Twitter y Facebook. Estas tenían que enfrentarse a desafíos con el tratamiento de datos que las tradicionales RDBMS 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 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 dedicaban una gran cantidad de tiempo de proceso [cita requerida] . 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 que 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 escalabilidad y rendimiento cuando se trata con ciertos modelos de datos. [cita requerida] Historia del término Carlo Strozzi usó el término NoSQL in 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 relacional [5] (Strozzi sugiere que, ya que el actual movimiento NoSQL "Se sale completamente del modelo relacional, debería, por tanto, haberse llamado 'NoREL', o algo así.") [6] Eric Evans, un empleado de Rackspace, reintrodujo el término NoSQL cuando Johan Oskarsson de Last.fm quiso organizar 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 garantizaban ACID, atributo clave en las RDBMS 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 RDBMS 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 en los 50 TB de la búsqueda de la bandeja de entrada de Facebook.

Transcript of nosqlll

5/16/2018 nosqlll - slidepdf.com

http://slidepdf.com/reader/full/nosqlll 1/5

NoSQL 1

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 del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos

importantes, el más destacado 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, coherencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente.

Por lo general, los investigadores académicos se refieren a este tipo de bases de datos como almacenamiento

estructurado[1][2][3][4]

, 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 compañías de Internet, como Google, Amazon,

Twitter y Facebook. Estas tenían que enfrentarse a desafíos con el tratamiento de datos que las tradicionales RDBMS

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 menossimilares. Estas compañías se dieron cuenta 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 dedicaban una gran cantidad de

tiempo de proceso[cita requerida]

.

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 que 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 escalabilidad y rendimiento cuando se trata con ciertos

modelos de datos.[cita requerida]

Historia del término

Carlo Strozzi usó el término NoSQL in 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 relacional[5]

(Strozzi sugiere que, ya que el actual

movimiento NoSQL "Se sale completamente del modelo relacional, debería, por tanto, haberse llamado 'NoREL', o

algo así.")[6]

Eric Evans, un empleado de Rackspace, reintrodujo el término NoSQL cuando Johan Oskarsson de Last.fm quiso

organizar 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 garantizaban ACID, atributo clave en las

RDBMS 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

RDBMS 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 fueabandonado). 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 en los 50 TB de la búsqueda de la bandeja de entrada de Facebook.

5/16/2018 nosqlll - slidepdf.com

http://slidepdf.com/reader/full/nosqlll 2/5

NoSQL 2

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 independientemente, usan

conceptos similares para conseguir transacciones ACID distribuídas 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 distribuída, 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 mas novedosos tales como CloudTPS también soportan union de queries.

Ventajas

Estos sistemas responden a las necesidades de escalabilidad horizontal que tienen cada vez más empresas.[7]

Pueden manejar enormes cantidades de datos.[8]

No generan cuellos de botella.[9]

Es de código abierto.[10]

Escalamiento sencillo.[11]

Diferentes DBs NoSQL para diferentes proyecto.[12]

Se ejecutan en clusters de máquinas baratas.[13]

Sistemas

Bases de datos documentales

• CouchDB, de Apache Apache CouchDB[14]

• MongoDB[15]

, de 10gen[16]

• RavenDz[17]

, de Hibernating Rhinos.

• BaseX[18]

• eXist[19]

• SimpleDB[20]

• IBM Lotus Domino[21]

• Terrastore[22]

5/16/2018 nosqlll - slidepdf.com

http://slidepdf.com/reader/full/nosqlll 3/5

NoSQL 3

Bases de datos en grafo

• Neo4j[23]

• DEX[24]

• AllegroGraph[25]

• OrientDB[26]

• InfiniteGraph[27]

• Sones GraphDB[28]

• InfoGrid[29]

• HyperGraphDB[30]

Bases de datos clave/valor

• Cassandra, de Apache The Apache Cassandra[31]

• BigTable, de Google

• Dynamo, de Amazon

• Project Voldemort, de LinkedIn

•• Riak  

•• Redis

Bases de datos multivalor

•• OpenQM

•• Extensible storage engine

Bases de datos orientadas a objetos

•• Zope Object Database

•• db4o•• GemStone S

•• Objectivity/DB

Bases de datos tabular

• HBase, de Apache

• BigTable, de Google

• Hypertable[32]

Referencias[1] Hamilton, James (3 November 2009). « Perspectives: One Size Does Not Fit All (http:/   /  perspectives. mvdirona. com/ 

CommentView,guid,afe46691-a293-4f9a-8900-5688a597726a.  aspx)». Consultado el 13 November 2009.

[2] Cassandra —  A Decentralized Structured Storage System (http:/   /  www. cs.  cornell. edu/  projects/  ladis2009/  papers/  lakshman-ladis2009.

pdf). Cornell University. .

[3] Chang, Fay; Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and

Robert E. Gruber. Bigtable: A Distributed Storage System for Structured Data (http:/   /  static. googleusercontent. com/  external_content/ 

untrusted_dlcp/  research. google. com/  de/   /  archive/  bigtable-osdi06. pdf). Google. .

[4] Kellerman, Jim. « HBase: structured storage of sparse data for Hadoop (http:/   /  blog. rapleaf. com/  wp-content/  uploads/  2007/  12/  hbase.

pdf)». Consultado el 22 December 2011.

[5] Lith, Adam; Jakob Mattson (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. chalmers. se/  records/  fulltext/  123839.  pdf)»

(PDF) págs. 70. Göteborg: Department of Computer Science and Engineering, Chalmers University of Technology. Consultado el 12 May2011. «Carlo Strozzi first used the term NoSQL in 1998 as a name for his open source relational database that did not offer a SQL

interface[...]».

5/16/2018 nosqlll - slidepdf.com

http://slidepdf.com/reader/full/nosqlll 4/5

NoSQL 4

[6] « NoSQL Relational Database Management System: Home Page (http:/   /  www. strozzi. it/  cgi-bin/  CSA/  tw7/  I/  en_US/  nosql/  Home Page)».

Strozzi.it (2 October 2007). Consultado el 29 March 2010.

[7] Twitter planifica la migración de MySQL a Cassandra DB (http:/   /  softlibre. barrapunto. com/  softlibre/  10/  03/  01/  237259.  shtml) en

barrapunto

[8] (http:/   /  www. phpmexico. com. mx/  php/  2012/  04/  12/  las-ventagas-de-nosql) Las Ventagas de NoSql

[9] (http:/   /  www. phpmexico. com. mx/  php/  2012/  04/  12/  las-ventagas-de-nosql) Las Ventagas de NoSql

[10] (http:/   /  www. phpmexico. com. mx/  php/  2012/  04/  12/  las-ventagas-de-nosql) Las Ventagas de NoSql

[11] (http:/   /  www. phpmexico. com. mx/  php/  2012/  04/  12/  las-ventagas-de-nosql) Las Ventagas de NoSql

[12] (http:/   /  www. phpmexico. com. mx/  php/  2012/  04/  12/  las-ventagas-de-nosql) Las Ventagas de NoSql

[13] (http:/   /  www. phpmexico. com. mx/  php/  2012/  04/  12/  las-ventagas-de-nosql) Las Ventagas de NoSql

[14] http:/   /  couchdb. apache. org/ 

[15] http:/   /  www. mongodb.  org/ 

[16] http:/   /  10gen. com/ 

[17] http:/   /  ravendb. net/ 

[18] http:/   /  basex. org

[19] http:/   /  exist. sourceforge.  net

[20] http:/   /  aws. amazon. com/  de/  simpledb

[21] http:/   /  www-01. ibm. com/  software/  lotus/  products/  domino

[22] http:/   /  code. google. com/  p/  terrastore

[23] http:/  

 /  

neo4j. 

org[24] http:/   /  www. sparsity-technologies. com/  dex

[25] http:/   /  www. franz.  com/  agraph/  allegrograph/ 

[26] http:/   /  www. orientechnologies. com/ 

[27] http:/   /  www. infinitegraph. com/ 

[28] http:/   /  www. sones.  com/  web/  sones

[29] http:/   /  infogrid. org/ 

[30] http:/   /  www. hypergraphdb.  org/  index

[31] http:/   /  cassandra. apache. org/ 

[32] http:/   /  www. hypertable. org/ 

Enlaces externos

• Blog NoSQL.es (http:/   /  www. nosql. es/  blog)

• NoSQL, más allá del modelo relacional (http:/   /  barrapunto. com/  articles/  09/  11/  02/  1227257. shtml?tid=136) en

barrapunto

• nosql-discussion (http:/   /  groups. google. com/  group/  nosql-discussion) Google Group.

• nosql-databases.org (http:/   /  nosql-databases. org/  ) "Your Ultimate Guide to the Non-Relational Universe!"

• Eric Lai. (2009, July 1). No to SQL? Anti-database movement gains steam (http:/   /  www. computerworld. com/  s/ 

article/  9135086/  No_to_SQL_Anti_database_movement_gains_steam_)

5/16/2018 nosqlll - slidepdf.com

http://slidepdf.com/reader/full/nosqlll 5/5

Fuentes y contribuyentes del artículo 5

Fuentes y contribuyentes del artículoNoSQL  Fuente: http://es.wikipedia.org/w/index.php?oldid=55751572 Contribuyentes: Alfdixi, Alvalongo, DamarisC, El Pantera, Flaper87, Leonardocaballero, Sbassi, 27 ediciones anónimas

Licencia

Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/