In Cassandra Terminologie, was ist TimeUUID?
Frage
In Cassandra Terminologie, was ist TimeUUID
und wann wird es angewendet?
Lösung
TimeUUID ist eine von sechs konkrete Implementierungen der abstrakten Klasse Abstract .
Für ColumnFamilies haben Sie die Möglichkeit ein Attribut angeben, genannt CompareWith. (SuperColumns haben ein ähnliches CompareSubcolumnsWith Attribut).
Gültige Werte für dieses Attribut sind Klassen, die implementiert die abstrakte Klasse Abstract (zB. TimeUUID). Das CompareWith Attribut sagt Cassandra, wie die Spalten für Slicing-Operationen zu sortieren.
Wenn Sie Java verwenden und mit Cassandra mit TimeUUID Ich würde empfehlen, in diesem Abschnitt der cassandra FAQ .
Andere Tipps
TimeUUID ist eine zufällige global eindeutige Kennung. 16 Byte.
Beispiel für hexadezimale Darstellung: a4a70900-24e1-11df-8924-001ff3591711
Siehe http://en.wikipedia.org/wiki/Universally_Unique_Identifier
Es kann in Bezug auf die relationale Datenbank als Primärschlüssel dienen oder wenn Sie eine Liste der Werte unter einem Schlüssel zu speichern.
Zum Beispiel überprüfen Sie dieses Open-Source-twitter Beispiel basierend auf cassandra:
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',
},
}
Hier Benutzer zugeordnet ist einen eindeutigen Schlüssel a4a70900-24e1-11df-8924-001ff3591711 was für den Benutzer von anderen Orten zu beziehen ist.
eine einzigartige "Reihe" in einem ColumnFamily
, um anzuzeigen,