Ho una certa esperienza con i negozi basati su documenti (MongoDB e CouchDB) e sono interessato ad esplorare database a colonne larghe.
Sulla base della mia esplorazione iniziale, posso comprendere una comprensione di base su come gli archivi a colonne sono diversi, ma non capisco in che tipo di operazioni siano più adatti di un archivio di documenti indicizzati.
La mia impressione iniziale è che gli archivi di colonne siano migliori se le combinazioni di colonne per le query sono altamente dinamiche (nessuna vista indicizzata è realmente necessaria) e / o se c'è un'alta percentuale di scrittura (che innesca gli indici di riduzione della mappa in un documento memorizzare).
Per quanto riguarda le prestazioni, sembra che gli archivi di colonne potrebbero essere migliori se ho documenti con molte proprietà, ma non tutti sono necessari. I negozi di documenti sembrano promuovere che l'intero documento verrà recuperato, ma non è sicuro di quale impatto abbia realmente. Forse il documento deve avere molte colonne filtrate per fare la differenza?
Ho anche avuto l'impressione che gli archivi di colonne "potrebbero" essere più performanti per i sistemi multi-tenant che hanno condiviso il database in cui una delle colonne contiene l'id titolare e forse un altro i ruoli.
E ho la sensazione che gli archivi a colonne larghi siano molto utili per le query eseguite dalle applicazioni di analisi dei dati, dove c'è una grande serie di dati raccolti per ogni voce, solo pochi campi devono essere estratti e la combinazione di colonne è totalmente casuale.
La mia domanda: quali tipi di query sono gestiti meglio negli archivi a colonne piuttosto che negli archivi di documenti?