características nosql de postgresql

Post on 21-Jun-2015

412 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

evalua los tiempos de respuestas de postgresql con tablas unlogged utilizando tipos de datos json vs mongodb.

TRANSCRIPT

“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

top related