Кассандра Создать Тип

Kassandra Sozdat Tip



«Cassandra позволяет нам определять пользовательские типы, которые могут хранить связанную информацию в таблице. Если вы не можете найти тип для хранения данных вашего типа, вы можете использовать встроенные типы для определения другого типа, который соответствует желаемому макету.

Следует помнить, что определенный тип ограничен областью пространства ключей, в котором он создан. Вы можете использовать запись через точку для доступа к таблице из другого пространства ключей.







В этом посте мы обсудим, как определить тип пользователя с помощью команды CREATE TYPE».



Синтаксис команды «Создать тип»

Следующая команда изображает синтаксис команды создания типа:



СОЗДАТЬ ТИП [ ЕСЛИ НЕ СУЩЕСТВУЕТ ]
keyspace_name.type_name (
field_name cassandra_type [ , ]
[ field_name cassandra_type ] [ ,... ]
) ;


Команда поддерживает предложение IF EXISTS, которое позволяет скрывать ошибки, если команда с похожим именем существует в целевом типе.





Type_name должно включать уникальное имя, соответствующее правилам именования Cassandra.

Наконец, вы можете определить поля для своего типа и соответствующий им тип CQL. Не используйте поля счетчика в пользовательских типах.



Пример

В следующем примере показано, как определить настраиваемый тип, содержащий отчеты CVE.

удалить ключевое пространство если существует нулевой день;

создать пространство ключей zero_day
с репликацией = {
'учебный класс' : «Простая стратегия» ,
'replication_factor' : 1
} ;
использовать нулевой день;

Создайте тип cve_reports (
cve_number текст,
Дата отчета свидание ,
затронутый_вендор текст,
поплавок серьезности,
) ;


Приведенный выше запрос начинается с создания пространства ключей «zero_day», которое будет содержать определенный тип пользователя.

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

ПРИМЕЧАНИЕ: Подумайте о последствиях для производительности, прежде чем выбирать таблицу, а не настраиваемый тип, и наоборот.

Затем мы можем вставить данные в таблицу выше, как показано:

Мы можем создать таблицу с типом cve_reports и вставить образцы данных, как показано ниже:

создавать записи таблицы (
я бы инт,
cve_reports cve_reports,
первичный ключ ( я бы )
) ;

Вставить данные

вставить в записи ( я бы , cve_reports ) ценности ( 1 , { cve_номер: «CVE-2021-33852» , Дата отчета: '2022-12-02' , затронутый_вендор: «Вордпресс» , строгость: 6,0 } ) ;


Затем мы можем получить добавленные данные как:

Выбрать * из записей;

Результирующий вывод


Вывод

В этом посте были рассмотрены основы создания и использования настраиваемых типов в Apache Cassandra. Мы также обсудили, как создать таблицу с пользовательскими типами и вставить данные в столбец пользовательского типа.

Удачного кодирования!!