[Linuxtrent] Key-value data stores or NoSQL databases

  • From: Daniele Nicolodi <daniele@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Wed, 20 Sep 2017 10:39:15 -0600

Ciao,

per diverse ragioni mi sto esplorando un poco il mondo dei database
NoSQL o key-value data stores.  In particolare ho cominciato a
giochicchiare con Redis, che sembra essere la soluzione più matura e
popolare.

Ad un primo sguardo, sono piacevolmente stupito da quanto sia facile da
usare, ma ad un analisi più approfondita non riesco a capire quale
vantaggi presenti rispetto ad un tradizionale database relazionale.  Per
quello che ho visto fino ad adesso, mi sembra una database relazionale
per qualcuno che non ha capito come si usano i database relazionali, o
che ha avuto a che fare solo con MySQL o altri database zoppi.

La prima perplessità viene dal fatto che, non è esattamente vero che si
possono memorizzare dati di tipo non uniforme, ma è più corretto dire
che si possono memorizzare solo stringhe binarie e che un sistema di
marshalling deve essere utilizzato per memorizzare qualsiasi altra cosa.
 Quindi non capisco che differenza ci sia tra Redis e (per esempio) una
tabella PostgreSQL '(key text primary key, value bytea)'.

Occorre quindi abbinare a Redis (ma da quanto ho visto tutti i
contendenti funzionano allo stesso modo) un sistema di marshalling: ce
ne sono a bizzeffe.  Dopo una breve ricerca ho scelto MessagePack,
soprattutto perché ha una ovvia scelta per il supporto per Python e
questa non sembra una schifezza (lo stesso non si può dire per altre
librerie simili).

Credo mi stia sfuggendo il nocciolo del problema.  Commenti?

Ciao,
Daniele
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: