Post on 21-Jun-2015
description
“EVALUACIÓN DE CARACTERÍSTICAS
NOSQL EN POSTGRESQL”
Anthony R. Sotolongo LeónYudisney Vazquez Ortiz
Introducción
Modelo Relacional(SQL) ha dominado el almacenamiento de
la información durante décadas.
Introducción
Otro modelos de almacenamiento han venido ganando
espacio en los últimos años.
Introducción
Cada modelo es muy útil para lo que fue creado
Modelo Relacional (SQL)
Algunas empresas que utilizan ambas:
Introducción
JSON y Almacenamiento no ACID
Hstore, PLV8
Objetivo
•Evaluar el comportamiento de las características NoSQL de PostgreSQL frente a un gestor NoSQL, respecto a los tiempos de respuestas.
Desarrollo
Almacenamiento efímero o no ACID en PostgreSQL:
PostgreSQL 9.1 + : Tablas UNLOGGED, las operaciones sobre ellas no se guardan en los Write-Ahead Log (WAL).Lo que implica que no se garantiza la permanencia delos datos en caso de mal funcionamiento en la base dedatos.
Create UNLOGGED table ejemplo (col int)
•Gana en velocidad
•Pierde la de D de ACID
Desarrollo
Tipos de datos JSON en PostgreSQL:
PostgreSQL 9.2 + : permite el almacenamiento de datosen dicho formato(JSON), garantizándose su validación.En el 9.3 fue mejorado considerablemente
Create table ejemplo (col json).
Insert into ejemplo Values (‘{ "atributo1": 1, “atributo2”:”valor”}’)
Desarrollo
NoSQL
Llave-valor:
Llave-valor por columnas:
Grafos :
Orientadas a documentos:
www.db-engines.com
Orientadas a documentos(JSON):
Más rápida en escritura
Desarrollo
Pruebas de comparación o benchmarking:
• PostgreSQL, PostgreSQL (Unlogged) y MongoDB.
• Número de usuarios (5,10 y 20).
• Documento JSON:{ "atributo1": 1, “atributo2”:”valor”}.
• CPU: Intel Pentium 4 a 3.00GHz
• RAM:1Gb.
• HDD: 160Gb a 7200rpm
• Script en Python utilizando hilos (pymongo, psycopg)
Desarrollo
Pruebas de comparación o benchmarking:
• Promedio de los tiempos de respuestas de las
concurrencias, por ejemplo:
T de 10 usuarios =∑ (tiempo de respuesta petición)/10
• Esta operación se realize 3 veces.
Desarrollo
Resultado de las pruebas de comparación o benchmarking:
Cantidad de
usuarios
Tiempo de respuesta (segundos)
MongoDB PostgreSQLPostgreSQL
(unlogged)
5 0.029708239 0.055887715 0.034575348
10 0.03328694 0.098712585 0.060710421
20 0.063031089 0.132417333 0.105056886
Desarrollo
Resultado de las pruebas de comparación o benchmarking:
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
5 usuarios 10 usuarios 20 usuarios
Seg
un
do
s
Cantidad de usuarios
Inserción de 10 documentos JSON
MongoDB PostgreSQl
PostgreSQL(unlogged) Exponencial (MongoDB)
Exponencial (PostgreSQl ) Exponencial (PostgreSQL(unlogged))
POSTGRESQL
Conclusiones
PostgreSQL ha ido incorporando características
NoSQL, destacando los tipos de datos de
documentos JSON y el almacenamiento efímero(no
ACID).
El estudio realizado muestra que PostgreSQL ha
mejorado considerablemente los tiempos de
respuestas con la incorporación de estas
particularidades NoSQL. Si bien aún no está al nivel
de los tiempos de respuesta de MongoDB, sí
constituye un paso de avance.
“EVALUACIÓN DE CARACTERÍSTICAS
NOSQL EN POSTGRESQL”
Anthony R. Sotolongo LeónYudisney Vazquez Ortiz