Оптимизировать запрос кассандры - PullRequest
1 голос
/ 13 января 2012

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

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

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

1 Ответ

4 голосов
/ 14 января 2012

key_validation_class - это просто удобная подсказка для для применения критериев проверки ключа. Думайте об этом как об ограничении. Кассандра работает только с байтами. Это вряд ли приведет к проблемам с производительностью.

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

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

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

...