Postgres Como Solución NoSQL
Postgres Como Solución NoSQL
Caso de estudio:
Postgres como solucion NoSQL
Rosmeli Quintero
Escuela de Computacion
Licenciatura en Computacion
Universidad Central de Venezuela
Caracas, Venezuela
Email: [email protected]
Escuela de Computacion
Licenciatura en Computacion
Universidad Central de Venezuela
Caracas, Venezuela
Email: [email protected]
AbstractLas bases de datos relacionales han sido las herramientas por excelencia para el almacenamiento de la informacion en los sistemas informaticos. No obstante, las bases de
datos NoSQL, como tendencia, han venido ganando espacio especialmente por la escalabilidad y velocidad en sus tiempos de
respuestas. PostgreSQL ha incorporado algunas caractersticas
de tipo NoSQL, como el almacenamiento efmero y el manejo
de datos JSON; caractersticas que pueden aprovecharse para
realizar acciones desde el gestor dandole mayor potencia. El
objetivo de este artculo es evaluar, mediante toda la documentacion encontrada, el comportamiento de las caractersticas
NoSQL de PostgreSQL frente a un gestor NoSQL, comparandola con MongoDB, respecto a los tiempos de respuestas y
dar a conocer las ventajas de uno con respecto al otro.
Palabras Claves: Caractersticas NoSQL en PostgreSQL, MongoDB, PostgreSQL
1. Introduccion
3. ACID o BASE?
PosgreSQL es una bace de datos 100% ACID, posee
control de concurrencia multiversiones con un sistema sostificado que previene a los lectores de bloquear a los escritores
y viceversa como es el MVCC (Control de Concurrencia Multi-Versiones), posee un WAL (Write-ahead logging)
conocido tambien como log, tiene soporte completo para
claves forneas, uniones, vistas, disparadores y procedimientos almacenados, soporte de tipos de datos documentos.
BTREE
HASH
4. Clave/valor - HStore
El modulo HStore, que permite almacenar pares clave
/ valor dentro de una sola columna, permite a los usuarios
crear un almacen de claves/valor sin esquema. Pero a
diferencia de las soluciones NoSQL puros, un almacen
de claves-valor creado en Postgres es compatible con ACID.
HStore es una herramienta particularmente u til para
los desarrolladores web o alguien que construye una
aplicacion que requiere la propiedad ACID, Hstore anterior
a muchos avances NoSQL. Fue introducido en v8.2 de
Postgres en el ano 2006, antes de muchos avances de
otros gestores NoSQL. Su popularidad aumento en los
u ltimos anos con nuevas demandas para trabajar con datos
semi-estructurados.
Hstore no es jerarquica, pero el tipo de datos HStore
ofrece avanzada soporte de indexacion, lo que hace que
sea la solucion de eleccion para muchos aplicaciones.
Es particularmente u til para los datos con baja densidad
por ejemplo, esto es muy u til para el almacenamiento de
productos con multiples descripciones en una sola tabla,
donde cada producto, comparte algunas atributos, como
el nombre, precio y peso, pero tienen muchos diferentes
atributos basados en el tipo de producto, tales como el
tamano, la presentacion, entre otros.
Tercer paso: Insertar datos, Nosotros usamos la instruccin INSERT para insertar datos en la columna de la hstore
de la siguiente manera, pero usted puede usar otro comando:
NOTA: Los datos que insertamos en la columna de la hstore
es una lista separadas por comas usando los pares de claves
= valor. Tanto las claves y los valores estn expresados
usando comillas ().
JSON
Re-interpretacion de
diccionario
Operaciones toman ms
tiempo
Preserva el orden
Sin ndices
JSONB
No necesita re-interpretar
Mas espacio en disco
No preserva el orden
Soporta ndices
EnterpriseDB
es
una
empresa
privada
estadounidense que proporciona soporte y
herramientas para PostgreSQL. Esta empresa
la consideramos como una fuente confiable, con
muy buenos articulos que publican constantemente
y con gran prestigio en cuanto al soporte que brinda
para PostgreSQL.
Tienen disponible en GibHub un scrip para que uno
pueda realizar esta prueba en cualquier maquina.
Al estar el codigo publicado, podemos ver a detalle
si realmenete hubo manipulacion de estos datos y
asi confiar en esta prueba de desempeno.
El gestor de bases de datos PostgreSQL ha ido incorporando paulatinamente caractersticas NoSQL, destacando los
tipos de datos de documentos JSON y el almacenamiento
efmero. Dichas caractersticas fueron evaluadas con respecto a MongoDB, el gestor NoSQL de mejores tiempos de
respuestas. El estudio realizado muestra que PostgreSQL ha
mejorado considerablemente los tiempos de respuestas con
la incorporacion de estas particularidades que tiene las bases
de datos NoSQL. Si bien aun no esta al nivel de los tiempos
de respuesta de MongoDB, por el factor visto de base de
datos distribuidos y el nivel de concurrencia que conlleva
este, s constituye un paso de avance en la incorporacion de
estas caractersticas, que les permitiran a los usuarios hacer
uso de ellas sin tener que migrar a un nuevo gestor de bases
de datos.
7. Conclusion
References
[1] S. Redner, How popular is your paper? an empirical study of the
citation distribution, 1998.