Как решить "Вторичные показатели кардинальности" для cfs.inode?
В OpsCenter 6.0.3 я получил следующую проблему
Вышеуказанная цифра появилась после нажатия 'Services' -> 'Best Practice Service' -> 'Performance Service - Table Metrics Advisor' -> 'Secondary indexes cardinality'
в очереди.
inode
Просмотр таблицы в DevCenter выглядит следующим образом:
Насколько я знаю, [inode]
ссылка отслеживает метаданные каждого файла и местоположение блоков. Но что я могу сделать, чтобы решить эту проблему?
Версия OpsCenter: 6.0.3 Версия Cassandra: 2.1.15.1423 Версия DataStax Enterprise: 4.8.10
1 ответ
Не используйте вторичный индекс для столбца высокой мощности.
Под высоким количеством элементов понимаются столбцы со значениями, которые являются весьма необычными или уникальными. Значения столбца с большим количеством элементов обычно представляют собой идентификационные номера, адреса электронной почты или имена пользователей. Примером столбца таблицы данных с большим количеством элементов будет таблица USERS со столбцом с именем USER_ID.
Проблемы с использованием индекса данных datastax doc столбца с высокой мощностью:
Если вы создадите индекс для столбца с высокой степенью кардинальности, который имеет много различных значений, запрос между полями повлечет за собой много поисков для очень немногих результатов. В таблице с миллиардом песен поиск песен по автору (значение, которое обычно уникально для каждой песни), а не по исполнителю, скорее всего, будет очень неэффективным. Вероятно, было бы более эффективно вручную поддерживать таблицу как форму индекса, а не использовать встроенный индекс Cassandra. Для столбцов, содержащих уникальные данные, иногда для удобства целесообразно использовать индекс, если объем запросов к таблице, содержащей индексированный столбец, является умеренным и не находится под постоянной нагрузкой.
Решение:
Создайте другую таблицу с этим столбцом в ключе раздела