Zarządzanie liczbami danych może być zadaniem pod górę dla menedżerów danych, głównie jeśli wyniki zapytania lub skanowania napotykają wiele stron. Paginacja w DynamoDB umożliwia bazie danych obsługi dużych ilości danych poprzez rozbicie wyników na wiele możliwych do zarządzania strony.Ten zapis wyjaśnia paginację DynamoDB i zapewnia różne możliwe przypadki użycia i przykłady. Podkreśla także, w jaki sposób paginacja w DynamoDB różni się od paginacji w innych bazach danych.
Co to jest paginacja w dynamoDB?
Ogólnie rzecz biorąc, paginacja, pochodząca ze stron słów, jest techniką używaną przez bazy danych do podziału rekordów danych na wiele fragmentów, segmentów lub stron. A ponieważ AWS DynamoDB obsługuje przechowywanie dużych ilości danych, ma niezawodne możliwości paginacji.
Komponent Pagination DynamoDB zapewnia tylko, że możesz pobrać tylko do 1 GB danych na skan lub zapytanie. Chociaż jest to ustawienie domyślne, możesz dodać parametr limitu w zapytaniu, aby określić limit. Możesz dodatkowo ustalić limit liczby rekordów w każdym zapytaniu skanowania.
W szczególności istnieje kilka różnic między paginacją w dynamoDB i paginacji w typowej bazie danych SQL. Najwyraźniej każdy pagenowany rekord, który jest pobierany w DynamoDB, ma bezpośredni koszt, co czyni ją niepisaną regułą podczas korzystania z paginacji w DynamoDB. Ta funkcja sprawia, że paginacja jest istotnym czynnikiem ograniczającym zarówno pobierane rekordy, jak i koszty bezpośrednie.
Jak używać paginacji w dynamoDB
1. Paginacja podczas operacji zapytania
W DynamoDB zapytanie zwraca tylko wyniki do 1 MB. Ale możesz skutecznie potwierdzić, czy jest więcej wyników, analizując Twoje wyniki. W szczególności wynik operacji zapytania na niskim poziomie zawiera element LastevaLuredKey, który nie jest null, aby wskazać, że istnieje więcej elementów związanych z zapytaniem, które powinieneś odzyskać.
Wynik bez elementu LastevaLutedKey, który nie ma null, oznacza, że wszystkie elementy pasujące do zapytania pasują do limitu 1 MB i nie ma już przedmiotów do pobierania. Oczywiście możesz również ustawić limit liczby pozycji na wynik. Zobacz następujące przykładowe polecenie:
AWS Dynamodb Query \Możesz użyć poprzedniego polecenia, aby zapytać tabelę dla elementów o tych samych wartościach wyrażenia warunków kluczowych. Przeszukajmy naszą tabelę „Zamówień” w sprawie zamówień od Darry Tech. Ustawiamy również limit 10 pozycji na stronę. Inną opcją parametru -LIMIT jest użycie parametru o wielkości -page w tym samym celu.
Pagination to automatyczna operacja w AWS CLI dla elementów poniżej 1 MB danych. Możesz dodać ekskluzywny klawisz Start do polecenia, jeśli chcesz, aby Twoje zapytanie zaczęło się od konkretnego zamówienia.
Odpowiedź wygląda tak:
Podane wyniki pokazują 10 Darry Tech na pierwszej stronie. Możesz użyć wartości LastevaLuedKey, aby uzyskać więcej zamówień, które pasują do kluczowych wartości wyrażenia wyszukiwania w celu zbudowania nowego zapytania. Nowe żądanie zapytania zawiera wartości LastevaLutedKey w parametrze ExcluSiveStartKey.
Przykład składni pokazano następująco:
AWS Dynamodb Query \Poprzednie polecenie tworzy następne zamówienia ustawione na następnej stronie, zaczynając od identyfikatora zamówienia, który ma określony klucz podstawowy, i.mi. „ParititionKey”: „S”: Darry Tech ”,„ sortkey ”: „ s ”:” 5356-sy ”.
2. Paginacja podczas operacji skanowania
Możliwe jest również użycie paginacji do operacji skanowania. Wszystko działa tak samo jak w przypadku poleceń zapytania. Musisz jednak użyć atrybutu wyrażania filtrów. Polecenie wygląda na to, co mamy tutaj:
AWS DynamoDB skanowanie \Poprzednie polecenie wycofuje się do 20 pozycji na stronę z tabeli MyTable, zaczynając od elementu, którego klucz podstawowym jest „parititionkey”: „ABC123”, „sortkey”: „XYZ987”. Filtuje wyniki, aby zawierać tylko elementy, w których atrybut atrybutenamentu ma wartość „ABC123”.
W odpowiedzi, LastevaLutedKey pole zawiera klucz podstawowy ostatniego elementu w zestawie wyników. Możesz użyć tej wartości jako ExclusiveStartkey w kolejnych skanowanie Działanie w celu odzyskania następnej strony wyników.
Wniosek
Pagination in DynamODB poprawia zarządzalność danych. Należy jednak wiedzieć, czy twoje systemy skorzystają z paginacji. Konieczne jest użycie paginacji, jeśli masz długą listę elementów w aplikacji. Podczas gdy dostarczona ilustracja koncentruje się na wywołaniu AWS CLI, możesz również użyć paginacji za pomocą AWS SDK, takich jak Python's Boto3 lub dowolne preferowane SDK.