Подтвердить что ты не робот

Кассандра: текст против варчара

Кто-нибудь знает разницу между двумя типами данных CQL text и varchar в Cassandra? Документация Cassandra описывает оба типа как "кодированная строка UTF-8" и не более того.

4b9b3361

Ответ 1

text является просто псевдонимом для varchar!

Документация:

ИЗМЕНИТЬ
Здесь ссылка на C * 1.2 docs. Текст vs varchar info все тот же, однако этот документ содержит некоторые дополнительные типы данных.

Ответ 2

Возможно, вы имели в виду типы хранения CQL, если нет, не обращайте на меня никакого ответа.

В CQL наблюдается постоянная тенденция к удалению от внутренних частей кассандры. Хорошо ли это, или плохое, открыто для интерпретации. Однако актуально то, что в последних версиях разработчики CQL пытались придумать синтаксис, который более известен тем, кто не настолько углублен в внутренности cassandra.

Если бы вы рассмотрели этот вопрос SO, вы получите хорошую иллюстрацию ситуации: Создание семейства столбцов или таблицы в Cassandra при работе с Datastax API (который использует новый двоичный протокол)

В последних версиях CQL начали появляться некоторые псевдонимы, чуждые кассандре, но очень хорошо известные DBA. Например, родной для cassandra ColumnFamily был псевдоним с таблицей, а текст - просто псевдоним для varchar и наоборот. Опять же, это вопрос, если это хорошо или нет.

Итак, в заключение вы можете использовать varchar и текст взаимозаменяемо.

Ответ 3

Это тоже бросило меня, когда я начал с Кассандры.

Оба текста и varchar являются закодированными строками UTF8 и являются синонимами друг для друга, то есть они точно такие же.

Как добавленная дополнительная заметка, если вы исходите из реляционного мира, такого как MS SQL, можно было бы также не решаться использовать эти типы (особенно TEXT) в качестве основного поля для объекта. TEXT особенно обычно ассоциируется с большими блоками текстового контента, которые не кричат ​​первичным ключом на 3-й нормальный реляционный разум. Но так как все типы Cassandra по существу хранятся как шестнадцатеричные байт-массивы на диске, при использовании их в качестве первичного ключа нет реальной значимой производительности.