2016-07-05 9 views
0

Из различных документов о Кассандре в нем четко говорится, что он преобразует ключи строк в MD5 перед сохранением их в базе данных.Будет ли Кассандра избегать вычисления строки MD5, если значение уже является MD5?

Если мои ключи строки уже представляют собой суммы MD5, есть ли способ, чтобы сообщить Cassandra и, таким образом, избежать вычисления MD5 этого MD5?

P.S. В таблице, о которой я говорю, есть файлы в ней, а ключи - это файлы MD5 сумм.

ответ

1

Что действительно делает Кассандра, это хэш-ключ раздела, основанный на том, что определяет разделитель. Исходным разделителем был MD5, но современные версии Cassandra по умолчанию для Murmur3 (а не QUITE murmur3, но в основном murmur3).

В любом случае, да, Cassandra хэширует ключ раздела, потому что нет возможности сообщить Cassandra, что это уже MD5.

Если вы действительно хотите избежать хэширование, вы можете посмотреть на другие альтернативные (например редактирования разделов, как byte ordered или order preserving), или написать свой собственный, который реализует IPartitioner. Обратите внимание, что если вы используете другой разделитель, он используется для всех таблиц/кластеров в кластере.