Os bancos de dados NoSQL permitem armazenar dados com esquemas flexíveis e uma variedade de modelos de dados. Esses bancos de dados são relativamente fáceis para desenvolvedores usarem e possuem o alto desempenho e a funcionalidade necessários para aplicações modernas. NoSQL AWS databases podem armazenar grandes volumes de dados enquanto ainda fornecem baixa latência.
Como parte das ofertas de banco de dados da AWS, há seis tipos de bancos de dados NoSQL que você pode selecionar, juntamente com uma variedade de serviços de banco de dados gerenciados e autogerenciados. Esses serviços de banco de dados são projetados para suportar suas cargas de trabalho nativas da nuvem e se integrar perfeitamente aos recursos existentes da AWS.
Neste artigo, você conhecerá:
NoSQL é um termo originalmente cunhado por Carlo Strozzi em 1998 para se referir a um banco de dados relacional de código aberto que não utilizava SQL. Depois, em 2009, o termo voltou a ser usado para se referir, de forma geral, a bancos de dados não relacionais. Esse termo pode significar tanto "no SQL" quanto "not only SQL", dependendo da construção do banco de dados ao qual é aplicado.
O desenvolvimento de bancos de dados NoSQL surgiu do crescimento dos dados na web, que criou a necessidade de processamento mais rápido e de dados não estruturados. Esses sistemas podem ser construídos em arquitetura distribuída, permitindo escalabilidade e processamento próximo à fonte de dados ou ao usuário, o que significa maior velocidade. Isso foi especialmente importante para o crescimento de big data e levou à adoção de sistemas NoSQL por muitas empresas de tecnologia, incluindo Google, Facebook e Twitter.
Existem seis tipos de modelos de banco de dados NoSQL que você pode escolher na AWS.
Bancos de dados chave-valor permitem que você armazene dados em pares contendo um ID único e um valor de dado. Isso proporciona uma estrutura de armazenamento flexível, já que os valores não são atribuídos a uma tabela e podem conter qualquer quantidade ou estrutura de dados. Esses bancos de dados podem gerenciar grandes volumes de dados ou solicitações. Casos de uso para bancos de dados chave-valor incluem aplicativos de jogos, eCommerce sistemas e aplicações com alto tráfego.
Serviço da AWS: Amazon DynamoDB
Bancos de dados de documentos são estruturados de forma semelhante aos bancos de dados chave-valor, exceto que as chaves e valores são armazenados em documentos escritos em uma linguagem de marcação como JSON, XML ou YAML. Você pode usar esses bancos de dados para armazenar hierarquias de dados vinculando documentos. Os casos de uso para bancos de dados de documentos incluem perfis de usuários, catálogos e gerenciamento de conteúdo.
Serviço da AWS:Amazon DocumentDB, DynamoDB
Bancos de dados de colunas largas são baseados em tabelas, mas sem um formato de coluna rígido. As linhas não precisam ter um valor em cada coluna e segmentos de linhas e colunas contendo diferentes formatos de dados podem ser combinados. Casos de uso para bancos de dados de colunas largas incluem otimização de rotas, gerenciamento de frotas e aplicações de manutenção industrial.
Serviço da AWS: Amazon Keyspaces (para Apache Cassandra)
Bancos de dados de grafos são estruturados como coleções de arestas e nós. Os nós são os valores de dados individuais e as arestas são os relacionamentos entre esses valores. Esses bancos de dados permitem rastrear dados intrincadamente relacionados em uma rede orgânica, em vez de uma tabela estruturada. Casos de uso para bancos de dados de grafos incluem mecanismos de recomendação, redes sociais e detecção de fraudes.
Serviço da AWS: Amazon Neptune
Bancos de dados de séries temporais armazenam dados em fluxos ordenados por tempo. Os dados não são classificados por valor ou ID, mas pelo horário de coleta, ingestão ou outros registros de data e hora incluídos nos metadados. Esses bancos de dados permitem gerenciar e consultar dados com base em intervalos de tempo. Os casos de uso para bancos de dados de séries temporais incluem telemetria industrial, DevOps e aplicações da Internet das Coisas (IoT).
Serviço da AWS:Amazon Timestream
Bancos de dados de registro (ledger databases) são baseados em logs que registram eventos relacionados a valores de dados. Esses logs são transparentes, imutáveis e podem ser verificados criptograficamente para comprovar a autenticidade e integridade dos dados. Casos de uso para bancos de dados de registro incluem sistemas bancários, registros, cadeias de suprimentos e sistemas de registro.
Serviço da AWS:Amazon Quantum Ledger Database (QLDB)
Você pode escolher um serviço de banco de dados com base apenas no tipo de banco de dados que precisa. No entanto, é útil entender os recursos dos serviços oferecidos pela AWS antes de fazer sua escolha. Se esses serviços não fornecerem os recursos ou as capacidades de que você precisa, você pode procurar opções de terceiro.
Amazon DynamoDB é um banco de dados de documento e chave-valor. É um serviço totalmente gerenciado que inclui recursos para backup e restauração, armazenamento em cache em memória, segurança e distribuição multirregional e multimaster. DynamoDB oferece suporte a transações de atomicidade, consistência, isolamento, durabilidade (ACID) e criptografia por padrão.
Amazon ElastiCache é um armazenamento de dados em memória que você pode usar no lugar de um banco de dados baseado em disco. Ela oferece suporte totalmente gerenciado para Memcached e Redis, e permite escalabilidade com particionamento de memória. Ela foi projetada para suportar tempos de resposta inferiores a um milissegundo e é normalmente usada para filas, análise de dados em tempo real, armazenamento em cache e armazenamento de sessões.
O Amazon Neptune é um serviço de banco de dados de grafos totalmente gerenciado e otimizado para armazenar dados em bilhões de relacionamentos. Ele oferece suporte a uma variedade de modelos de grafos e linguagens de consulta, incluindo RDF da W3C, Property Graph, SPARQL e TinkerPop Gremlin.
O Neptune inclui recursos para recuperação ponto no tempo, replicação de dados entre várias zonas, backups contínuos e réplicas de leitura. Ele suporta transações ACID e fornece criptografia em trânsito e em repouso.
Amazon Timestream é um banco de dados de séries temporais totalmente gerenciado, com um mecanismo de processamento de consultas adaptável. É um serviço sem servidor que gerencia automaticamente a manutenção e o provisionamento de hardware e software para você.
Timestream inclui recursos para compressão de dados automatizada, hierarquização, retenção e agregação. Também inclui análise incorporada para aproximação, suavização e interpolação de dados.
O Amazon QLDB é um banco de dados de registro que você pode usar para rastrear alterações de dados. Ele é totalmente gerenciado e projetado para permitir que você evite as configurações complexas necessárias para gerenciar dados de registro com bancos de dados relacionais ou blockchain.
O QLDB oferece uma API semelhante a SQL, suporte completo a transações e um modelo de dados de documento flexível. Inclui recursos para escalonamento automático, transações compatíveis com ACID, disponibilidade em várias zonas e streaming de dados com Kinesis Data Streams.
Amazon DocumentDB é um banco de dados de documentos totalmente gerenciado e compatível com MongoDB. A arquitetura do DocumentDB separa recursos de computação e storage para maior escalabilidade e flexibilidade. Ele também inclui suporte para até 15 réplicas de leitura, replicação de dados para durabilidade em três zonas de disponibilidade e uso gratuito do AWS Database Migration Service.
Amazon Keyspaces é um banco de dados de colunas largas gerenciado compatível com Apache Cassandra. Você pode usá-lo para migrar cargas de trabalho e aplicativos Cassandra e continuar usando o código e as ferramentas nativas Cassandra. Ele inclui recursos de escalabilidade automática e permite que você selecione entre recursos sob demanda ou provisionados.
O NetApp Cloud Volumes ONTAP, a solução de gerenciamento de storage de nível empresarial líder do setor, oferece serviços de gerenciamento de storage seguros e comprovados na AWS, Azure e Google Cloud. O Cloud Volumes ONTAP suporta até 368 TB e vários casos de uso, como serviços de arquivo, bancos de dados, DevOps ou qualquer outra carga de trabalho empresarial, com um conjunto robusto de recursos, incluindo alta disponibilidade, proteção de dados, eficiências de storage, integração com Kubernetes e muito mais.
Em particular, Cloud Volumes ONTAP ajuda a lidar com os desafios das cargas de trabalho de banco de dados na nuvem, e a preencher a lacuna entre as capacidades do seu banco de dados baseado em nuvem e os recursos da nuvem pública em que ele é executado.
Cloud Volumes ONTAP oferece suporte a recursos avançados para o gerenciamento de storage SAN na nuvem, atendendo a sistemas de banco de dados NoSQL, bem como a compartilhamentos NFS que podem ser acessados diretamente de clusters de análise de dados de big data na nuvem.
Além disso, os recursos de eficiência de storage incorporados têm um impacto direto nos custos para NoSQL em implantações na nuvem. A proteção de dados e a flexibilidade proporcionadas por recursos como snapshots e clonagem de dados dão aos administradores de bancos de dados NoSQL e engenheiros de big data o poder de gerenciar grandes volumes de dados de forma eficaz.