Академический Документы
Профессиональный Документы
Культура Документы
net/publication/261079289
CITACIONES LEE
63 5795
2 autores , incluso:
Yishan Li
Universidad de Auckland
1 PUBLICACIÓN 63 CITACIONES
VER EL PERFIL
Todo el contenido de esta página siguiente fue subido por Yishan Li el 21 de noviembre de 2015.
Universidad de Auckland
Nueva Zelanda
Abstracto -Con el énfasis actual en “Big Data”, NoSQL (Tal como el de Tudorica y Bucur [5] o Han et al. [6]), por tanto, se han
bases de datos han aumentado en popularidad. Estas bases de datos son reclamados para un publicado para abordar algunas de estas cuestiones. Además, hay varios
mejor desempeño que las bases de datos SQL. En este trabajo se puede investigar de forma
recursos en línea y blogs que abordan estos aspectos también.
independiente el desempeño de algunas bases de datos NoSQL y SQL a la luz de las tiendas
de valores clave. Comparamos leer, escribir, borrar y crear una instancia de operaciones
sobre tiendas de valores clave implementadas por las bases de datos NoSQL y SQL. Además, El enfoque de nuestro trabajo es comparar las implementaciones de las tiendas de valores
también investigamos una operación adicional: iteración a través de todas las claves. Un clave en las bases de datos NoSQL y SQL. Mientras que las bases de datos NoSQL se diseñan
marco par clave-valor abstracto que apoya estas operaciones básicas se diseña e implementa generalmente para las tiendas KEYVALUE optimizados, bases de datos SQL no lo son. Sin
utilizando todas las bases de datos analizadas. Los resultados experimentales miden el
embargo, nuestros hallazgos sugieren que no todas las bases de datos NoSQL se desempeñan
tiempo de estas operaciones y resumimos nuestros hallazgos sobre cómo las bases de datos
mejor que las bases de datos SQL. Comparamos leer, escribir, borrar y crear una instancia de
se apilan uno contra el otro. Nuestros resultados muestran que no todas las bases de datos
NoSQL se desempeñan mejor que las bases de datos SQL. Algunos son mucho peores. Y operaciones en el almacenamiento de claves-valor. Observamos que incluso dentro de las bases
para cada base de datos, el rendimiento varía con cada operación. Algunos son lentos para de datos NoSQL existe una amplia variación en el rendimiento de estas operaciones. También se
crear una instancia, pero rápido de leer, escribir y borrar. Otros son rápidos para crear una observa poca correlación entre el rendimiento y el modelo de datos utiliza cada base de datos.
instancia pero lento en las otras operaciones. Y hay poca correlación entre el rendimiento y el
modelo de datos utiliza cada base de datos.
El resto del trabajo se organiza como sigue. Sección II presenta una selección
de bases de datos NoSQL. En la sección III revisiones relacionadas trabajo. En
particular, se ve en otras encuestas que comparan las ofertas NoSQL. Sección IV
Palabras Clave: el rendimiento de base de datos, SQL, bases de datos NoSQL.
se analizan nuestra configuración experimental y lo evaluamos. Sección V presenta
y discute los resultados experimentales. La última sección concluye con un
I. INTRODUCCIÓN
resumen.
Los sistemas de bases de datos para el almacenamiento tradicionales se han basado en el
modelo relacional. Estos son ampliamente conocidos como bases de datos SQL con nombres
de la lengua que se les preguntó por [1]. En los últimos años, sin embargo, las bases de datos
II. norte O SQL D ATABASES
no relacionales han aumentado drásticamente en popularidad. Estas bases de datos son Se cree ampliamente que BigTable de Google [3] fue la primera de las bases de
comúnmente conocidos como bases de datos NoSQL, marcando claramente diferentes de las datos NoSQL. BigTable se basa en tres claves: en primer lugar que es llamado la
bases de datos SQL tradicionales. La mayoría de ellos se basan en el almacenamiento de tecla fila, segunda columna llamada la clave, y la tercera es la marca de tiempo. Esto
pares de valores clave simples en la premisa de que la simplicidad lleva a la velocidad. es efectivamente un mapa multidimensional. llaves de columna pueden ser fi
clasificarse en grupos. Un grupo se accede como una sola unidad.
Con el aumento de la accesibilidad de Internet y la disponibilidad de almacenamiento El éxito de las bases de datos no relacionales propietarios tales como BigTable y
barato, enormes cantidades de datos estructurados, semi-estructuradas, no Dynamo de Amazon [7] inició una serie de otros desarrollos de código abierto y de
estructuradas y son capturados y almacenados para una variedad de aplicaciones. Tales código cerrado de bases de datos no relacionales. Estas bases de datos NoSQL
datos se refieren comúnmente como Big Data [ 2]. Procesamiento tal gran cantidad de creció en popularidad debido a la facilidad de acceso, velocidad y escalabilidad.
datos requiere velocidad, esquemas flexibles, y (es decir noncentralized) bases de datos
distribuidas. bases de datos NoSQL se convirtió en la moneda preferida para el La mayor parte de las bases de datos NoSQL están basadas en el almacenamiento de pares
funcionamiento de grandes volúmenes de datos que pretenden satisfacer estos KeyValue. Es posible que los valores podrían ser un conjunto de claves secundarias que a su vez
requisitos. Esto también conduce a un aumento en el número de ofertas de bases de contienen valores.
datos NoSQL. Existen varias implementaciones de código abierto comercial y de bases Un tipo especial de una base de datos par clave-valor es una base de datos
de datos NoSQL (tales como BigTable [3] y HBase [4]). columnfamily. Este se compone de columnas y columnas, súper direccionable con llaves.
A grupos de columnas súper un número de columnas relacionadas y se accede como una
sola unidad.
El gran número de ofertas NoSQL conduce a preguntas sobre las El otro tipo especial de base de datos par clave-valor es una base de datos
diferencias entre estas ofertas y su idoneidad en aplicaciones particulares. Una documental. bases de datos orientadas a documentos ir más allá de los valores simples y
serie de documentos de la encuesta tienen la capacidad de almacenar objetos. los
RavenDB 5 y Couchbase 6 son otras dos bases de datos documentoriented Boicea et al. comparar una base de datos NoSQL contra una base de datos
consideramos [11]. Al igual que MongoDB y CouchDB, estos también ofrecen un SQL. Ellos eligen Oracle para la aplicación SQL y MongoDB para la ejecución
almacenamiento esquema flexible y el uso de JSON como formato de los objetos NoSQL [18]. Ellos informan de que, con un gran número de registros, el tiempo de
serializados. También ofrecen replicación de datos y sharding. inserción es un factor más en Oracle y actualizar y borrar los horarios son varios
los factores más en Oracle.
III. R EXALTADO W TRABAJO Yahoo! Nube Benchmark porción es una herramienta de generación de carga de trabajo de fuente
Bartolomé da una introducción de aprendizaje a la historia y las diferencias Nuestra comparación de los databasese implica cuatro operaciones fundamentales:
entre las bases de datos SQL y NoSQL [13]. Sakr y col. discutir soluciones de
gestión de datos, incluyendo NoSQL, para las plataformas basadas en la nube [14]. 1) una instancia. Esto crea la instancia de un cubo de almacenamiento para los pares KeyValue.
dieciséis
se actualiza el valor de la clave dada en el almacenamiento. Por lo tanto,
1800
tiempo ge (ms)
1000
Averag
Además de las operaciones fundamentales anteriores, hay dos operaciones 800
800
complementarias que son comúnmente usados: iteración a través de todas las claves y 600
iterar a través de todos los valores. Para activar la prueba de estos, que el tiempo una vez
400
más la operación: GetAllkeys
el cual va a buscar todas las claves de la strorage. Tenga en cuenta que, en la práctica, 200
esta operación sólo se puede devolver un número fi cado de llaves (en lugar de todos) 0
MongoDB RavenDB CouchDB Cassandra Hypertable couchbase SQL
cuando hay un gran número de pares de valores clave en el almacenamiento.
Base de datos
otra.
pública abstracta lista < string> GetAllKeys ();
} Observamos que RavenDB, Hyertable, MongoDB ofrecen la creación más rápida de
los cubos de bases de datos. CouchDB, Couchbase y SQL Express se encuentran entre
La Fig. 1. Las operaciones de base sobre tiendas de clave-valor los más lentos para crear cubos.
Nuestro segundo experimento mide el tiempo necesario para leer los valores
Nuestros experimentos miden el desempeño de estas cinco operaciones para las bases de correspondientes a las claves dadas desde el cubo. La Tabla II resume el resultado.
datos seleccionadas. La Figura 1 resume las operaciones como una clase abstracta. Nos
especializamos esta abstracción para cada base de datos que se está probando. En las tablas, el número de operaciones se refiere al número de veces que una
operación determinada (tal como leer) se ejecuta en la prueba. Esto también es igual al
Tenga en cuenta que hay operaciones avanzadas que las bases de datos de apoyo función número de pares de valores clave (es decir, registros) en la tienda.
de su tipo (por ejemplo, un objeto o la manipulación de la columna). Nosotros no probamos
Microsoft SQL Server Express 10.50.1600.1 MS SQL Express 13 23 46 277 1968 17214
La Tabla I ilustra el detalle versión de las implementaciones de bases de datos que se Ordenado por el desempeño de lectura tenemos la lista de bases de datos:
experimentaron con en este documento. Para cada una de estas bases de datos, corremos el Couchbase, MongoDB, SQL Express, Hypertable, CouchDB, Cassandra y RavenDB.
funcionamiento escogida (lectura o escritura) y cinco veces hemos tomamos el tiempo De éstos Cassandra y Hypertable son bases de datos de la columna a la familia; y
promedio. Couchbase, MongoDB, CouchDB, y RavenDB son bases de datos orientadas a
El conjunto de datos para el experimento son pares de valores clave generados documentos. No existe una correlación observable entre el modelo de datos y el
automáticamente que son de la forma ( • •, • •) dónde • es un número de secuencia. rendimiento. También vemos que el rendimiento de lectura de SQL Express es mejor
que algunos, pero no todos, de las bases de datos NoSQL.
V. R RESULTADOS Y mi VALUACIÓN
Nuestro primer experimento mide el tiempo necesario para crear instancias de un cubo de Nuestro tercer experimento mide el tiempo necesario para escribir pares
base de datos. Véase la Figura 2, que resume los resultados de este experimento. KEYVALUE a la cubeta. Si el par clave-valor ya existe en el balde, esto equivale
a la actualización del valor existente.
17
Número de teclas para ir a buscar 10
De lo contrario, equivale a la adición de la par clave-valor para el cubo. La Base de datos
50 100 1000 10000 100000
Tabla III resume el resultado. MongoDB 4 4 5 19 98 702
RavenDB 101 113 115 116 136 591
Número de operaciones CouchDB 67 196 19 173 1063 9512
Base de datos
10 50 100 1000 10000 100000 Cassandra 47 50 55 76 237 709
MongoDB 61 75 84 387 2693 23354 Hypertable 3 3 3 5 25 159
RavenDB 570 898 1213 6939 71343 740450 MS SQL Express 4 4 4 4 11 76
CouchDB 90 374 616 6211 67216 932038
TABLA V
Cassandra 117 160 212 1200 9801 88197
T IME para traer todas las teclas (MS)
Hypertable 55 90 10938 114872 184 1035
couchbase 60 76 63 142 936 8492
MS SQL Express 30 94 129 1790 15588 216479 TABLA III T IME
Obtención de todos los valores podría llevar una cantidad de tiempo similar a ir a buscar todas las
claves, siempre y cuando los valores son de tamaño pequeño (es decir comparabable al tamaño de
las teclas).
SQL Express. Pero otras bases de datos NoSQL se desempeñan mejor que SQL datos NoSQL y SQL. Mientras que las bases de datos NoSQL se optimizan generalmente para
Express. las tiendas de valor clave, bases de datos SQL no lo son. Sin embargo, se encuentra que no
Nuestro cuarto experimento mide el tiempo necesario para eliminar pares de todas las bases de datos NoSQL un mejor desempeño que la base de datos SQL que
valores clave de la cubeta. Tabla IV resume el resultado. probamos. Observamos que incluso dentro de las bases de datos NoSQL existe una amplia
También se observa poca correlación entre el rendimiento y el modelo de datos utiliza cada
Número de operaciones
Base de datos base de datos.
10 50 100 1000 10000 100000
[1] K. Kline, SQL en una cáscara de nuez, 3ª ed. O'Reilly Media, noviembre de 2008. [2] P. Guardián, Glosario
Tenga en cuenta que ir a buscar todas las llaves es considerablemente más rápido que los grande de datos. O'Reilly Media, septiembre de 2011. [3] F. Chang, J. Dean, S. Ghemawat, WC
Hsieh, DA Wallach, M. Bur-
valores de leer uno tras otro. Esta diferencia es, obviamente, debido a la sobrecarga de conexión
filas, T. Chandra, A. Fikes, y RE Gruber, “Bigtable: un sistema de almacenamiento distribuido
de base de datos. para datos estructurados”, en Actas del Simposio USENIX séptimo en los sistemas operativos
Diseño e Implementación - Volumen
7 Boicea et al. no incluía las versiones de las bases de datos analizadas, y por lo tanto nosotros no
7, Ser. '06 IESO. Berkeley, CA, EE.UU.: Asociación USENIX 2006, pp 15-15.. [4] L. George, HBase:
sabemos si por lo tanto, nuestra versión de MongoDB es diferente a la de ellos o no. La Guía de fi nitivo. O'Reilly Media, agosto de 2011.
18
[5] B. Tudorica y C. Bucur, “Una comparación entre varios NoSQL
bases de datos con comentarios y notas “, en RoEduNet Conferencia Internacional (RoEduNet),
2011 10a, junio de 2011, pp. 1 -5. [6] J. Han, E. Haihong, G. Le, y J. Du, “Encuesta sobre la base de
datos NoSQL,” en
Pervasive Computing y Aplicaciones (ICPCA), 2011 6ª Conferencia Internacional sobre, oct.
2011, pp. 363 -366.
[7] G. Decandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman,
A. Pilchin, S. Sivasubramanian, P. Vosshall, y W. Vogel, “Dynamo: alta disponibilidad almacén
de claves-valor del Amazonas” SIGOPS Oper. Syst. Rdo.,
vol. 41, no. 6, pp. 205-220, octubre de 2007. [8] K. Chodorow y M. Dirolf, MongoDB: De La
guía definitivo. O'Reilly
Medios de comunicación, septiembre de 2010.
Junio 2012.
[12] N. Leavitt, “¿Será bases de datos NoSQL la altura de su promesa?” Computadora,
vol. 43, no. 2, pp. 12 -14, feb. 2010. [13] D. Bartolomé, “SQL vs NoSQL” Diario de Linux, no.
195, de julio de 2010. [14] S. Sakr, A. Liu, D. Batista, y M. Alomari, “Un estudio de gran escala
La reflexión sobre NoSQL,”en Red basada en Sistemas de Información (NBI), 2012 15ª
Conferencia Internacional sobre, sept. 2012, pp. 45 -51. [17] R. Hecht y S. Jablonski, “evaluación
NoSQL: Un caso de uso orientada
encuesta,”en Cloud y Servicio de Informática (CSC), 2011 Conferencia Internacional sobre, dic.
2011, pp. 336 -341.
[18] A. Boicea, F. Radulescu, y LI Agapin, “MongoDB vs Oracle -
la comparación de bases de datos “, en Emergente inteligente de datos y tecnologías web (EIDWT),
2012 Tercera Conferencia Internacional sobre, sept. 2012, pp. 330 -335.
19
Ver las
estadísticas
estadísticas
de la
depublicación
publicación