[Linuxtrent] Re: Key-value data stores or NoSQL databases

  • From: Daniele Nicolodi <daniele@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sat, 23 Sep 2017 16:02:56 -0600

On 22/09/17 00:37, Mario Alexandro Santini wrote:

Figurati, provo a rispondere.

Mi sa che su alcuni punti non ci siamo capiti. Provo a chiarificare.
    Questa credo sia la cosa che mi "infastidisce" di più :-)

Perché ti infastidisce?

Deformazione professionale: da fisico trovo che i modelli ad-hoc siano
tremendamente ineleganti e nascondano una non totale comprensione della
realtà.

Si tratta di una discussione puramente accademica e quasi filosofica.

    Quello che trovo elegante dei database relazionali è la sintesi di un
    sistema capace di descrivere elegantemente dati, relazioni tra dati, ed
    un linguaggio per esplorare tali relazioni.  Date queste primitive posso
    modellare qualsiasi cosa.


Io, invece, mi sono trovato in casi in cui sono stato  costretto a
lavorare con db relazionali dove mappare dei dati che erano in realtà
dei grafi.

Appunto. Ma non mi pare sia sia arrivati ancora a sintetizzare quali
siano le proprietà necessarie ad un database gerarchico (come si traduce
graph database in italiano?) per risolvere tutti i problemi di quel
tipo. Come hai scritto anche tu in una mail precedente, ci sono un sacco
di database che implementano sfumature diverse degli stessi concetti,
tutti utili in una molto specifica applicazione.

Quello che intendo dire è che il db relazionale risolve egregiamente un
bel numero di problemi, ma non risolve tutti i problemi. Per i casi
particolari, hanno preso piede questi db nosql che tentano di dare delle
risposte a esigenze che gli RDBMS non coprono.>
Per questo  non capisco le tue perplessita: i nosql non sono sostituti
dei relazionali, ma alternativi.

Qui credo che non ci siamo capiti. La mia non era una contrapposizione
ma un parallelo: nel campo dei database relazionali (nel senso di
modellazione dell'informazione) si è arrivati ad una teoria che dice
quali sono le proprietà che un database (nel senso dell'applicazione)
deve avere per risolvere i problemi connessi al modello di cui sopra.

Non mi sembra che si sia arrivati ad una sintesi equivalente per altri
tipi di database. Probabilmente è solo questione di tempo, ma al momento
scegliere una soluzione NoSQL è complicato perché software diversi
implementano semantiche anche radicalmente diverse.

Secondo me, dovresti abbandonare la visione di confronto fra i 2 mondi
RDBMS e NoSQL e cominciare a vederli come strumenti che risolvono
problemi differenti e cercare di capire quale strumento risolve meglio
il tuo problema.

Nuovi concetti possono essere analizzati solo in termini di concetti
conosciuti (non ho idea di chi l'abbia formulato questo assioma,
rimpiango non aver studiato un po' di filosofia).

Visto che di modellare basi di dati si tratta, credo sia naturale
affrontare la questione in termini di similarità e contrasti da RDBMS e
NoSQL.

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


Other related posts: