2012-01-13 8 views
1

Я пытаюсь оптимизировать некоторые запросы cassandra, которые я использую в качестве критериев ключ строки. Итак, я сомневаюсь, что, рассматривая процесс сравнения ключа строки внутри cassandra, какой будет лучший «key_validation_class» для него?Оптимизировать запрос cassandra

Имеет ли UTF8Type худшую производительность, чем Int32Type? В настоящее время я использую некоторые конкатенированные значения, чтобы создать мой ключ строки как UTF8Type, но я доволен, что это плохой подход.

Заранее спасибо.

ответ

4

key_validation_class - это всего лишь удобный намек на , чтобы обеспечить соблюдение критериев проверки ключа. Подумайте об этом как о сдерживании. Cassandra работает только с байтами. Это вряд ли вызовет проблемы с производительностью.

Размер «ключевого имени» обычно не является проблемой, поскольку он находится в разумных пределах (допустим, 64-128 байт абсолютно нормальный).

Решение, если лучше использовать UTF или Int32, в основном обусловлено необходимостью разделения данных и выполнения срезов диапазона.

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