Re: Estructura tipo diccionario o hashset

From: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
To: José Hurtado <jhurtadom(at)gmail(dot)com>, Abel Osorio <abel(dot)m(dot)osorio(at)gmail(dot)com>
Cc: Francisco Olarte <folarte(at)peoplecall(dot)com>, Jaime Casanova <jaime(dot)casanova(at)2ndquadrant(dot)com>, POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Estructura tipo diccionario o hashset
Date: 2016-09-01 16:47:30
Message-ID: SN2PR15MB0990C2624C614007EF6C1B2BE3E20@SN2PR15MB0990.namprd15.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

No te sirve python? ESte tiene un muy buen uso de diccionarios. plpython seria, mejor que JS, bueno soy hater de JS no me hagas caso

________________________________
From: pgsql-es-ayuda-owner(at)postgresql(dot)org <pgsql-es-ayuda-owner(at)postgresql(dot)org> on behalf of José Hurtado <jhurtadom(at)gmail(dot)com>
Sent: Friday, August 26, 2016 12:12 PM
To: Abel Osorio
Cc: Francisco Olarte; Jaime Casanova; POSTGRES
Subject: Re: [pgsql-es-ayuda] Estructura tipo diccionario o hashset

Hola Abel,
Lo cierto es que no tengo los datos en key value, sino que para resolver un algoritmo iretativo de clasificación, agregación y selección, es mejor hacerlo usando diccionarios.
Se que se puede resolver con otros lenguajes o capas de middleware, pero en este caso me interesa resolverlo en la base de datos de la manera mas nativa posible.
Un saludo.

El 26 de agosto de 2016, 13:54, Abel Osorio <abel(dot)m(dot)osorio(at)gmail(dot)com<mailto:abel(dot)m(dot)osorio(at)gmail(dot)com>> escribió:
José, quizás peque de absurdo, pero Memcache en sí es una base de datos key-value, y ofrece muy alta performance. Quizás eso te pueda servir.

Saludos

2016-08-26 7:27 GMT-03:00 Francisco Olarte <folarte(at)peoplecall(dot)com<mailto:folarte(at)peoplecall(dot)com>>:
José:

2016-08-26 10:59 GMT+02:00 José Hurtado <jhurtadom(at)gmail(dot)com<mailto:jhurtadom(at)gmail(dot)com>>:
> He probado con json y jsonb, el incoveniente es que son valores inmutables y
> una vez que has creado un json es dificil agregarle mas propiedades, hasta
> la versión 9.5 no hay funciones para agregar o eliminar una propiedad
> incluso devolviendo una nueva instancia.

Efectivamente, pero mucho codigo se las arregla con valores inmutables
para las cadenas, p.e. ( Java, perl hasta hace poco, python si no
recuerdo mal ) con lo que para esto te podrian servir, dependiendo del
use case.

> Para resolverlo agregué la extensión plv8, que es el motor v8 de javascript
> de Chrome (https://github.com/plv8/plv8) pero creo que hay una pequeña
> penalización en la conversión de tipos que haciendo muchas llamadas se llega
> a notar en el rendimiento......

Aqui entra lo que decia yo, no se si el problema que tienes es que si
necesitas diccionarios deberias usar un lenguaje que los tenga, como
perl, tcl, python o v8, para la funcion completa, no solo para
implementar el hashset. Cuando llegas a desarrollar algo que necesita
diccionarios en pl/pgsql me da la impresion de que estas empezando a
salirte de los limites para los que se diseño.

...
> Mi propuesta va en el sentido de evitar ese salto de lenguaje que implica
> una conversión de tipos usando una estructura de datos básica en muchos
> lenguajes y util para resolver ciertos algoritmos.

Tanto como basica, un diccionario es de las mas complejas, aunque
venga de serie en muchos.

Francisco Olarte.

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org<mailto:pgsql-es-ayuda(at)postgresql(dot)org>)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hellmuth Vargas 2016-09-01 17:03:11 actualizacion de pg9.4 a 9.5 con replicas con replication_slot
Previous Message Anthony Sotolongo 2016-09-01 16:45:15 Re: Conexión de Bd a otra Bd