[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] DB semplice



On 24/07/2018 11:19, Alessandro Pellizzari wrote:
On 23/07/2018 18:50, Davide Prina wrote:

non tanto... questo è per risolvere un problema (come dicevo nell'altra mail i database nosql sono abbastanza recenti e ancora in sviluppo, in molti ti mancano ancora funzionalità che potrebbe ritenere di base o perlomeno tra 20-30 anni verranno ritenute di base).

Giusto per discutere e senza alcuna intenzione polemica, ma i DB NoSQL sono nati prima degli SQL. :)

un file di testo è un database :-)

comunque come ho scritto in una risposta: <<mentre i database nosql sono relativamente recenti (per l'uso che se ne fa ora, impensabile solo 15-20 anni fa) e quindi molti sono ancora in fase di "sviluppo">>

Ad esempio oracle nosql non è altro che Berkeley DB, database presente da circa 30 anni (certamente le prime versioni non sono confrontabili con le attuali).

Il mondo relazionale e nosql non è molto confrontabile perché vivono in due mondi diversi e incompatibili tra loro.

Secondo me non ha più molto senso parlare di NoSQL.

Elasticsearch, MongoDB, Cassandra, Hadoop, Redis e Neo4J sono tutti NoSQL, ma sono talmente diversi tra loro che non ha senso raggrupparli sotto un'unica "bandiera", e tantomeno confrontarli, tra di loro o con un DB SQL.

questo per quanto detto nelle risposte precedenti. Con i database nosql (quelli attuali) si devono affrontare problematiche "nuove" rispetto al passato e che non sono affrontate, né affrontabili (almeno con la tecnologia attuale), dai database relazionali.

Perché ce ne sono così tanti e così diversi?

1. perché ognuno di questi garantisce alcune cose e non altre (ad esempio apache cassandra non ti garantisce la consistenza del dato per garantirti la disponibilità dello stesso o la bassa latenza... questo è un ottimo compromesso per un sito di notizie o di vendita on-line: non puoi far aspettare all'infinito che una pagina si carichi, al più gli visualizzi un dato non aggiornato... poi puoi cercare di rimediare una volta che il dato è aggiornato, ad esempio inviando una lettera di scuse al cliente che ha fatto l'ordine indicando che il prodotto è esaurito e offrendo uno sconto per il disagio procurato, ma intanto sei riuscito a servire svariati milioni di ordini in pochi secondi).
Per maggiori dettagli vedi i teoremi che avevo indicato.

2. perché ognuno usa una struttura di dati o un sistema di "interrogazione" diverso, il tutto ottimizzato per la soluzione di un problema con un determinato risultato in mente.

Azzarderei che ormai i DB SQL sono una minoranza.

questo non è vero, non sono confrontabili. Non puoi guardare il numero di prodotti presenti, poiché le problematiche che affrontano i db nosql sono più ampie e più complesse e quindi affrontando i vari problemi da diversi "punti di vista" con diverse soluzioni hai più soluzioni.

Però ci sono problemi che puoi risolvere "correttamente" solo con un database relazionale e altri solo con un database nosql.

Ciao
Davide

--
Dizionari: http://linguistico.sourceforge.net/wiki
I didn't use Microsoft machines when I was in my operational phase, because I couldn't trust them. Not because I knew that there was a particular back door or anything like that, but because I couldn't be sure.
Edward Snowden


Reply to: