В терминологии Кассандры, что такое TimeUUID? - PullRequest
21 голосов
/ 10 апреля 2010

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

Ответы [ 3 ]

12 голосов
/ 10 апреля 2010

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

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

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

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

Например, проверьте этот пример Twitter с открытым исходным кодом на основе 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, который используется для обращения к пользователю из других мест.

8 голосов
/ 10 апреля 2010

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

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

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

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

0 голосов
/ 10 апреля 2010

для обозначения уникальной «строки» в семействе ColumnFamily

...