Introdução
Os aplicativos baseados na Internet enfrentam expansão devido ao crescimento do número de usuários junto com a crescente complexidade do tráfego de dados.
Junto com a complexidade dos negócios modernos, surge a necessidade de processar dados de forma mais rápida e robusta. Por causa disso, os bancos de dados transacionais padrão nem sempre são os mais adequados.
Em vez disso, bancos de dados como DynamoDB foram concebidos para gerir o novo fluxo de dados. DynamoDB é um sistema de banco de dados Amazon Internet Providers que oferece suporte a estruturas de dados e serviços em nuvem com valor-chave. Ele permite aos usuários o benefício de opções de escalonamento automático, cache na memória, backup e restauração para todos os seus aplicativos em escala de Web usando o DynamoDB.
Mas por que você usaria o DynamoDB e quais são alguns exemplos de casos de uso?
Neste publish, abordaremos exatamente isso. Apresentaremos os benefícios de usar o DynamoDB e descreveremos alguns casos de uso, bem como alguns dos desafios.
Benefícios do DynamoDB para operações
Primeiro, vamos discutir por que o DynamoDB pode ser útil.
Desempenho e escalabilidade
Aqueles que trabalharam no setor de TI sabem que dimensionar bancos de dados pode ser difícil e arriscado. O DynamoDB oferece a capacidade de escalonamento automático rastreando o quão próximo o seu uso está dos limites superiores. Isso pode permitir que seu sistema se ajuste de acordo com a quantidade de tráfego de dados, ajudando você a evitar problemas de desempenho e ao mesmo tempo reduzindo custos.
Acesso às regras de controle
À medida que os dados se tornam mais específicos e pessoais, torna-se mais importante ter um controle de acesso eficaz. Você deseja aplicar facilmente o controle de acesso às pessoas certas, sem criar gargalos no fluxo de trabalho de outras pessoas. O controle de acesso refinado do DynamoDB permite que o proprietário da tabela obtenha um nível mais alto de controle sobre os dados da tabela.
Persistência de dados de fluxo de eventos
Os streams do DynamoDB permitem que os desenvolvedores recebam e atualizem dados em nível de merchandise antes e depois de alterações nesses dados. Isso ocorre porque os streams do DynamoDB fornecem uma sequência ordenada por tempo de alterações feitas nos dados nas últimas 24 horas. Com fluxos, você pode usar facilmente a API para fazer alterações em um armazenamento de dados de pesquisa de texto completo, como Elasticsearchenvie backups incrementais para o Amazon S3 ou mantenha um cache de leitura atualizado.
Hora de viver
TTL ou Time-to-Dwell é um processo que permite definir carimbos de information/hora para exclusão de dados expirados de suas tabelas. Assim que o carimbo de information/hora expirar, os dados marcados para expirar serão excluídos da tabela. Por meio dessa funcionalidade, os desenvolvedores podem acompanhar os dados expirados e excluí-los automaticamente. Esse processo também ajuda a reduzir o armazenamento e os custos do trabalho de exclusão handbook de dados.
Armazenamento de itens de esquema inconsistentes
Se for necessário que seus objetos de dados sejam armazenados em esquemas inconsistentes, o DynamoDB poderá gerenciar isso. Como o DynamoDB é um modelo de dados NoSQL, ele lida com dados menos estruturados com mais eficiência do que um modelo de dados relacional, por isso é mais fácil lidar com volumes de consulta e oferece consultas de alto desempenho para armazenamento de itens em esquemas inconsistentes.
Gerenciamento automático de dados
O DynamoDB cria constantemente um backup de seus dados para fins de segurança, o que permite que os proprietários tenham os dados salvos na nuvem.
5 casos de uso para DynamoDB
Um dos motivos pelos quais as pessoas não usam o DynamoDB é porque não têm certeza se ele é adequado para seus projetos. Queríamos compartilhar alguns exemplos de empresas que estão usando o DynamoDB para ajudar a gerenciar o fluxo maior de dados em alta velocidade.
Duolingo
Duolingo, um website de aprendizagem on-line, usa DynamoDB para armazenar aproximadamente 31 bilhões de objetos de dados em seu servidor net.
Essa startup tem cerca de 18 milhões de usuários mensais que realizam cerca de seis bilhões de exercícios no aplicativo Duolingo.
Porque seu aplicativo tem 24.000 unidades de leitura por segundo e 3.300 unidades de gravação por segundo O DynamoDB acabou sendo a escolha certa para eles. A equipe tinha muito pouco conhecimento sobre DevOps e gerenciamento de sistemas de grande escala quando começou. Devido ao uso world do Duolingo e à necessidade de dados personalizados, o DynamoDB é o único banco de dados capaz de atender às suas necessidades, tanto em termos de armazenamento de dados quanto de DevOps.
Além disso, o fato de o DynamoDB ser dimensionado automaticamente significava que essa pequena startup não precisava usar seus desenvolvedores para ajustar manualmente o tamanho. O DynamoDB foi simplificado e dimensionado para atender às suas necessidades.
Liga Principal de Beisebol (MLB)
Há muitas coisas que consideramos garantidas quando assistimos a um jogo de beisebol.
Por exemplo, você sabia que existe um sistema de radar Doppler localizado atrás da base, coletando amostras da posição da bola 2.000 vezes por segundo? Ou que existem dois dispositivos de imagem estereoscópica, normalmente posicionados acima da linha da terceira base, que amostram as posições dos jogadores no campo 30 vezes por segundo?
Todas essas transações de dados exigem um sistema rápido tanto em leitura quanto em gravação. O MLB usa uma combinação de componentes AWS para ajudar a processar todos esses dados. DynamoDB desempenha um papel basic para garantir que as consultas sejam rápidas e confiáveis.
Corporação Hess
A Hess Company, uma conhecida empresa de energia, tem trabalhado na exploração e produção de gás pure e petróleo bruto.
Este negócio exige a elaboração de estratégias de planejamento financeiro diferenciado que impactam a gestão como um todo. Para agilizar seus processos de negócios, a Hess recorreu ao DynamoDB, transferindo seu projeto de E&P (exploração e produção de energia) para a AWS.
Agora, o DynamoDB ajudou a empresa a separar os dados dos potenciais compradores dos sistemas de negócios. Além disso, o infraestrutura operacional do DynamoDB os ajuda a lidar com os dados de maneira eficaz e a obter resultados otimizados e bem gerenciados.
GE Saúde
A GE é conhecida por equipamentos de imagens médicas que auxiliam no diagnóstico por meio de radiofármacos e agentes de imagem.
A empresa usou o DynamoDB para aumentar o valor do cliente, possibilitado pelo acesso, armazenamento e computação na nuvem.
O GE Saúde Nuvem fornece um portal único para profissionais de saúde em todos os EUA processarem e compartilharem imagens de casos de pacientes. Esta é uma grande vantagem para diagnósticos. Os médicos podem melhorar os tratamentos através do acesso a esses dados de saúde.
Docomo
A NTT Docomo, uma in style operadora de telefonia móvel, construiu uma reputação por seus serviços de reconhecimento de voz, que precisam do melhor desempenho e capacidade.
Para atender a esses requisitos, a Docomo recorreu ao DynamoDB, que ajudou a empresa a escalar para um melhor desempenho.
Com sua crescente base de clientes, A Docomo colocou em uso uma arquitetura de reconhecimento de voz, que os ajuda a ter um melhor desempenho mesmo durante picos de tráfego.
Junto com todos esses casos, as empresas de tecnologia de publicidade também dependem fortemente do Amazon DynamoDB para armazenar diferentes tipos de dados de advertising and marketing.
Esses dados incluem eventos de usuários, perfis de usuários, hyperlinks visitados e cliques. Às vezes, esses dados também incluem segmentação de anúncios, atribuição e lances em tempo actual.
Assim, as empresas de tecnologia de publicidade exigem baixa latência, alta taxa de solicitação e alto desempenho sem precisar investir pesadamente em operações de banco de dados.
É por isso que as empresas recorrem ao DynamoDB. Ele não apenas oferece alto desempenho, mas também, com sua opção de replicação de dados, permite que as empresas implantem seus aplicativos em tempo actual em mais de uma localização geográfica.
No entanto, apesar de todos os benefícios, o DynamoDB nem sempre é o banco de dados mais fácil de usar quando se trata de análises.
Desafios da análise de dados operacionais do DynamoDB
O foco do DynamoDB é fornecer transações rápidas de dados para aplicativos. O que torna o DynamoDB rápido no nível da transação pode, na verdade, atrapalhá-lo do ponto de vista da análise de dados. Aqui estão alguns dos principais obstáculos que você encontrará ao começar a analisar dados no DynamoDB.
Processamento Analítico On-line (OLAP)
Processamento analítico on-line e armazenamento de dados os sistemas geralmente exigem grandes quantidades de agregação, bem como a junção de tabelas dimensionais, que são fornecidas em uma visão normalizada ou relacional dos dados.
Isso não é possível no caso do DynamoDB, pois é um banco de dados não relacional que funciona melhor com tabelas de dados formatadas em NoSQL. Além disso, as estruturas gerais de dados para análise nem sempre são bem suportadas em bancos de dados de valores-chave. Por sua vez, pode ser mais difícil obter dados e executar grandes cálculos.
Consulta e SQL
Além de os processos OLAP serem difíceis de executar no DynamoDB, devido ao foco do DynamoDB ser operacional, o DynamoDB não faz interface com SQL.
Essa é uma questão importante porque a maioria dos talentos analíticos está familiarizada com consultas SQL e não com consultas do DynamoDB. Por sua vez, isso dificulta a interação com os dados e a formulação de questões analíticas críticas.
As consequências disso podem ser a necessidade de contratar desenvolvedores apenas para extrair os dados, o que é caro, ou a impossibilidade de analisar os dados.
Indexar é caro
Outro problema quando se trata de análise é o processamento rápido de grandes conjuntos de dados. Muitas vezes isso pode ser atenuado com índices.
Nesse caso, o problema é que os índices secundários globais do DynamoDB exigem capacidade adicional de leitura e gravação provisionada, gerando custos adicionais. Isso significa que suas consultas serão executadas mais lentamente ou você incorrerá em custos maiores.
Às vezes, esses desafios podem ser um obstáculo para algumas empresas decidirem se desejam ou não assumir o risco de desenvolver no DynamoDB.
É aqui que os mecanismos de análise como Conjunto de foguetes entre. Eles não apenas fornecem um Camada SQL isso facilita o acesso aos dados operacionais, mas também fornece a capacidade de ingerir os dados em sua camada de dados – o que oferece suporte a junções com dados de outras fontes de dados da AWS, como Redshift e S3.
Descobrimos que ferramentas como essa são úteis porque podem reduzir a necessidade de desenvolvedores e engenheiros de dados que possam interagir com o DynamoDB. Em vez disso, você pode fazer seu trabalho analítico e responder às questões importantes sem ser impedido.
Para aqueles que já trabalharam em uma equipe analítica, pode ser muito difícil explicar à alta administração por que os dados existem, mas ainda assim você não consegue fornecer insights. Usar camadas como Rockset pode eliminar a complexidade.
Se você gostaria de ver o Rockset e o DynamoDB em ação, você deveria dar uma olhada nosso breve tour pelo produto.
Conclusão
Por ser um banco de dados não relacional, o DynamoDB é um sistema confiável que ajuda pequenas, médias e grandes empresas a dimensionar suas aplicações.
Ele vem com opções para fazer backup, restaurar e proteger dados e é ótimo para aplicativos móveis e da net. Com exceção de serviços especiais como transações financeiras e assistência médica, você pode redesenhar praticamente qualquer aplicativo com o DynamoDB.
Este banco de dados não relacional é extremamente conveniente para construir arquitetura orientada a eventos e aplicativos fáceis de usar. Quaisquer deficiências nas cargas de trabalho analíticas são facilmente corrigidas com o uso de uma camada SQL focada em análise, tornando o DynamoDB um grande trunfo para os usuários.
Ben passou sua carreira focado em todas as formas de dados. Ele se concentrou no desenvolvimento de algoritmos para detectar fraudes, reduzir a readmissão de pacientes e redesenhar as políticas das seguradoras para ajudar a reduzir o custo geral dos cuidados de saúde. Ele também ajudou a desenvolver análises para operações de advertising and marketing e TI, a fim de otimizar recursos limitados, como funcionários e orçamento. Ben presta consultoria privada sobre problemas de ciência e engenharia de dados. Ele tem experiência tanto no trabalho prático com problemas técnicos quanto em ajudar equipes de liderança a desenvolver estratégias para maximizar seus dados.