Cassandra Utwórz typ

Cassandra Utwórz typ

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

Warto pamiętać, że zdefiniowany typ jest ograniczony do zakresu przestrzeni na klawisz. Możesz użyć notacji kropki, aby uzyskać dostęp do stołu z innego klucza.

Ten post omówi, w jaki sposób możesz zdefiniować typ użytkownika za pomocą polecenia Utwórz Typ."

Utwórz składnię polecenia typu

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

Utwórz typ [jeśli nie istnieje]
Keyspace_name.Wpisz imię(
Field_name cassandra_type [,]
[Field_name cassandra_type] [,…]
);


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

Type_name musi zawierać unikalną nazwę, która jest zgodna z zasadami nazewnictwa Cassandry.

Na koniec możesz zdefiniować pola dla swojego typu i ich odpowiedni typ CQL. Nie używaj liczników w typach niestandardowych.

Przykład

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

Upuść Keyspace, jeśli istnieje zero_day;
Utwórz Keyspace Zero_day
Z replikacją =
„klasa”: „ProsteStrategy”,
„Replikacja_factor”: 1
;
Użyj zero_day;
Utwórz typ Cve_Reports (
Tekst cve_number,
Raport_Date Data,
Tekst dotknięty_vendor,
Ważność pływak,
);


Powyższe zapytanie rozpoczyna się od utworzenia keyspace „Zero_day”, który pomieści zdefiniowany typ użytkownika.

Zauważysz, że instrukcja tworzenia typu jest zgodna z podobnym formatem do tworzenia tabeli. Chociaż jest to prawdą, służą innym celom, a jeden może być lepszym wyborem niż drugi.

NOTATKA: Rozważ konsekwencje wydajności przed wybraniem tabeli nad niestandardowym typem i odwrotnie.

Następnie możemy wstawić dane do powyższej tabeli, jak pokazano:

Możemy utworzyć tabelę z typem CVE_Reports i wstawić przykładowe dane, jak pokazano:

Utwórz rekordy tabeli (
Id int,
Cve_reports cve_reports,
Klucz podstawowy (id)
);

Wstaw dane

Wstaw do rekordów (id, cve_reports) wartości (1, cve_number: „cve-2021-33852”, raport_date: '2022-12-02', dotknięty_wendor: „WordPress ', nasilenie: 6.0);


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

Wybierz * z rekordów;

Wynikające z tego wyjście


Wniosek

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

Szczęśliwe kodowanie!!