Cassandra Select

Cassandra Select

Apache Cassandra jest jednym z liderów w bazach danych o szerokiej kolumnie NoSQL. Ponadto jest to bezpłatne i otwarte rozwiązanie dla danych bez schematu. W rezultacie Cassandra jest popularnym wyborem w środowiskach, które muszą obsługiwać obszerne dane o minimalnym opóźnieniu i cechach o wysokiej dostępności.

Cassandra zapewnia językowi zapytania Cassandra potężny język zapytania do interakcji z klawiszami Cassandra. CQL jest ściśle podobny do SQL i zapewnia podobne polecenia i składnię dla podobnych operacji. To sprawia, że ​​Cassandra jest łatwo dostępna przez programistów z relacyjnych baz danych.

W tym samouczku dowiemy się, jak korzystać z polecenia Select w Cassandra. Polecenie Select pozwala nam pobierać rekordy z tabeli Cassandra.

Zanurzmy się.

Składnia polecenia

Polecenie jest zgodne z stosunkowo prostą składnią. Składnia polecenia jest jak pokazana w następującym kodzie fragmentu:

Wybierz * | Select_Expression | Odrębna partycja
Z [KeysPace_name.] Nazwa tabeli
[Gdzie parition_value
[I klastering_filters
[I static_filters]]]
[ZAMÓWIENIE PK_COLUMN_NAME ASC | DESC]
[Limit n]
[Zezwalaj na filtrowanie]

Następnie polecenie zwraca określone wiersze z tabeli docelowej:

Uwaga: Ponieważ Cassandra jest zaprojektowana do obsługi danych na dużą skalę, nie zaleca się pobierania wszystkich wierszy z tabeli, tak jak w relacyjnej bazie danych.

Przykładowe dane

Przed nauczeniem się wyboru danych z tabeli za pomocą instrukcji Select, skonfigurujmy przykładowe dane do ilustracji.

Zacznij od utworzenia przykładowej przestrzeni kluczy:

Utwórz KeysPace Linuxhint z replikacją = „klasa”: „ProsteStrategy”, „Replikacja_factor”: 3,;

Przełącz bieżącą przestrzeń klawiszową za pomocą następującego polecenia:

Użyj Linuxhint;

Utwórz przykładową tabelę za pomocą następującego polecenia:

CQLSH: Linuxhint> Utwórz użytkowników tabeli (ID int, Tekst nazwy użytkownika, tekst e -mail, aktywny int, klucz podstawowy (id));

Dodaj przykładowe dane, jak pokazano:

CQLSH: Linuxhint> Wstaw do użytkowników (identyfikator, nazwa użytkownika, e -mail, aktywny) wartości (0, „user1”, '[email protected] ', 1);
CQLSH: Linuxhint> Wstaw do użytkowników (identyfikator, nazwa użytkownika, e -mail, aktywny) wartości (1, „user2”, „[email protected] ', 1);
CQLSH: Linuxhint> Wstaw do użytkowników (identyfikator, nazwa użytkownika, e -mail, aktywny) wartości (2, „user3”, „[email protected] ', 0);
CQLSH: Linuxhint> Wstaw do użytkowników (identyfikator, nazwa użytkownika, e -mail, aktywny) wartości (3, „user4”, „[email protected] ', 0);
CQLSH: Linuxhint> Wstaw do użytkowników (identyfikator, nazwa użytkownika, e -mail, aktywny) wartości (4, „user5”, „[email protected] ', 1);

Przykłady

Poniższa sekcja zawiera przykłady wykonania wspólnych instrukcji wybranych w klastrze Cassandra.

Przykład 1: Wybierz wszystkie rekordy

W Cassandra możemy wybrać wszystkie rekordy z tabeli za pomocą zapytania, jak pokazano:

CQLSH: Linuxhint> Wybierz * od użytkowników;

Używamy instrukcji Wybierz w tym zapytaniu, aby wybrać wszystkie kolumny tabeli użytkowników.

Poprzednie zapytanie powinno zwrócić dane wyjściowe, jak pokazano:

Id | Active | E -mail | nazwa użytkownika
----+--------+---------------+----------
1 | 1 | [email protected] | Użytkownik2
0 | 1 | [email protected] | użytkownik 1
2 | 0 | [email protected] | User3
4 | 1 | [email protected] | Użytkownik5
3 | 0 | [email protected] | User4

NOTATKA: Jak wspomniano, nie jest to zalecane dla dużego zestawu danych.

Przykład 2: Wybierz określone kolumny

Możemy wybrać określone kolumny z tabeli, określając kolumny jako wartości oddzielone przecinkami.

Na przykład, aby wybrać kolumny ID, Nazwa użytkownika i wiadomości e -mail, możemy uruchomić następujące polecenie:

CQLSH: Linuxhint> Wybierz identyfikator, e -mail, nazwa użytkownika od użytkowników;

W takim przypadku polecenie powinno zwrócić dane wyjściowe w następujący sposób:

Id | E -mail | nazwa użytkownika
----+---------------+----------
1 | [email protected] | Użytkownik2
0 | [email protected] | użytkownik 1
2 | [email protected] | User3
4 | [email protected] | Użytkownik5
3 | [email protected] | User4
(5 wierszy)

Przykład 3: Za pomocą aliasów kolumnowych

Aby wyjście jest bardziej czytelne, możemy użyć aliasów kolumnowych, które nadają niestandardowe nazwy wyniku wyjściowego.

Na przykład:

CQLSH: Linuxhint> Wybierz identyfikator jako user_index, e -mail jako e -mail_address, nazwa użytkownika jako identyfikator od użytkowników;

Słowo kluczowe w zapytaniu umożliwia zmianę nazwy kolumny na nazwę alias bez wprowadzania stałych zmian w tabeli.

Na przykład poprzednie zapytanie zwraca wynik jako:

user_index | e -mail_address | identyfikator
------------+---------------+------------
1 | [email protected] | Użytkownik2
0 | [email protected] | użytkownik 1
2 | [email protected] | User3
4 | [email protected] | Użytkownik5
3 | [email protected] | User4
(5 wierszy)

Zauważ, że kolumny identyfikacyjne, e -mail i nazwa użytkownika są przemianowane odpowiednio na user_index, e -mail_adress i identyfikator.

Przykład 4: Ograniczenie liczby wierszy

Korzystając z opcji limitu, możemy również ograniczyć liczbę rekordów zwróconych przez zapytanie Wybierz. Klauzula limitu wymaga liczby liczby reprezentującej liczbę wierszy do pobrania.

Na przykład, aby pobrać pierwsze trzy wiersze, możemy uruchomić następujące polecenie:

CQLSH: Linuxhint> Wybierz * Z użytkowników Limit 3;

Powstałe wyjście jest następujące:

Id | Active | E -mail | nazwa użytkownika
----+--------+---------------+----------
1 | 1 | [email protected] | Użytkownik2
0 | 1 | [email protected] | użytkownik 1
2 | 0 | [email protected] | User3
(3 wiersze)

Przykład 5: Dane dotyczące filtrowania

Możemy również pobrać dane pasujące do określonego warunku za pomocą klauzuli Where. To pozwala nam określić warunek zwracający true/false i zwraca wartości pasujące.

Na przykład, aby pobrać wszystkie wiersze, w których wartość aktywnej kolumny jest równa 1, możemy wykonać następujące czynności:

CQLSH: Linuxhint> Wybierz * Od użytkowników, gdzie aktywny = 1 Zezwalaj na filtrowanie;

Poprzednie zapytanie powinno zwrócić tylko wiersze, w których aktywna kolumna = 1.

Id | Active | E -mail | nazwa użytkownika
----+--------+---------------+----------
1 | 1 | [email protected] | Użytkownik2
0 | 1 | [email protected] | użytkownik 1
4 | 1 | [email protected] | Użytkownik5
(3 wiersze)

NOTATKA: Komenda Filtringowa pozwala Cassandra korzystać z funkcji filtrowania danych.

REKOMENDACJE: Użyj tylko filtrowania zezwoleń tylko do celów programistycznych.

Wniosek

W tym artykule nauczyłeś się podstaw wyboru danych z tabeli Cassandra za pomocą instrukcji CQL Select.

Dziękuje za przeczytanie!