Domanda

Sto cercando di avvolgere la mia testa nei negozi Key-Value come CouchDB e Cassandra. Capisco perché sono utili, ma per quanto riguarda il modo in cui sostituiscono un RDBMS come MySql, non lo capisco.

Diciamo che questo è il mio quello che devo conservare:

{123456: {'model' : 'Ford'
          'color': 'blue'
          'MPG': 23}}

Quindi devo trovare tutte le macchine che sono blu.

In che modo il valore-chiave archivia le chiavi usando il valore? Ho letto alcuni dei casi in cui è possibile utilizzare quella riduzione delle mappe, ma guardando la fonte di alcuni progetti non riesco a trovare un esempio.

Fammi sapere se sto facendo la domanda giusta.

È stato utile?

Soluzione

In sostanza, quando si utilizzano archivi di valori-chiave, si sta creando un database con gli stessi componenti che un database relazionale ha internamente. La ragione per farlo è avere maggiore controllo e flessibilità su ridimensionamento e prestazioni, o semplicemente per semplicità.

In questo caso, è necessario memorizzare l'equivalente delle righe della tabella e l'indice come due cose separate. Quindi, se si desidera indicizzare il colore, è necessario archiviare

{'blue': {123456}}

nell'equivalente di una tabella di indice.

Ovviamente, alcuni negozi di valori-chiave forniscono meccanismi di indicizzazione e ricerca, quindi non esiste una regola generale adatta a tutti.

Altri suggerimenti

Vorresti mantenere un archivio di valori / chiavi separato che è essenzialmente un indice. Avrebbe "blu" come chiave, quindi un elenco di tutti gli ID da " main " negozio di automobili blu.

Sì, è la duplicazione della funzionalità di indice di un normale rdbms.

Questo è un buon articolo su come il team FriendFeed ha affrontato questo problema e si è basato su questa soluzione, insieme alla loro logica (lo so, un po 'strano dal momento che hanno usato un RDBMS come archivio chiave / valore, ma i punti di discussione sono teoria del suono):
http://bret.appspot.com/entry/how-friendfeed-uses- mysql

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