Cassandra Utwórz typ

Cassandra Utworz Typ



„Cassandra pozwala nam zdefiniować niestandardowe typy, które mogą przechowywać powiązane informacje w tabeli. Jeśli nie możesz znaleźć typu do przechowywania typu danych, możesz użyć typów wbudowanych, aby zdefiniować inny typ, który przechwytuje żądany układ.

Warto pamiętać, że zdefiniowany typ jest ograniczony zakresem przestrzeni kluczy, na której został utworzony. Możesz użyć notacji kropkowej, aby uzyskać dostęp do tabeli z innego obszaru klawiszy.







W tym poście omówimy, jak zdefiniować typ użytkownika za pomocą polecenia CREATE TYPE.”



Utwórz składnię polecenia typu

Poniższe polecenie przedstawia składnię polecenia tworzenia typu:



UTWÓRZ TYP [ JEŚLI NIE ISTNIEJE ]
keyspace_name.type_name (
nazwa_pola cassandra_type [ , ]
[ nazwa_pola cassandra_type ] [ ,... ]
) ;


Polecenie obsługuje klauzulę IF EXISTS, która umożliwia usuwanie błędów, jeśli polecenie o podobnej nazwie istnieje w typie docelowym.





Type_name musi zawierać unikalną nazwę zgodną z zasadami nazewnictwa Cassandry.

Na koniec możesz zdefiniować pola dla swojego typu i odpowiadający im typ CQL. Nie używaj pól licznika w typach niestandardowych.



Przykład

Poniższy przykład pokazuje, jak zdefiniować typ niestandardowy, który przechowuje raporty CVE.

upuść spację klawiszową jeśli istnieje zero_day;

utwórz przestrzeń kluczy zero_day
z replikacją = {
'klasa' : „Prosta strategia” ,
„współczynnik_replikacji” : 1
} ;
użyj zero_day;

Stwórz rodzaj cve_reports (
tekst numer_cve,
data_raportu data ,
tekst_dotkniętego_dostawcy,
zmienność nasilenia,
) ;


Powyższe zapytanie rozpoczyna się od utworzenia obszaru kluczy „zero_day”, który będzie zawierał zdefiniowany typ użytkownika.

Zauważysz, że instrukcja create type ma podobny format do tworzenia tabeli. Chociaż to prawda, służą one innym celom i jeden może być lepszym wyborem niż drugi.

NOTATKA: Rozważ wpływ na wydajność przed wybraniem tabeli zamiast typu niestandardowego i na odwrót.

Możemy następnie wstawić dane do powyższej tabeli, jak pokazano:

Możemy stworzyć tabelę typu cve_reports i wstawić przykładowe dane jak pokazano:

utwórz rekordy tabeli (
ID int,
cve_reports cve_reports,
główny klucz ( ID )
) ;

Wstaw dane

wstawiaj do rekordów ( ID , cve_raporty ) wartości ( 1 , { numer_cve: „CVE-2021-33852” , data_raportu: '2022-12-02' , dotknięty_dostawcą: „WordPress” , surowość: 6,0 } ) ;


Następnie możemy pobrać dodane dane jako:

Wybierz * z ewidencji;

Wynikowe wyjście


Wniosek

Ten post obejmował podstawy tworzenia i używania niestandardowych typów w Apache Cassandra. Omówiliśmy również, jak utworzyć tabelę z niestandardowymi typami i wstawić dane do niestandardowej kolumny typu.

Szczęśliwego kodowania!!