Возможно ли сохранить значение столбца только один раз в хранилище столбцов?
Я новичок в Кассандре, и у меня есть основной вопрос о том, как Кассандра и Паркет справляются с этим столбчатым делом. Я пытался понять это сам, но пока не повезло. Я нашел ниже информацию на вики
…;Smith:001;Jones:002,004;Johnson:003;…
Поскольку в двух записях хранится одно и то же значение "Jones", его можно сохранить только один раз в хранилище столбцов вместе с указателями на все соответствующие ему строки. Для многих распространенных поисков, таких как "найти всех людей с фамилией Джонс", ответ получается за одну операцию. С помощью этой организации можно значительно улучшить другие операции, такие как подсчет количества совпадающих записей или выполнение математических операций над набором данных.
Мой вопрос заключается в том, "относится ли вышеуказанное к Кассандре и Паркету?",
002,Jones,Mary,50000;
004,Jones,Bob,55000;
Кассандра / Паркет хранит "Джонс" только один раз или хранит "Джонс" по мере поступления? Просьба просвещать меня об этом.
1 ответ
Cassandra - это широкая база данных магазинов.
Сохраненные данные дифференцируются на основе ключа раздела и столбцов кластеризации.
Поэтому для приведенного выше варианта использования предполагается, что моделирование БД таково, что имя (столбец) является ключом раздела, а значения (другой столбец) - столбцом кластеризации.
Столбец кластеризации делает значения уникальными для этого столбца, если ключ раздела совпадает.
Теперь данные будут храниться внутри что-то вроде этого
jones |002|004|005... and so on
Таким образом, вы можете заметить, что jones сохраняется один раз, в то время как значения (которые являются столбцом кластеризации) добавляются как часть этой же строки, отсюда и хранилище строк с широким именем.