- O que é a computação em nuvem?›
- Hub de conceitos de computação em nuvem›
- Bancos de dados›
- O que é armazenamento de banco de dados?
O que é armazenamento de banco de dados?
Tópicos da página
- O que é armazenamento de banco de dados?
- Como funciona o armazenamento de banco de dados relacional?
- Como funciona o armazenamento de banco de dados não relacional?
- Quais são os outros tipos de armazenamento de banco de dados?
- Como escolher entre os tipos de armazenamento de banco de dados?
- Como a AWS pode atender às suas necessidades de armazenamento de banco de dados?
O que é armazenamento de banco de dados?
Os dados podem ser armazenados em um banco de dados para recuperação e análise futuras. Há muitas opções diferentes de armazenamento de banco de dados com compensações de controle e flexibilidade. Este guia examina vários modelos de armazenamento na AWS e oferece orientação sobre como selecionar o mais adequado para seu caso de uso específico.
Todos os dados digitais devem ser armazenados em um dispositivo físico em algum lugar, como em RAM, cache, registradores ou em unidades de estado sólido (SSDs) ou unidades de disco rígido (HDDs), em armazenamento conectado à rede (NAS) e redes de área de armazenamento (SANs) ou em outros tipos de armazenamento físico. O armazenamento de dados na nuvem depende de dispositivos físicos subjacentes que executam o armazenamento lógico por meio de uma camada de virtualização.
Para que a maioria dos dados corporativos seja útil, você deve armazená-los em bancos de dados. Um sistema de gerenciamento de banco de dados é uma camada de software que atua sobre os dados armazenados. Essa camada de software permite que você execute operações como criar bancos de dados, consultar e analisar dados e atualizar e excluir dados. O software do banco de dados pode ser armazenado fisicamente separado dos dados em si.
Como funciona o armazenamento de banco de dados relacional?
Os bancos de dados relacionais armazenam dados em formato de tabela, consistindo em linhas e colunas, em que cada linha representa um registro e cada coluna dentro desse registro é um atributo. A estrutura de dados da tabela do banco de dados armazena registros comuns, repetidos e relacionados, como detalhes do cliente ou registros de compras. Cada tabela pode ser associada a outra tabela como uma relação: um registro de compra pode ter uma relação com um cliente associado.
O software de banco de dados relacional executado nessas tabelas gerencia as associações por meio de chaves primárias e estrangeiras. Ele permite que os usuários realizem operações de criação, leitura, atualização, exclusão e gravação e consultem os dados nas tabelas usando o Structured Query Language (SQL).
O armazenamento de bancos de dados relacionais e seus dados estruturados subjacentes depende de qual sistema de gerenciamento de banco de dados relacional (RDBMS) foi usado para criar o banco de dados, pois diferentes produtos de software abordam o armazenamento de dados de forma diferente. Os exemplos incluem SQL Server, MySQL, PostgreSQL, Oracle e MariaDB.
Armazenamento de banco de dados relacional gerenciado
A AWS oferece armazenamento gerenciado de banco de dados relacional e sistemas operacionais para vários sistemas de gerenciamento de bancos de dados relacionais. Os benefícios de usar um serviço gerenciado incluem a redução do tempo gasto em gerenciamento e manutenção da infraestrutura e maior segurança.
Amazon Relational Database Service
O Amazon Relational Database Service (RDS) é um serviço gerenciado para sistemas como PostgreSQL, MySQL, MariaDB, SQL Server, Oracle e Db2. O Amazon RDS lida com tarefas de gerenciamento de banco de dados, como provisionamento, aplicação de patches, backup, recuperação, detecção de falhas e reparo, e é simples de configurar e implantar.
Para armazenamento, o Amazon RDS oferece uma opção de três tipos diferentes de volume subjacentes do Amazon Elastic Block Store (Amazon EBS).
- Armazenamento baseado em SSD de uso geral para a maioria das workloads de banco de dados,
- Armazenamento baseado em SSD com IOPS provisionadas de alta performance e
- Armazenamento magnético de dados para compatibilidade com versões anteriores.
Amazon Aurora
O Amazon Aurora é um serviço gerenciado nativo da nuvem para bancos de dados relacionais PostgreSQL, MySQL e DSQL. O Aurora foi projetado para maximizar todos os benefícios das configurações de nuvem, incluindo clustering e distribuição, fornecendo maior performance, alta disponibilidade e tolerância a falhas em comparação com os serviços tradicionais de RDBMS baseados em nuvem.
Para armazenamento, os dados do Amazon Aurora são armazenados em um volume de cluster, um volume virtual único e personalizado baseado em SSDs, com esses dados replicados em três zonas de disponibilidade diferentes dentro de uma região da AWS para máxima integridade e redundância de dados. O Amazon Aurora DSQL oferece redundância multirregional para preservar o acesso aos dados quando um endpoint regional não está disponível. Como o armazenamento do Aurora é proprietário, ele fornece configurações personalizadas com ajuste de escala automático completo e é totalmente gerenciado pela AWS, eliminando a necessidade de personalização de armazenamento baseada no usuário.
Armazenamento de banco de dados relacional autogerenciado
O RDBMS e o armazenamento autogerenciados na AWS envolvem tarefas tradicionais de administração de sistemas e gerenciamento de banco de dados. Em vez de realizar essas tarefas em sua infraestrutura física, você precisa realizar as tarefas na infraestrutura de nuvem.
O Amazon EC2 permite que você configure uma instância para qualquer tipo de sistema de gerenciamento de banco de dados relacional. Configurar e executar instâncias do EC2 requer tarefas como gerenciamento de segurança, configuração de performance, monitoramento e manutenção.
Para o armazenamento subjacente, você pode escolher entre o Amazon EBS, o Amazon Elastic File System (EFS) para armazenamento totalmente elástico e o armazenamentos de instâncias temporárias. Você pode escolher entre volumes grandes e pequenos para armazenamento, dependendo das necessidades do seu banco de dados.
Como funciona o armazenamento de banco de dados não relacional?
Bancos de dados não relacionais, também conhecidos como bancos de dados NoSQL, armazenam, acessam e modelam dados de forma diferente dos bancos de dados relacionais, utilizando estruturas de dados distintas. Uma variedade de bancos de dados não relacionais oferece suporte a diferentes casos de uso, com cada armazenamento de dados projetado com uma estrutura de banco de dados diferente.
Os bancos de dados não relacionais incluem: bancos de dados de chave-valor, bancos de dados de documentos, bancos de dados orientados a colunas, bancos de dados de grafos, bancos de dados em memória e bancos de dados de pesquisa.
Bancos de dados não relacionais gerenciados
A AWS oferece uma variedade de serviços gerenciados para cada tipo de banco de dados não relacional.
- O Amazon DynamoDB é um serviço gerenciado de armazenamento de valores-chave e banco de dados de documentos que utiliza armazenamento personalizado, distribuído e baseado em SSD.
- O Amazon DocumentDB (compatível com MongoDB) é um serviço gerenciado de banco de dados de documentos JSON nativo que usa armazenamento personalizado, distribuído e baseado em SSD.
- O Amazon Keyspaces (para Apache Cassandra) é um serviço gerenciado de banco de dados orientado a colunas compatível com o Apache Cassandra que usa armazenamento personalizado, distribuído e baseado em SSD.
- O Amazon Neptune é um serviço gerenciado de banco de dados de grafos com armazenamento personalizado, distribuído e baseado em SSD.
- O Amazon MemoryDB é um serviço de banco de dados em memória compatível com Valkey e Redis OSS com armazenamento personalizado, distribuído e baseado em SSD.
- O Amazon ElastiCache é um serviço de armazenamento em cache em memória compatível com o cache em memória Valkey, Redis e Memcached, com suporte do armazenamento de dados RAM e EBS.
O Amazon DynamoDB, Amazon DocumentDB, Amazon Keyspaces, Amazon Neptune e Amazon MemoryDB usam tipos de armazenamento personalizados e proprietários baseados em SSD.
Embora o Amazon ElastiCache aproveite o armazenamento do EBS, ele não oferece opções baseadas em armazenamento ou acesso do usuário ao armazenamento em nível de arquivo. O ElastiCache é um banco de dados não relacional do tipo cache.
Bancos de dados não relacionais autogerenciados
A configuração e o armazenamento de bancos de dados não relacionais na AWS seguem um padrão de infraestrutura semelhante ao usado para bancos de dados relacionais.
Você pode usar instâncias do EC2 para executar qualquer tipo de banco de dados NoSQL, incluindo MongoDB, Redis e HBase. Os dados subjacentes podem ser armazenados no Amazon EBS, no Amazon Elastic File System (EFS) para armazenamento totalmente elástico e em armazenamentos de instâncias temporárias, dependendo do seu caso de uso.
Quais são os outros tipos de armazenamento de banco de dados?
Nem todos os dados corporativos se encaixam perfeitamente em formatos de banco de dados relacionais ou não relacionais, e o analytics moderno geralmente pode acomodar outros tipos de dados semiestruturados e não estruturados.
Por exemplo, você pode armazenar dados semiestruturados em arquivos de dados do Apache Avro no Amazon S3 e analisar os dados como estão, em vez de reestruturá-los para caber em um banco de dados. Você pode usar o S3 como uma solução de armazenamento para qualquer tipo de dados.
Como escolher entre os tipos de armazenamento de banco de dados?
Decidir entre usar um serviço de banco de dados gerenciado versus um serviço autogerenciado determina as opções que você tem no armazenamento de dados.
Controle total do ambiente
As organizações que buscam controle total sobre seu ambiente de banco de dados devem optar por soluções de banco de dados autogerenciadas na AWS. Você pode usar bancos de dados e armazenamento autogerenciados para bancos de dados relacionais e não relacionais. Usando uma solução autogerenciada do EC2, você pode acessar diretamente os dados subjacentes no armazenamento do seu sistema de arquivos, estejam eles armazenados no EBS, no EFS ou em armazenamentos de instâncias.
Despesas gerais reduzidas
Os serviços gerenciados oferecem pouca ou nenhuma personalização em termos de onde e como os dados são armazenados, mas a desvantagem é uma redução nas despesas gerais associadas ao gerenciamento da infraestrutura. As organizações geralmente migram para a nuvem para obter acesso aos serviços gerenciados, reduzindo a necessidade de gerenciamento e manutenção da infraestrutura.
No entanto, há casos de uso em que as organizações precisam de acesso em nível de arquivo aos dados subjacentes dos bancos de dados. Por exemplo, uma aplicação existente pode acessar dados diretamente de um arquivo, sistemas isolados podem precisar dessa configuração ou obrigações de conformidade de integridade de dados podem exigir acesso em nível de arquivo.
A escolha de um serviço de banco de dados gerenciado em vez de uma configuração de banco de dados autogerenciada depende do caso de uso exclusivo de cada banco de dados. Considerar cuidadosamente cada banco de dados em sua organização, incluindo suas configurações e requisitos existentes, ajuda a orientar seu processo de tomada de decisão.
Sua solução deve incluir um sistema de backup que atenda aos requisitos de redundância de dados em caso de falhas no sistema.
Como a AWS pode atender às suas necessidades de armazenamento de banco de dados?
O armazenamento de banco de dados na AWS será mais simples se você escolher os serviços gerenciados de banco de dados. Cada serviço gerenciado cuida do armazenamento para você, tratando os dados de forma eficiente, sem a necessidade de configurações adicionais por parte dos administradores. Usar serviços gerenciados significa que a AWS é seu gerenciador de armazenamento totalmente automatizado.
Caso adote uma abordagem autogerenciada para bancos de dados na AWS, você terá controle sobre como gostaria de armazenar dados. Uma abordagem autogerenciada permite acessar e recuperar dados diretamente do armazenamento físico.
Se você estiver realizando uma migração para o MySQL ou criando um novo armazenamento de valores-chave, analise suas opções de banco de dados na AWS.
Comece a criar uma infraestrutura de banco de dados moderna que atenda às suas necessidades criando uma conta gratuita na AWS hoje mesmo.