2010-04-10 16 views

risposta

8

TimeUUID è una delle sei implementazioni concrete della classe astratta AbstractType.

Per ColumnFamilies si ha la possibilità di specificare un attributo chiamato CompareWith. (Le colonne Super hanno un attributo CompareSubcolumnsWith simile).

I valori validi per questo attributo sono classi che implementano la classe astratta AbstractType (ad esempio TimeUUID). L'attributo CompareWith indica a Cassandra come ordinare le colonne per le operazioni di divisione.

Se si utilizza Java e si utilizza cassandra con TimeUUID, è consigliabile leggere this section of the cassandra FAQ.

+11

L'attuale * punto * di TimeUUID, a quanto ho capito, è quello di darvi una chiave primaria univoca che ordina in base al tempo. Lo useresti dove in un RDBMS avresti qualcosa con una chiave primaria intera e anche un campo data. Vedere http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model per esempi. – poolie

-2

per indicare una "riga" unico in una ColumnFamily

12

TimeUUID è un identificatore univoco globale casuale. 16 byte.

presentazione esadecimale

Esempio: a4a70900-24e1-11df-8924-001ff3591711

Vedi http://en.wikipedia.org/wiki/Universally_Unique_Identifier

Può servire come chiave primaria in termini di database relazionale o quando è necessario memorizzare un elenco di valori sotto qualche chiave.

Per esempio controllare questo Twitter esempio open source basata su cassandra:

http://twissandra.com/

http://github.com/ericflo/twissandra

User = { 
    'a4a70900-24e1-11df-8924-001ff3591711': { 
     'id': 'a4a70900-24e1-11df-8924-001ff3591711', 
     'username': 'ericflo', 
     'password': '****', 
    }, 
} 

Username = { 
    'ericflo': { 
     'id': 'a4a70900-24e1-11df-8924-001ff3591711', 
    }, 
} 

Friends = { 
    'a4a70900-24e1-11df-8924-001ff3591711': { 
     # friend id: timestamp of when the friendship was added 
     '10cf667c-24e2-11df-8924-001ff3591711': '1267413962580791', 
     '343d5db2-24e2-11df-8924-001ff3591711': '1267413990076949', 
     '3f22b5f6-24e2-11df-8924-001ff3591711': '1267414008133277', 
    }, 
} 

Qui utente viene assegnata una chiave unica a4a70900-24e1-11df-8924-001ff3591711 che è usato per riferirsi all'utente da altri posti.

+1

Se è casuale, allora perché si chiama "Tempo"? Per me, il tempo implica qualcosa che può essere messo in ordine (come un timestamp). –

+0

Non è casuale nel solito senso. TimeUUID è una chiave univoca basata sul tempo. Quindi l'ordine delle chiavi è basato sul tempo. –

+0

perché dice che è un numero di 128 bit Un identificatore univoco universale (UUID) è un numero di 128 bit – chris

Problemi correlati