2010-04-10 3 views

ответ

8

TimeUUID является одной из шести конкретных реализаций абстрактного класса AbstractType.

Для ColumnFamilies у вас есть возможность указать атрибут CompareWith. (SuperColumns имеют аналогичный атрибут CompareSubcolumnsWith).

Допустимыми значениями для этого атрибута являются классы, которые реализуют абстрактный класс AbstractType (например, TimeUUID). Атрибут CompareWith сообщает Cassandra, как сортировать столбцы для операций нарезки.

Если вы используете Java и используете cassandra с TimeUUID, я бы рекомендовал прочитать this section of the cassandra FAQ.

+11

Фактическая * точка * TimeUUID, как я понимаю, - это дать вам уникальный первичный ключ, который сортируется по времени. Вы использовали бы его там, где в СУБД вы имели бы что-то с целым первичным ключом, а также поле даты. См. Http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model для примера. – poolie

-2

, чтобы указать уникальную «строку» в ColumnFamily

12

TimeUUID является случайным глобальным уникальным идентификатором. 16 байт.

Пример шестигранной презентации: a4a70900-24e1-11df-8924-001ff3591711

См http://en.wikipedia.org/wiki/Universally_Unique_Identifier

Он может служить в качестве первичного ключа в терминах реляционной базы данных, или когда вам нужно хранить список значений при некоторый ключ.

Например проверить этот пример с открытым исходным кодом щебетать на основе Кассандры:

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', 
    }, 
} 

Здесь пользователю присваивается уникальный ключ a4a70900-24e1-11df-8924-001ff3591711, который используется для обозначения пользователя из других мест.

+1

Если это случайно, то почему это называется «Время»? Для меня время подразумевает то, что можно привести в порядок (например, отметка времени). –

+0

Это не случайно в обычном смысле. TimeUUID - это уникальный ключ, основанный на времени. Таким образом, порядок ключей основан на времени. –

+0

Почему он говорит, что это 128-разрядное число. Универсальный уникальный идентификатор (UUID) - это 128-битный номер – chris

 Смежные вопросы

  • Нет связанных вопросов^_^