Кто-нибудь знает разницу между двумя типами данных CQL text
и varchar
в Кассандре? Документация Cassandra описывает оба типа как «кодированная строка UTF-8» и не более того.Кассандра: текст vs varchar
ответ
text
- это просто псевдоним для varchar
!
Документация:
- Getting started with cql3 - Datastax
- Documentation on Datatypes in CQL - Datastax
- CQL3 Documentation - Apache
EDIT
Вот ссылка на C* 1.2 docs. Текст vs varchar info все тот же, однако этот документ содержит некоторые дополнительные типы данных.
Можете ли вы указать, где вы обнаружили, что ТЕКСТ является псевдонимом VARCHAR?Не удается найти его ни в одной из указанных ссылок. – analogue
Ctrl + F для «псевдонима» не даст желаемого ответа. Найдите «информацию о родных типах данных» в документации CQL3 Documentation - Apache, и вы увидите описание как varchar, так и текста, они идентичны. Также [это] (http://www.thefreedictionary.com/Aliases) –
@analogue [О типах данных] (http://docs.datastax.com/en/cassandra/1.2/cassandra/tools/use_about_data_types_c.html) говорит, что внутренний 'UTF8Type' соответствует CQL-названию' text, varchar', который я бы назвал псевдонимами. – karmakaze
Возможно, вы имели в виду типы хранения CQL, если нет, игнорируйте мой ответ.
В CQL наблюдается постоянная тенденция к удалению от внутренних частей кассандры. Хорошо ли это, или плохое, открыто для интерпретации. Однако актуальность заключается в том, что в последних версиях разработчики CQL пытались придумать синтаксис, который более известен тем, кто не настолько углублен в внутренности cassandra.
Если бы вы посмотрите в этот СЦ вопрос, вы получите хорошую иллюстрацию ситуации: Creating column family or table in Cassandra while working Datastax API(which uses new Binary protocol)
В последних версиях CQL некоторые псевдонимы, чуждые Кассандрой, но очень хорошо известно, что АБД начали появляться. Например, родной для cassandra ColumnFamily был псевдоним с таблицей, а текст - просто псевдоним для varchar и наоборот. Опять же, это мнение, если это хорошо или нет.
Итак, в заключение вы можете использовать varchar и текст взаимозаменяемо.
Это тоже бросило меня, когда я начал с Кассандры.
Оба текста и varchar являются закодированными строками UTF8 и являются синонимами друг для друга, то есть они являются точно такими же.
В качестве дополнительной заметки, если речь идет о реляционном мире, таком как MS SQL, можно было бы также не решаться использовать эти типы (особенно ТЕКСТ) в качестве основного поля для объекта. TEXT особенно обычно ассоциируется с большими блоками текстового контента, которые не кричат первичным ключом на 3-й нормальный реляционный разум. Но так как все типы Cassandra по существу хранятся как шестнадцатеричные байт-массивы на диске, при использовании их в качестве первичного ключа нет реальной значимой производительности.
- 1. MySQL: VARCHAR (1024) vs VARCHAR (512)
- 2. Mysql Bigint VS Varchar
- 3. Oracle BLOB vs VARCHAR
- 4. varchar vs. mediumtext
- 5. mysql varbinary vs varchar
- 6. VARCHAR vs DECIMAL Производительность
- 7. Mysql char vs varchar vs int storage
- 8. Grails: текст вместо varchar
- 9. Varchar или средний текст?
- 10. текст или varchar?
- 11. Cast Текст Varchar MySQL
- 12. VARCHAR vs LONGTEXT для резюме
- 13. Кассандра подходит для хранения аналитики?
- 14. Разница между varchar (500) vs varchar (max) в sql-сервере
- 15. mysql_field_type различает varchar и текст
- 16. Postgres: Преобразование varchar в текст
- 17. VARCHAR или текст - производительности MySQL
- 18. Кассандра: DELETE не работает
- 19. Кассандра: java.lang.UnsupportedClassVersionError
- 20. Первичный ключ SQL: integer vs varchar
- 21. Tinyint vs varchar для определения типов объектов
- 22. Оптимизация запросов - равенство VARCHAR vs Числовое равенство
- 23. MySQL: integer Index vs Varchar Index
- 24. mysql - datatype для mobileno. decimal vs varchar
- 25. Sql Order By - Varchar vs Integer
- 26. Производительность поиска в MemSQL: JSON vs varchar
- 27. MySQL размер базы данных VS длины VARCHAR
- 28. CHAR vs VARCHAR для защиты паролем
- 29. Производительность MySQL - CHAR (64) vs VARCHAR (64)
- 30. Хранение пароля hash - varchar vs varbinary
Вы можете указать ссылку на документацию? Я никогда не слышал об этом. Однако я слышал об AsciiType и UTF8Type, различия между которыми должны быть очевидны. –
@baba Это имена, используемые CQL3. – Raedwald
да, мне потребовалось некоторое время, но я понял :) –