Что такое TimeUUID в терминологии Cassandra?

В терминологии Cassandra, что такое TimeUUID и когда оно используется?


person knorv    schedule 10.04.2010    source источник


Ответы (3)


TimeUUID — одна из шести конкретных реализаций абстрактного класса Абстрактный тип.

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

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

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

person Schildmeijer    schedule 10.04.2010

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

Образец шестнадцатеричного представления: a4a70900-24e1-11df-8924-001ff3591711

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

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

Например, проверьте этот пример твиттера с открытым исходным кодом, основанный на 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',
    },
}

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

person Andriy B    schedule 10.04.2010
comment
Если оно случайное, то почему оно называется Временем? Для меня время подразумевает что-то, что можно упорядочить (например, метку времени). - person Carl G; 09.05.2014
comment
Это не случайно в обычном понимании. TimeUUID — это уникальный ключ, основанный на времени. Таким образом, порядок ключей зависит от времени. - person Andriy B; 11.05.2014
comment
почему он говорит, что это 128-битное число Универсальный уникальный идентификатор (UUID) — это 128-битное число - person chris; 30.01.2018
comment
Крис, я не понимаю... выглядит правильно. 128 бит = 16 байт - person Andriy B; 13.02.2018

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

person Joo Park    schedule 10.04.2010