Możesz zmienić domyślny charakter operacji skanowania za pomocą parametru projekcji Wykłady, ponieważ zwraca to tylko określone atrybuty, a nie wszystko w indeksie lub tabeli. W szczególności każde żądanie skanowania może zwrócić tylko do 1 MB danych dotyczących elementu i nic więcej. Poza tym DynamODB może zastosować wyrażenie filtra do dowolnego zestawu danych i zawęzić wyniki, zanim dostarczy wyniki użytkownikowi.
Ten przewodnik opracowuje sposób korzystania z operacji skanowania na dynamoDB. Wyjaśnia, kiedy korzystać z operacji skanowania DynamoDB, jak działają wyrażenia filtra, spójność odczytu skanów i skanowanie równoległych.
Ale zanim do tego dojdziemy, ważne jest, aby użyć operacji skanowania tylko wtedy, gdy masz pewność, że potrzebujesz. Działa na całej tabeli i może zużywać całą pojemność odczytu, gdy jest używana na tabelach o rzeczywistej wielkości. Ponadto, gdy jest używany na ścieżce krytycznej aplikacji, może być powolne w zwracaniu wyników.
Sytuacje, w których należy użyć skanowania w tabelach i indeksach DynamoDB
Korzystanie z operacji skanowania na DynamoDB ma sens w następujących scenariuszach:
Wykonanie podstawowego skanowania na tabeli DynamoDB
Operacje skanowania są łatwe w obsłudze. Wszystko, co musisz zrobić, to określić swoją nazwę Table_name wraz z poleceniem skanowania AWS DynamoDB. Proste narzędzie do skanowania powinno wyglądać tak:
$ AWS Dynamodb Scan \Wynik pokazano następująco. Zauważ, że jest to skrócone, aby być wystarczająco krótkim do ilustracji, ponieważ pokazanie wszystkich 35 pozycji w tym artykule może być uciążliwe.
Operacja skanowania na dynamoDB za pomocą wyrażeń filtra
Poprzednia odpowiedź zwraca wszystkie 35 elementów zawartych w tabeli. Możesz jednak użyć parametru wyrażenia -rentowego, aby określić atrybuty, które Cię interesuje. Ta funkcja znana również jako wyrażenia filtrów pozwala udoskonalić wyniki i określić określone elementy w tabeli, które znajdują w odpowiedzi. Wyniki, których nie potrzebujesz, nie będą w odpowiedzi.
Powinieneś zastosować parametr wyrażenia filtra tylko po zakończeniu pełnego skanowania i uzyskania wyników przy sobie. Jednak zarówno wyrażenia projekcyjne, jak i pełne skany DynamoDB pochłoną równe ilości pojemności odczytu. I chociaż limity skanowania często mają maksymalnie 1 MB danych, obliczenia to nastąpi przed oceną wyników wyrażenia filtra.
Upewnij się, że określisz wszystkie atrybuty potrzebne w wyrażeniu filtra. Atrybuty mogą zawierać klucze partycji i klucze sortowania. Wyrażenia filtra mają tę samą składnię, co wyrażenia warunku.
Na przykład następujące narzędzie interfejsu wiersza poleceń AWS skanuje tabelę pracownik i zwraca szczegóły elementów, które zostały ostatnio grane.
AWS DynamoDB skanowanie \Wykonanie operacji skanowania, która przekracza limit danych 1 MB
Powiedzieliśmy raz po raz, że operacja skanowania DynamoDB ma limit danych 1 MB. Ale co się stanie, gdy skany osiągnęły limit danych 1 MB? Jeśli trafisz do limitu 1 MB podczas skanowania, odpowiedź będzie zawierać klucz „NextToken”.
Użyj wartości podanej w klawiszu „NextToken” z - -startowy Opcja kontynuowania funkcji skanowania, z którego się zatrzymała. Możesz przetestować tę funkcjonalność za pomocą - - Max Opcja limitu. W tym przykładzie, zamiast próbować całkowitego skanowania, skanujemy naszą tabelę PracownictEata, ale rozegramy limit naszego pozycji do maksymalnie 1, jak pokazano następująco:
$ AWS Dynamodb Scan \Odpowiedź zawiera tylko jeden element. Jednak znajdziesz także klucz „NextToken” w wynikach, aby umożliwić kontynuowanie skanowania, z którego się zatrzymał. Patrz następujący zrzut ekranu:
Poprzednia odpowiedź wytwarza tylko jedną pozycję z tabeli, która zawiera 35 elementów. Możesz zakończyć skanowanie za pomocą dostarczonego klucza NextToken.
Za pomocą równoległych skanów
Podstawowymi powodami, dla których DynamODB pozostaje popularną bazą danych, jest jego szybkość, elastyczność i skalowalność. Co ciekawe, korzystanie z operacji skanowania pozwala również wyeksportować treść do analizy danych lub schowek.
Funkcje DynamoDB Segmenty co pozwala skanom równoległego skanować duże ilości danych bez polegania na jednym procesie skanowania na każdej tabeli. Ta funkcja pozwala określić liczbę Segmenty że chcesz podzielić tabelę, a żądania dla każdego segmentu. Umożliwia to menedżerom danych skanowanie danych z danej tabeli równolegle.
Podczas gdy nasza tabela pracodawcy, która jest używana w tym samouczku, nie ma dużej ilości danych, możemy podzielić ją na cztery segmenty i użyć jej do tej ilustracji. Możesz ustrukturyzować polecenie skanowania, określając liczbę segmentów i numer segmentu, który zamierzasz skanować. Podczas gdy segmenty są zerowe, użycie 0 w specyfikacji segmentu może być zadaniem pod górę.
$ AWS Dynamodb Scan \Wyniki zawierają tylko elementy należące do pierwszego segmentu. Odpowiedź wygląda tak. Należy zauważyć, że wyniki są obcięte dla zwięzłości i mają tylko pierwsze i ostatnie elementy w pierwszym segmencie.
Wniosek
To wszystko o operacji skanowania DynamoDB. Chociaż jest to prawdopodobnie jedna z najbardziej łatwych operacji w AWS DynamoDB, powinieneś używać go oszczędnie, ponieważ może spożywać całą przydział pojemności konsumowej. Ponownie upewnij się, że wiesz, kiedy możesz korzystać z różnych aplikacji operacji skanowania.