Visão geral do laboratório
A AnyCompany está desenvolvendo um novo aplicativo de banco de dados de filmes. O aplicativo permitirá aos usuários pesquisar filmes por título, ano de lançamento, elenco, classificação e assim por diante. A AnyCompany escolheu o Amazon DynamoDB como serviço de banco de dados para armazenar as informações sobre todos os filmes referidos no aplicativo.
O Amazon DynamoDB é um NoSQL sem servidor, também conhecido como banco de dados não relacional, que oferece suporte a modelos de dados de chave-valor e documentos. Com o DynamoDB, você pode começar pequeno e rapidamente escalar globalmente à medida que sua aplicação e sua base de usuários cresce, sendo capaz de suportar petabytes de dados e dezenas de milhões de solicitações de leitura e gravação por segundo.A AWS gerencia o serviço DynamoDB, portanto não é preciso manter nem atualizar servidores. Para obter mais informações, consulte Recursos do Amazon DynamoDB e Componentes principais do Amazon DynamoDB na seção Recursos adicionais.
Sua tarefa como engenheiro de banco de dados júnior recém-contratado é criar Índices secundários locais (LSIs - Local Secondary Indexes) e/ou Índices secundários globais (GSIs - Global Secondary Indexes) adequados para aprimorar a funcionalidade de pesquisa da aplicação. Para este laboratório, você trabalhará com um banco de dados de amostra chamado movies (filmes). Lembre-se de que as tabelas do DynamoDB são incrivelmente flexíveis e não têm um “esquema” tradicional, como bancos de dados relacionais. Esta tabela de filmes tem uma chave de partição (HASH) de “ano” (Número) e uma chave de classificação (RANGE) de “título” (String). A lista completa de atributos que preenchem o banco de dados para este laboratório corresponde a estas características:
ano – Número (chave de partição ou HASH)
título – String (chave de Classificação ou RANGE)
atores – String
diretores – String
gênero – String
image_url – String
enredo – String
classificação – Número
avaliação – Número
data de lançamento – String
running_time_secs – Número
Na prática, os dados dos atributos atores e diretores foram formatados para serem legíveis como o tipo dict do python e, portanto, representam mais de um artista real. Por exemplo, o atributo atores para um determinado item é uma string como [{”S”: “John Doe”}, {”S”: “Jane Doe”}.]
Objetivos
No final deste laboratório, você deverá ser capaz de fazer o seguinte:
- Usar o SDK para criar Índices secundários locais (LSIs) e Índices secundários globais (GSIs).
- Usar o SDK para verificar os dados e retornar resultados filtrados.
- Usar o SDK para realizar consultas avançadas de busca de dados, observando as diferenças de desempenho entre métodos.
Pré-requisitos de conhecimentos técnicos
Para concluir com êxito este laboratório, você deve estar familiarizado com a navegação básica do Console de gerenciamento da AWS, os conceitos de banco de dados NoSQL, a linguagem de programação Python e a edição de scripts usando um editor de texto.
Lista de ícones
Vários ícones são usados neste laboratório para chamar a atenção para determinados aspectos do guia. A lista a seguir explica a finalidade de cada ícone:
- Atenção: informações de interesse ou importância especial (não tão importantes a ponto de causar problemas com o equipamento ou dados caso você não as veja, mas que podem resultar na necessidade de repetir determinadas etapas).
- Comando: um comando que você precisa executar.
- Saída esperada: um exemplo que você pode usar para verificar a saída de um comando ou arquivo editado.
- Observação: uma sugestão, dica ou orientação importante.
- Saiba mais: onde encontrar mais informações.
- Teste de conhecimento: uma oportunidade de verificar seu conhecimento e testar o que você aprendeu.
- Tarefa concluída: um ponto de conclusão ou de resumo no laboratório.
- Aviso: uma ação que seja irreversível e que possa afetar a falha de um comando ou processo (inclusive avisos sobre configurações que não possam ser alteradas depois de definidas).