Come suggerito da Dave, i database MV sono progettati per funzionare al meglio quando si conosce la chiave del record che si sta tentando di recuperare. Alcune persone si riferiscono a loro come sistemi di database basati su record, al contrario di SQL, che è un sistema di database basato su set.
Dipende davvero da cosa si sta tentando di fare, da come devono essere strutturati i dati e da quali altri strumenti sono disponibili. Trascorro la maggior parte del mio tempo lavorando in MV (prodotti Revelation, per lo più) e gestiamo regolarmente set di record su 10.000.000+, e la velocità va bene.
L'intensità del database MV è quando i dati sono fluidi. Troviamo che la maggior parte dei nostri clienti lo usa per applicazioni come prodotti legali, medici e finanziari; applicazioni in cui le relazioni sono complesse e possono cambiare rapidamente e drasticamente nel tempo.
Si potrebbe voler esaminare il movimento senza SQL, che condivide gran parte degli stessi concetti, anche se MV e SQL non sono realmente la stessa cosa.
Lo svantaggio principale di MV è meno nella sua struttura, che negli strumenti. Generalmente, poiché la base di sviluppatori è più piccola, il toolkit e l'aiuto disponibili sono più piccoli. Potresti anche scoprire che il linguaggio di base incorporato a cui la maggior parte delle offerte ti dà manca del codice stile oggetto a cui sei abituato. Ci sono volte in cui anche JavaScript sembra avere più funzionalità come lingua.
Detto questo, poiché i database MV sono principalmente stringhe giganti, la gestione delle stringhe delle lingue è eccellente. Sono grandi per la manipolazione diretta di stringhe HTML e XML.
Suppongo che la grande domanda che ho, è che avete domande specifiche? Non aprirò una guerra dicendo che è come passare da Windows a Linux o un Mac, o anche passare da Debian a Red Hat, ma le strutture e i sistemi sono diversi, quindi hanno concetti, punti di forza, limitazioni e scopi diversi . Se provi a gestire un database MV come SQL (che puoi), scoprirai che non è la soluzione migliore. Un database MV mal progettato può essere un esercizio di frustrazione. Un database MV ben progettato può essere una cosa di bellezza.
Grazie per la risposta dettagliata. Quali sono i tuoi pensieri sul sovraccarico di conversione di tutto in & da stringhe per l'archiviazione nel database e per l'analisi delle voci del record per più valori (e valori secondari). Questo supera alcuni dei benefici concettuali dell'archiviazione dei dati in una rappresentazione più "reale"? –
Non posso dare una risposta assoluta a ciò in quanto dipende da una moltitudine di fattori. Ad esempio, qual è il profilo di lettura/scrittura dell'applicazione? Qual è il confronto tra le nuove scritture e le scritture di aggiornamento? Altri fattori sarebbero le differenze di tempo di sviluppo. –