Eu postei um tópico no Twitter com algumas reflexões sobre como mudar de RDBMS para o DynamoDB. Algumas pessoas me pediram para transformá-lo em um artigo de blog para facilitar o acompanhamento. Então aqui está... com alguns passos de bônus no final. Bom proveito! 😁
https://twitter.com/jeremy_daly/status/1137002244157710336
Eu tenho passado muito tempo ultimamente com o DynamoDB em meus aplicativos serverless, então pensei em compartilhar meu guia infalível para migrar de RDBMS para DynamoDB. Então aqui está:
Etapa 01
Aceite o fato de que a Amazon.com pode acomodar 90% do fluxo de trabalho do site/sistema de varejo em DynamoDB, então você provavelmente também pode. 🤔
Etapa 02
Crie um Modelo de Relacionamento de Entidade, assim como você faria se estivesse projetando um banco de dados relacional tradicional. 👩💻
Etapa 03
Crie uma lista de todos os seus padrões de acesso. Se "pesquisar" for um padrão de acesso, não se preocupe, nós lidaremos com isso na etapa 17. 😉
Etapa 04
Reduza os padrões de acesso para o mínimo exigido pelos usuários do aplicativo. Análise de dados e as tarefas administrativas, como analytics, agregações, acionadores de tarefas, etc., são importantes, mas provavelmente não são necessárias para o usuário final interagir com seu aplicativo em tempo real. 🚫📊
Etapa 05
Determine se os padrões de acesso do usuário exigem consultas ad hoc que precisem reformular os dados. Provavelmente a resposta é não. No entanto, se você estiver criando um aplicativo OLAP, o NoSQL não é uma boa escolha. Dê um tapinha nas suas costas por tentar e use outra tecnologia. 🤷♂️
Etapa 06
Coloque a cabeça no micro-ondas por 3 segundos, ou o tempo que for necessário, para esquecer o que normalização dos dados e a terceira forma normal são. 🤤
Etapa 07
Assista a apresentação Advanced Design Patterns for Amazon DynamoDB (DAT403-R) de Rick Houlihan para o Amazon DynamoDB na AWS re:Invent 2017. 😯
https://www.youtube.com/watch?v=jzeKPKpucS0
Etapa 08
Assista a apresentação Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401) de Rick Houlihanpara o Amazon DynamoDB na AWS re:Invent 2018. 😮
https://www.youtube.com/watch?v=HaEPXoXVf2k
Etapa 09
Limpe todas as minúsculas partes do seu cérebro espalhadas pela sala, depois reagrupe-as e assista tudo novamente, desta vez a meia velocidade. Tome notas. 🤯
Etapa 10
Leia o guia Best Practices for DynamoDB no site da AWS. E em seguida, leia-o de novo. 🤓
Etapa 11
Planeje uma tabela DynamoDB que usa índices sobrecarregados para armazenar todas as suas entidades usando Composite Sort Keys (quando necessário), adicionando LSIs e GSIs adicionais (novamente, quando necessário) para acomodar os padrões de acesso acima mencionados. 😳(isso fará mais sentido quando você passar pelas etapas anteriores).
Etapa 12
Escreva algumas consultas de exemplo e teste seus padrões de acesso em relação ao design de sua tabela. Perceba que você errou completamente na primeira vez, respire, tome uma cerveja (ou duas) e volte para a Etapa 07. 😞🍺
Etapa 13
Teste seus padrões de acesso em relação ao seu novo design de tabela. Itere. Teste novamente. Itere e teste novamente. 🤨
Etapa 14
Repita a Etapa 13 até que você esteja 95% confiante de que você tem o design da sua tabela corretamente. 😀
Etapa 15
Você fez isso (bem, a primeira parte de qualquer maneira)! 🎉 Celebre sua conquista (talvez tenha outra cerveja) e conecte os padrões de acesso do DynamoDB ao AppSync ou crie uma API com o API Gateway. Lembre-se de usar a Transactions API quando necessário. 😎
Etapa 16
Teste, teste e teste novamente. E quando terminar de testar, teste novamente. E certifique-se de escrever alguns testes para que você possa testá-lo automaticamente, de novo e de novo. ✅
Etapa 17
Ative o DynamoDB Streams e use-os para gerar/atualizar agregações e replicar dados para relatórios, indexação de pesquisa e/ou outros requisitos do aplicativo. (As funções do Lambda são ótimas para stored procedures, por exemplo) 🚀
Etapa 18
Teste seus DynamoDB Streams NA NUVEM para garantir que os dados estejam fluindo corretamente e que os recursos alvos estão sendo preenchidos/atualizados corretamente. Escreva alguns testes para automatizar isso. ☁️
Etapa 19
Cruze os dedos, publique na produção. 🤞
Etapa 20
Lucre! 💰
Isso foi obviamente um pouco simplificado, mas espero que você comece sua jornada para descobrir o poder do DynamoDB. Se não conseguir no começo, basta seguir em frente. Ele acabará "clicando" (a menos que você tenha deixado a cabeça no microondas por muito tempo). Boa sorte! 👍
Etapa Bonus
Houve uma tonelada de ótimos comentários no Twitter com sugestões para material de aprendizado adicional do DynamoDB. Se você quiser ir ainda mais fundo no DynamoDB, aqui estão alguns recursos adicionais que farão seu cérebro queimar ainda mais. 🔥
https://www.youtube.com/watch?v=Rmf8mrJ3X2s
https://www.youtube.com/watch?v=KlhS7hSnFYs
- Simplifique a extração e análise de dados do Amazon DynamoDB usando o AWS Glue e o Amazon Athena
- Como executar análises avançadas e criar visualizações dos dados do Amazon DynamoDB usando a Amazon Athena
- DynamoDB, explained por Alex DeBrie
- Do banco de dados relacional à tabela única no DynamoDB: uma exploração passo a passo por Forrest Brazeal
Você conhece mais recursos incríveis do DynamoDB? Por favor, sinta-se livre para me enviar no Twitter!
Créditos ⭐️
- How to switch from RDBMS to DynamoDB in 20 easy steps, escrito originalmente por Jeremy Daly
Top comments (0)