Максимальный размер ключа в Кассандре - PullRequest
4 голосов
/ 25 мая 2011

Я совершенно новичок в использовании cassandra .. есть ли максимальный размер ключа и это когда-нибудь повлияет на производительность?

Спасибо!

Ответы [ 2 ]

14 голосов
/ 25 мая 2011

Ключ (и имена столбцов) должен быть длиной не более 64 КБ.

Маршрутизация - это O (N) размера ключа, а количество запросов и обновлений - O (N log N). На практике эти факторы обычно затмеваются другими издержками, но некоторые пользователи с очень большими «естественными» ключами используют вместо этого свои хэши, чтобы сократить размер.

1 голос
/ 25 мая 2011

http://en.wikipedia.org/wiki/Apache_Cassandra утверждает (очевидно, неправильно!), Что:

Ключ строки в таблице - это строка без ограничений по размеру, хотя обычно от 16 до 36 байт

Смотри также:

http://cassandra -user-incubator-apache-org.3065146.n2.nabble.com / value-size-is-there-a-Предлагаемый-limit-td4959690.html , который предполагает, что там некий предел.

Очевидно, что очень большие ключи могут оказать некоторое влияние на производительность сети, если их необходимо будет отправить через интерфейс Thrift RPC - и они будут стоить хранилища. Я бы посоветовал вам попробовать быстрый тест, чтобы увидеть, как он влияет на ваши данные.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...