Domanda

Supponiamo di avere una famiglia supercolumn. Supponiamo anche di avere più partizioni in esecuzione su diverse istanze della macchina. I miei dati sulla famiglia Supercolumn sembrano i seguenti (per una riga)

RowKey: 4818d991-9df5-4899-aa07-461f4ed19996
=> (super_column=4dddb83e-4096-428d-8d1b-8b0235ae772f,
     (column=1322847333862, value=, timestamp=1322847333863001)
     (column=1322847637237, value=, timestamp=1322847637237000)
     (column=1322847837206, value=, timestamp=1322847837206001)
     (column=1322848197819, value=, timestamp=1322848197819000))

Ora mi chiedo, se faccio una query contro la famiglia Supercolumn per restituire i dati/le colonne secondarie per la {riga, super_column}, tutti i valori di quelle sub-colonne che tornano da una macchina o una macchina diversa? Fondamentalmente questa è una questione di: il partizionamento si verifica a livello di riga o livello super_column o livello sub -colonna? E anche, anche appena tornato da una macchina, verrà restituito l'ordine di ogni sub-colonna così com'è, proprio come mostrato sopra?

È stato utile?

Soluzione

Il partizionamento viene eseguito a livello di riga, cioè l'intera riga viene memorizzata su una singola macchina (possibilmente con copie su altre macchine, a seconda del fattore di replica).

Le subcolonne sono archiviate in ordine ordinato in base ai nomi della colonna: una colonna Super può specificare un comparatore sia sul nome della colonna Super che sui nomi sub -colonni. Vedere http://www.datastax.com/docs/0.8/ddl/column_family

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top