[Python] Python, redis e bottleneck
Enrico Bianchi
enrico.bianchi a ymail.com
Mer 18 Dic 2013 00:20:55 CET
On 12/17/2013 04:37 PM, Pietro Battiston wrote:
> Ad
> esempio un set di dati che utilizzo è la descrizione di una rete. Quindi
> la struttura base è un semplice dizionario
>
> { "elemento1" : ["elemento53", "elemento114", "elemento54"],
> "elemento2" : ["elemento1", "elemento32"],
> ... }
>
> Io ho bisogno di rispondere in modo più veloce possibile alla domanda "a
> chi è collegato elementox?".
In teoria ti stavo rispondendo con un "Usa MongoDB" elencando le
motivazioni per cui tale scelta sarebbe stata conveniente per il tuo
caso. Poi pero`, leggendo meglio, mi sono soffermato meglio sull'esempio
che hai riportato. Da quello che ho notato praticamente definisci una
relazione di tipo gerarchico tra gli elementi, ovvero sei in uno
scenario completamente gestito da un database a grafi (tanto che
l'esempio della descrizione di una rete e` tipico per questi database).
Con queste premesse, la scelta piu` corretta e` Neo4j o OrientDB, con
preferenza per il primo soprattutto per un mero discorso di diffusione
(OrientDB e` piu` "malleabile" in quanto permette una gestione sia a
grafi che a documenti che a oggetti)
> Se poi riuscissi a capire, a prescindere da tutto ciò, perché
> l'operazione di riempire un database Redis da un dump json non utilizzi
> al 100% né CPU né disco né RAM, la mia curiosità sarebbe soddisfatta.
Presumo che l'I/O non ci stia dietro, quindi le latenze sono alte (parlo
ad occhio, non ho il sistema sotto mano ed e` impossibile capire con le
informazioni che dai)
Enrico
Maggiori informazioni sulla lista
Python