Um banco de dados NoSQL é usado para armazenar dados não estruturados. Dados não estruturados são informações que não se encaixam em uma restrição. Os bancos de dados NoSQL armazenam dados em um formato não relacional, o que significa que você não precisa encaixá-los em colunas predefinidas. Um banco de dados NoSQL é frequentemente usado quando os desenvolvedores não conhecem a estrutura de dados de uma fonte, por isso armazenam dados em um banco de dados NoSQL sem restrições relacionais de banco de dados. Por exemplo, em vez de armazenar dados em campos, os desenvolvedores podem armazená-los em um documento JSON.
Os formatos não estruturados vêm em seus próprios tipos, como documento, valor-chave, gráfico e família de colunas. O fornecedor NoSQL escolhido armazenará dados em um desses formatos, mas todos eles se expandem para silos de armazenamento corporativo capazes de lidar com grandes quantidades de dados. Dependendo do fornecedor NoSQL, a consulta usa uma sintaxe de consulta diferente dos bancos de dados SQL padrão.
Há vários bancos de dados NoSQL disponíveis no ecossistema da AWS, por isso abordaremos alguns bancos comuns para ajudar você a escolher a solução certa para seu projeto.
Visão geral dos bancos de dados AWS NoSQL
A Amazon Web Services (AWS) tem vários bancos de dados NoSQL para você escolher. É importante pesquisar cada fornecedor e o que um banco de dados oferece para garantir que ele seja adequado para seu projeto de negócios, incluindo aplicativos de código aberto. Incluímos vários bancos de dados AWS NoSQL com suas vantagens e desvantagens.
Amazon DynamoDB
O Amazon DynamoDB é um banco de dados serverless baseado em nuvem. Em um ambiente sem servidor, o programa de banco de dados e o hardware são executados inteiramente na nuvem. Isso significa que sua empresa não precisa gerenciar uma máquina virtual, um servidor dedicado ou qualquer configuração para um ambiente híbrido local. Isso é benéfico para aplicativos de código aberto.
Os desenvolvedores usam uma API para enviar consultas ao banco de dados DynamoDB sem servidor. O banco de dados envia uma resposta JSON para o aplicativo do desenvolvedor. Os administradores podem expandir horizontalmente o banco de dados de maneira dinâmica e automática, o que significa adicionar servidores, conforme as cargas aumentam. Use o DynamoDB quando tiver aplicativos que precisam armazenar grandes quantidades de dados e suspeitar que os requisitos de banco de usuários e armazenamento de dados do aplicativo aumentarão rapidamente.
Amazon DocumentDB
Para desenvolvedores familiarizados com o MongoDB, o Amazon DocumentDB é semelhante e modelado de acordo com a estrutura do MongoDB. O Amazon DocumentDB é executado em uma nuvem virtual para que possa ser separado de outros servidores em seu ambiente usando abstração de dados. Por exemplo, você pode usar o Amazon DocumentDB para um aplicativo voltado para o público em que você precisa de uma zona desmilitarizada (DMZ) para se proteger do tráfego da Internet. O Amazon DocumentDB seria um bom recurso para essa arquitetura.
O Amazon DocumentDB armazena dados como um objeto JSON, o que facilita a análise pelos desenvolvedores. Em vez de reformatar dados para inserir no banco de dados, os desenvolvedores podem usar o objeto JSON original coletado de uma fonte. A capacidade de computação é dissociada do armazenamento para que os administradores possam expandir o armazenamento sem aumentar a capacidade de computação, economizando custos.
Amazon Neptune
O banco de dados Amazon Neptune NoSQL funciona com uma estrutura de gráfico. Um banco de dados gráfico armazena dados em nós e, em seguida, cria relacionamentos entre cada nó para consulta e conexão. Os aplicativos de mídia social usam um banco de dados gráfico. Cada comentário de perfil pode ser vinculado a vários pontos de dados para determinar se seu projeto está vinculado de alguma forma a outros, incluindo categorias de interesses.
Empresas com grandes bancos de dados globais podem aproveitar o Amazon Neptune. Também é benéfico para aplicativos de inteligência artificial (AI) e AI generativa (GenAI). A Amazon afirma que o Neptune pode lidar com mais de 100.000 consultas por segundo e expandir para 128TiB por cluster.
Amazon Keyspaces
Como o Amazon Neptune, o Amazon Keyspaces também é um banco de dados de gráficos. Empresas com coleta de dados IoT ou dados massivos coletados de várias fontes podem se beneficiar do Amazon Keyspaces. Por exemplo, um fabricante com dados de IoT coletados para monitorar máquinas pode usar o Amazon Keyspaces para armazenar, analisar e recuperar dados mais rapidamente. O setor de jogos também usa o Amazon Keyspaces para coletar dados de jogadores e gerenciar aplicativos necessários para resposta rápida à entrada do jogador.
Os dados de série temporal são frequentemente armazenados nos bancos de dados da Amazon Keyspaces, e esse tipo de dado é usado em aplicativos em tempo real. Toda solução de banco de dados da AWS oferece tempos de resposta rápidos, mas o Amazon Keyspaces tem a menor latência com respostas em um milissegundo. Ela também se expande conforme a capacidade de computação é necessária e mais capacidade de armazenamento é necessária.
Comparação de bancos de dados AWS NoSQL
Todos os bancos de dados AWS NoSQL são compatíveis com armazenamento de dados de grande porte, mas a principal diferença é a forma como os dados são armazenados. Um banco de dados de documentos, como DynamoDB e DocumentDB, armazena informações em um formato JSON. Os bancos de dados de documentos são os mais intuitivos para a maioria dos desenvolvedores familiarizados com bancos de dados relacionais. Os bancos de dados de gráficos são benéficos quando você tem uma grande quantidade de dados relacionados, e o banco de dados de série temporal Amazon Keyspaces é melhor para aplicativos em tempo real.
Todos os quatro bancos de dados da AWS são compatíveis com expansão horizontal e execução na nuvem, mas o DynamoDB sem servidor exige menos sobrecarga de gerenciamento da equipe. A AWS também oferece suporte à segurança e ao monitoramento necessários para bancos de dados que armazenam dados confidenciais e regulamentações de conformidade.
Conclusão
Criar um aplicativo geralmente requer um banco de dados, e a AWS tem uma solução para qualquer requisito de armazenamento corporativo em grande escala. Como elas são executadas na nuvem, as empresas sabem que seus bancos de dados terão alta disponibilidade com pouca latência, desde que sua empresa implante recursos suficientes para lidar com consultas e armazenamento. A Pure Storage tem a capacidade de armazenamento para qualquer aplicativo corporativo com seu armazenamento em bloco na nuvem e é compatível com os bancos de dados da AWS mencionados neste artigo.