Visão geral da paginação do DynamoDB, casos de uso e exemplos

Visão geral da paginação do DynamoDB, casos de uso e exemplos

Gerenciando quantidades volumosas de dados podem ser uma tarefa difícil para os gerentes de dados, principalmente se sua consulta ou varredura chegarem a várias páginas. A paginação no DynamoDB permite que o banco de dados lide com as grandes quantidades de dados, dividindo os resultados em várias páginas gerenciáveis.Esta redação explica a paginação do DynamoDB e fornece vários possíveis casos de uso e exemplos. Ele também destaca como a paginação no DynamoDB difere da paginação em outros bancos de dados.

O que é paginação no dynamoDB?

Geralmente, a paginação, derivada das páginas da palavra, é uma técnica usada por bancos de dados para dividir os registros de dados em vários pedaços, segmentos ou páginas. E como o AWS DynamoDB suporta o armazenamento de grandes quantidades de dados, ele apresenta recursos de paginação confiáveis.

O componente de paginação do DynamoDB garante que você só possa recuperar até 1 GB de dados por varredura ou consulta. Embora seja uma configuração padrão, você pode adicionar um parâmetro limite em uma consulta para especificar um limite. Você pode definir ainda um limite para o número de registros em cada consulta de varredura.

Notavelmente, existem algumas diferenças entre a paginação no DynamoDB e a paginação em um banco de dados SQL típico. Mais obviamente, cada registro paginado que é recuperado no DynamoDB tem um custo direto, tornando esta uma regra não escrita ao usar a paginação no DynamoDB. Esse recurso faz da paginação um fator vital para limitar os registros recuperados e os custos diretos.

Como usar a paginação no dynamoDB

1. Paginação durante uma operação de consulta

No DynamoDB, uma consulta retorna apenas os resultados de até 1 MB. Mas você pode confirmar efetivamente se há mais resultados examinando seus resultados. Notavelmente, um resultado de operação de consulta de baixo nível contém um elemento LastEvaluedKey que não é nulo para indicar que existem mais itens relacionados à sua consulta que você deve recuperar.

Um resultado sem um elemento Keyky LastEvalued que não é nulo, implica que todos os itens que correspondem à consulta se encaixam no limite de 1 MB e não há mais itens para recuperação. Obviamente, você também pode definir um limite para o número de itens por resultado. Veja o seguinte comando de amostra:

AWS DynamoDB Consulta \
--nome de tabela mytablename \
--Expressão-chave "PartitionKey =: PK \
--Expression-attribute-values ​​'": pk": "s": "a1234b",
--Limite 10 \

Você pode usar o comando anterior para consultar sua tabela para os itens com os mesmos valores de expressão de condição -chave. Vamos pesquisar nossa tabela de “pedidos” para order_ids da Darry Tech. Também definimos um limite para 10 itens por página. Outra opção para o parâmetro -limit é usar o parâmetro -size -size para o mesmo objetivo.

A paginação é uma operação automática na AWS CLI para itens abaixo de 1 MB de dados. Você pode adicionar uma chave de início exclusiva ao comando se quiser que sua consulta comece de um pedido específico.

A resposta se parece com a seguinte:

Os resultados fornecidos mostram 10 Darry Tech na primeira página. Você pode usar os valores do LastEvaluedKey para obter mais ordens que correspondem aos valores -chave de expressão de sua pesquisa para construir uma nova consulta. A nova solicitação de consulta contém os valores do LastEvaluedKey no parâmetro exclusivestartKey.

Um exemplo da sintaxe é mostrado no seguinte:

AWS DynamoDB Consulta \
--Nome de tabela Exampletable \
--Expressão-chave "PartitionKey =: PK \
--Expression-attribute-values ​​'": pk": "s": darry tecnologia' \
--Limite 10 \
--exclusivo-start-chave '"PartitionKey": "S": Darry Tech "," SortKey ": " S ":" 5356-SY "'

O comando anterior produz os próximos pedidos de compensação na próxima página, começando com o ID do pedido que possui a chave primária especificada, i.e. "PartitionKey": "S": Darry Tech "," SortKey ": " S ":" 5356-SY ".

2. Paginação durante operações de varredura

Também é possível usar a paginação para operações de varredura. Tudo funciona da mesma maneira que com os comandos de consulta. No entanto, você precisa usar o atributo de expressão de filtro. O comando se parece com o que temos aqui:

AWS DynamoDB Scan \
--Nome da mesa MyTable \
--Expressão de filtro "atributeName =: value" \
--Expression-attribute-values ​​'": value": "s": "abc123"' \
--Limite 20 \
--`` ``

O comando anterior se retira até 20 itens por página da tabela MyTable, começando com o item cuja chave primária é "PartitionKey": "ABC123", "Sortkey": "XYZ987". Ele filtra os resultados para incluir apenas os itens em que o atributo AttributeName tem o valor "ABC123".

Na resposta, o LastevaluedKey O campo contém a chave primária do último item no conjunto de resultados. Você pode usar esse valor como o ExclusivestartKey em um subsequente Varredura operação para recuperar a próxima página de resultados.

Conclusão

A paginação no DynamoDB melhora a capacidade de gerenciamento de dados. No entanto, é vital saber se seus sistemas se beneficiarão da paginação. É necessário usar a paginação se você tiver uma longa lista de itens em um aplicativo. Embora a ilustração fornecida se concentre na chamada da AWS CLI, você também pode usar a paginação com SDKs da AWS, como o Python's BOTO3 ou qualquer SDK que você preferir.