Мне нужны детали как из аспектов производительности, так и из-за запросов, я узнал из какого-то сайта, что только ключ может быть задан при использовании columnfamily, если да, что бы вы предложили для моего ключевого пространства, мне нужно использовать группу by, count, sum, ifnull, concat, join и несколько раз вложенные запросы.
Какая разница между созданием таблицы и созданием columnfamily в Cassandra?
Ответ 1
Чтобы ответить на исходный вопрос, который вы задали: семейство столбцов и таблица - одно и то же.
- Название "семейство столбцов" использовалось в более раннем Thrift API.
- Имя "таблица" используется в новом CQL API.
Более подробную информацию о API можно найти здесь: http://wiki.apache.org/cassandra/API
Если вы нуждаетесь, чтобы использовать "группу по, упорядочивать, подсчитывать, суммировать, ifnull, concat, join и несколько раз вложенные запросы", как вы заявляете, то вы, вероятно, не хотите использовать Cassandra, так как он не поддерживает большинство из них.
CQL поддерживает COUNT
, но только до 10000. Он поддерживает ORDER BY
, но только для кластеризации ключей. Другие вещи, о которых вы упоминаете, вообще не поддерживаются.
Ответ 2
Обратитесь к документу: https://cassandra.apache.org/doc/old/CQL-3.0.html
Указывает, что LRM CQL поддерживает ключевое слово TABLE везде, где поддерживается COLUMNFAMILY.
Это доказательство того, что TABLE и COLUMNFAMILY являются синонимами.
Ответ 3
Семейство столбцов несколько связано с таблицей реляционных баз данных с различиями в распределении и, возможно, даже идеалистическим характером.
При визуализации у вас есть пользовательский объект, который может содержать 15 столбцов, в реляционной базе данных вы можете разделить столбцы на структуру с небольшим числом столбцов, которую все мы знаем как Table. В распределенном db, таком как Cassandra, вы сможете объединить все эти записи таблиц в одну длинную строку, поэтому, если вы будете использовать менеджер профилировщика /db, вы увидите одну таблицу с 15 столбцами вместо 2/3 таблиц. Еще одна интересная вещь заключается в том, что каждое семейство столбцов записывается в разные узлы, возможно, на разных кластерах и распознается ключом строки, что означает, что у вас будет один ключ для всех семейств столбцов и не потребуется поддерживать ПК или FK для каждой таблицы и поддерживать отношения между ними с отношениями 1-1, 1-n, nn. Легко!