В терминологии Cassandra, что TimeUUID
и когда это используется?
TimeUUID - одна из шести конкретных реализаций абстрактного класса AbstractType .
Для ColumnFamilies у вас есть возможность указать атрибут с именем CompareWith. (Суперстолбцы имеют аналогичный атрибут CompareSubcolumnsWith).
Допустимые значения этого атрибута - это классы, реализующие абстрактный класс AbstractType (например, TimeUUID). Атрибут CompareWith сообщает Cassandra, как сортировать столбцы для операций нарезки.
Если вы используете Java и cassandra с TimeUUID, я бы рекомендовал прочитать этот раздел FAQ по cassandra .
TimeUUID является случайным глобальный уникальный идентификатор. 16 байт.
Пример шестнадцатеричного представления: a4a70900-24e1-11df-8924-001ff3591711
См. http://en.wikipedia.org/wiki/Universally_Unique_Identifier
Он может служить первичным ключом с точки зрения отношения база данных или когда вам нужно сохранить список значений под каким-то ключом.
Например, посмотрите этот пример твиттера с открытым исходным кодом на основе 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',
},
}
Здесь пользователю присваивается уникальный ключ a4a70900-24e1-11df-8924-001ff3591711, который используется для ссылки на пользователя из других мест.
для обозначения уникальной «строки» в семействе столбцов