Непонимание по составному ключу для Кассандры - PullRequest
7 голосов
/ 26 марта 2012

Я должен проверить разные модели данных для Кассандры.Я собираюсь использовать составной ключ, созданный key1: key2 для ключа строки.Например, с помощью этой конфигурации на Cassandra я могу запросить, чтобы все строки имели определенное значение key1 и любое значение key2, но в противном случае это невозможно (получить все строки, имеющие определенное значение key2 и любой key1).Это правильно?

спасибо заранее

Чезаре

Ответы [ 2 ]

3 голосов
/ 28 марта 2012
3 голосов
/ 27 марта 2012

Если вы используете разделение с сохранением порядка (OPP), то да, ключи будут сохранены отсортированными, и тогда вы можете получить фрагменты по диапазону ключей, например, от A: A до A: Z - но не обязательно любые: Aк любому: Z.

Но OPP не гарантирует равномерное распределение ключей по узлам, и вы можете получить «горячие точки» из слишком большого или слишком малого количества ключей.Возможно, вы захотите использовать случайное разбиение (RP), которое распределяет ключи путем сохранения по хешу по всем узлам.

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

См. Этот вопрос для получения подробных сведений о запросах составных столбцов с помощью Гектора.

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

...