Cassandra Create Type

Cassandra Create Type



„Cassandra ни позволява да дефинираме персонализирани типове, които могат да съдържат свързана информация в таблица. Ако не можете да намерите тип, който да съдържа вашия тип данни, можете да използвате вградени типове, за да дефинирате друг тип, който улавя желаното от вас оформление.

Добре е да имате предвид, че дефинираният тип е ограничен до обхвата на ключовото пространство, върху което е създаден. Можете да използвате нотацията с точка за достъп до таблица от друго пространство на ключове.







Тази публикация ще обсъди как можете да дефинирате потребителски тип с помощта на командата CREATE TYPE.”



Създайте синтаксис на команда за тип

Следната команда описва синтаксиса на командата за създаване на тип:



СЪЗДАВАНЕ НА ТИП [ АКО НЕ СЪЩЕСТВУВА ]
keyspace_name.type_name (
име_на_поле касандра_тип [ , ]
[ име_на_поле касандра_тип ] [ ,... ]
) ;


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





Type_name трябва да включва уникално име, което отговаря на правилата за именуване на Cassandra.

И накрая, можете да дефинирате полетата за вашия тип и съответния им CQL тип. Не използвайте полета за броячи в персонализирани типове.



Пример

Следващият пример показва как да дефинирате персонализиран тип, който съдържа CVE отчети.

пуснете клавишно пространство ако съществува zero_day;

създаване на ключово пространство zero_day
с репликация = {
'клас' : „SimpleStrategy“ ,
'репликационен_фактор' : 1
} ;
използвайте zero_day;

създавам Тип cve_reports (
cve_number текст,
отчетна_дата дата ,
засегнат_доставчик текст,
поплавък на тежестта,
) ;


Горната заявка започва със създаване на ключово пространство „zero_day“, което ще съдържа определения тип потребител.

Ще забележите, че изразът за създаване на тип следва подобен формат на създаването на таблица. Въпреки че това е вярно, те служат за различни цели и едното може да бъде по-добър избор от другото.

ЗАБЕЛЕЖКА: Обмислете последиците за производителността, преди да изберете таблица пред потребителски тип и обратно.

След това можем да вмъкнем данни в таблицата по-горе, както е показано:

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

създаване на записи в таблици (
документ за самоличност int,
cve_reports cve_reports,
първичен ключ ( документ за самоличност )
) ;

Вмъкване на данни

вмъкнете в записи ( документ за самоличност , cve_reports ) стойности ( 1 , { cve_номер: „CVE-2021-33852“ , отчет_дата: „2022-12-02“ , засегнат_доставчик: 'WordPress' , тежест: 6.0 } ) ;


След това можем да извлечем добавените данни като:

изберете * от записи;

Резултатен изход


Заключение

Тази публикация обхваща основите на създаването и използването на потребителски дефинирани типове в Apache Cassandra. Обсъдихме също как да създадем таблица с потребителски типове и да вмъкнем данни в колона с персонализиран тип.

Приятно кодиране!!