Tudo o que você não sabia sobre o Amazon Aurora

Os sistemas de banco de dados tradicionais têm muitas limitações de desempenho, disponibilidade e escalabilidade. O Amazon Aurora é a solução para essas limitações.

Os bancos de dados são necessários para alimentar os aplicativos que executam os negócios. Eles devem ser maiores, mais confiáveis ​​e mais rápidos para fornecer melhores serviços. O Amazon Web Services facilita o gerenciamento de dados para as empresas e melhora a satisfação do cliente.

O serviço web AWS Aurora da Amazon é um exemplo desse tipo de serviço. Ele usa o volume do cluster para gerenciar seus dados e alocá-los para backup de emergência.

O que é Amazon Aurora?

O Amazon Aurora, um banco de dados nativo da nuvem, é totalmente compatível com MySQL e PostgreSQL de código aberto. O Aurora oferece suporte a todas as funcionalidades do MySQL de código aberto. Ele também permite compatibilidade drop-in com aplicativos executados nesses bancos de dados.

O Aurora foi projetado para clientes que precisam de um serviço de banco de dados totalmente gerenciado com a economia e a simplicidade dos bancos de dados de código aberto, mas com o mesmo desempenho de um banco de dados comercial.

O Aurora oferece desempenho cinco vezes mais rápido que o MySQL tradicional e três vezes melhor que o PostgreSQL. O Amazon RDS lida com tarefas como provisionamento, backup e recuperação. Não há custo inicial e você paga apenas uma taxa mensal.

O Aurora é único porque oferece um histórico de excelência operacional e recursos empresariais por uma fração do custo dos bancos de dados comerciais.

O Aurora oferece desempenho, disponibilidade, segurança e confiabilidade incomparáveis ​​globalmente. O Aurora é o serviço de crescimento mais rápido no portfólio da AWS desde sua criação em 2014.

Para que serve o Amazon Aurora?

O notável crescimento da Aurora foi impulsionado pelo forte interesse de muitas indústrias. Observamos um forte interesse em Serviços Financeiros, Software e Internet, bem como nas verticais de Entretenimento, Jogos e Varejo nos últimos doze meses.

Os clientes migram para Aurora MySQL e Aurora PostgreSQL para consolidar seus bancos de dados MySQL e PostgreSQL. Também vemos muitos clientes migrando de bancos de dados legados como Oracle ou Microsoft SQL Server para Aurora PostgreSQL.

Esses clientes que estão “livres de quebra” estão cansados ​​de pagar altas taxas de licenciamento e se trancar em bancos de dados legados. Os clientes com alto crescimento desejam escalar rapidamente e sem problemas em todas as regiões. Eles também querem ser capazes de integrar os serviços da AWS.

Benefícios do Amazon Aurora

Abaixo estão os benefícios de usar o Amazon Aurora:

Escalabilidade

Você pode ativar o escalonamento automático. Isso aumentará a capacidade de armazenamento quando você tiver mais armazenamento. Também diminuirá o tamanho do seu banco de dados se houver uma diminuição no espaço de armazenamento.

Custo-beneficio

Pague apenas pelo poder de processamento e espaço de armazenamento que usar. Não há taxas iniciais ou outros encargos. É simples fazer pagamentos mensais.

Segurança

O Amazon VPC permite isolar a rede na qual seu banco de dados está sendo executado.

Use o AWS Key Management Service para criar chaves de criptografia que protegem seus dados.

Alta disponibilidade e durabilidade

Você pode criar réplicas do Aurora em muitas zonas de disponibilidade.

É um banco de dados global que pode ser facilmente distribuído em várias regiões da AWS, o que pode diminuir a velocidade de leitura/gravação local.

Suporte para Migração

Para migrar seu banco de dados local para o Aurora, você pode usar os comandos pg-dump ou MySQL dump.

Totalmente gerenciado

Aurora é muito fácil de usar. É fácil configurar uma instância usando o console AWS RDS. Aurora oferece monitoramento com Amazon Cloudwatch sem custo adicional.

Não há necessidade de se preocupar com provisionamento, atualização ou atualização. A Amazon tem controle total sobre todos os aspectos do seu software e fará qualquer correção necessária.

Melhores recursos do Amazon Aurora

Abaixo estão os melhores recursos do Amazon Aurora:

Escalabilidade: Este é o melhor recurso do Amazon Aurora. O banco de dados aumenta automaticamente de tamanho de acordo com os requisitos de armazenamento. O volume pode crescer em incrementos de até 10 GB e pode atingir um máximo de 128 TB. Isso permite um armazenamento contínuo.

  Como atualizar automaticamente os dados filtrados no Excel quando são atualizados

Alto rendimento: os benchmarks SysBench mostraram um aumento de 5x no rendimento. O Amazon Aurora emprega uma variedade de técnicas de software e hardware para maximizar a memória, a computação e a rede disponíveis. Para melhorar a consistência do desempenho, operações de entrada e saída usando técnicas de sistema distribuído, como quorums.

Monitoramento e reparo de instâncias: o Amazon RDS monitora continuamente a integridade e o desempenho do banco de dados do Amazon Aurora, bem como das instâncias subjacentes do EC2. O Amazon RDS reinicia automaticamente o banco de dados em caso de falha do banco de dados e de todos os processos associados.

Criptografia: o Amazon Aurora fornece alta segurança, permitindo que você criptografe o banco de dados usando chaves que você controla e cria por meio do AWS Key Management Service. O Amazon Aurora usa criptografia SSL para proteger os dados durante o trânsito.

Fácil de usar: é fácil usar o Amazon Aurora. O Amazon RDS Management Console é usado para criar a nova instância de banco de dados Amazon Aurora. Essa chamada de API, ou CLI, leva apenas uma chamada de API. As instâncias de banco de dados do Amazon Aurora vêm pré-configuradas com os parâmetros e configurações apropriados para cada tipo de instância de banco de dados.

Custo-benefício: pague apenas pelo que usar. Não há custos iniciais ou outras taxas. É simples fazer pagamentos mensais.

Suporte à migração: para migrar seu banco de dados local do Aurora para o Aurora, você pode usar os comandos pg-dump ou MySQL dump.

O Aurora é totalmente gerenciado: você pode começar a usá-lo imediatamente. Tudo o que você precisa fazer é criar uma instância usando o console do AWS RDS ou chamar uma API do seu código. Não há necessidade de se preocupar com provisionamento, atualização ou atualização.

Arquitetura Amazônica Aurora

Toda a arquitetura do banco de dados Aurora é construída sobre um DBMS tradicional. Ele reutiliza a maioria dos componentes do DBMS, como gerenciador de transações, mecanismo de execução de consultas e gerenciador de recuperação.

Amazon Aurora é um novo DBMS que vai além do jogo tradicional. Ele faz muitas melhorias nos DBMSs existentes para aumentar sua disponibilidade, confiabilidade e escalabilidade.

Essas mudanças são:

  • Uma configuração de réplica primária é usada
  • O armazenamento remoto dos dados pode ser replicado
  • Apenas changelogs devem ser salvos no disco remoto

A arquitetura do Amazon Aurora pode expandir as camadas de armazenamento de bancos de dados relacionais tradicionais.

A instância primária do banco de dados do Amazon Aurora passa o redo log para sua camada de armazenamento para processamento. Os logs são processados ​​pela camada de armazenamento, que cria e armazena novas versões de página e faz backup de tudo no S3.

Crédito da imagem: AWS

O Amazon Aurora precisa apenas criar instâncias de mecanismo de banco de dados adicionais e conectá-las à camada de armazenamento existente durante uma expansão. Isso elimina o gargalo na replicação de dados ao delegar essas tarefas de processamento paralelo à camada de armazenamento.

Isso permite a criação de muitos novos recursos, como:

  • Recuperação instantânea de falha: você não precisa repetir os logs do último ponto de verificação
  • Failovers rápidos: não há necessidade de se preocupar com qual banco de dados de réplica tem o registro de redo log mais recente. A camada de armazenamento cuida disso.
  • Backtracking: como a camada de armazenamento transmitiu redo logs, ela pode “rebobinar” os dados para pontos específicos no passado sem precisar restaurar um ponto de verificação do backup do S3

Configurando o Amazon Aurora

Abaixo estão as etapas para configurar o Amazon Aurora com sucesso.

#1. Faça login no console de gerenciamento da AWS e abra o RDS.

#2. Clique em criar banco de dados.

#3. Selecione a opção Engine como Amazon Aurora.

#4. Selecione a versão do Aurora MySQL que você precisa.

#5. Crie um identificador de cluster de banco de dados e defina o nome de usuário e a senha das configurações de credencial.

#6. Selecione a configuração da instância na opção suspensa e escolha uma opção para criar réplica ou não.

#7. Selecione as opções de conectividade conforme mostrado abaixo.

#8. Escolha um security group de VPC existente ou crie um novo.

#9. Habilite o monitoramento aprimorado, selecione a granularidade e a opção de função de monitoramento.

#10. Por fim, clique em criar banco de dados.

#11. Você criou com sucesso o banco de dados do Amazon Aurora.

Modelo de precificação: Amazon Aurora

As ACUs sem servidor Aurora v2 custam US$ 0,12 por hora, o dobro do preço das ACUs Aurora provisionadas. Isso significa:

  • Custo atual mínimo de operação: 4 ACUs, US$ 0,48 por hora ou US$ 350 por mês
  • Para cargas de trabalho que estão acionando patologicamente a função de dimensionamento automático, há um aumento mínimo de escalabilidade de 30 segundos ou US$ 0,0005 para meia ACU.
  Como funciona o carregamento rápido sem fio?

O custo mensal do Aurora Serverless V2 é de US$ 350. Cada evento de dimensionamento automático será cobrado pelo menos US$ 0,0005. Embora a capacidade equivalente do Aurora seja de US$ 175 por mês, ele não teria dimensionamento automático responsivo sem servidor.

Casos de Uso: Amazon Aurora

#1. Software como Serviço (SaaS)

Ele usa arquiteturas de vários talentos que podem ser flexíveis em armazenamento e dimensionamento de instâncias. Como resultado, o Amazon Aurora permite que as empresas se concentrem no desenvolvimento de aplicativos de alta qualidade e não se preocupem com o banco de dados.

#2. Finalidade do jogo

O AWS Aurora funciona da mesma maneira que o banco de dados relacional. Ele fornece alta taxa de transferência, capacidade de armazenamento massiva, alta disponibilidade e alta disponibilidade.

#3. Aplicativo corporativo

O Amazon Aurora é compatível com qualquer empresa que já seja mais transparente que o banco de dados relacional. O Aurora é econômico, pois reduz o preço em até 90% quando comparado com outras opções.

Compatibilidade do Aurora com MySQL e PostgreSQL

O Amazon Aurora foi desenvolvido para alto desempenho, disponibilidade global e compatibilidade total com MySQL/PostgreSQL. As ferramentas padrão facilitam a migração de bancos de dados MySQL e PostgreSQL do Aurora. Você também pode executar aplicativos legados do SQL Server com Babelfish para Aurora PostgreSQL, exigindo alterações mínimas de código.

O Amazon Aurora funciona com ferramentas padrão de importação/exportação do PostgreSQL, como pg_dump ou pg_restore. Você também pode criar uma nova tabela Amazon Aurora usando um Amazon RDS ou MySQL DB Snapshot.

Os instantâneos de banco de dados geralmente são rápidos para serem concluídos, mas dependerão de quanto e qual formato de dados está sendo migrado.

Amazon Aurora x Amazon RDS

Projeto de arquitetura

A arquitetura do RDS é semelhante, pois permite instalar um mecanismo de banco de dados no Amazon EC2 manualmente, mas deixa o provisionamento e a manutenção para a AWS. O RDS fornece muitos recursos, como failover automático, backups etc. O RDS usa volumes do Amazon EBS para armazenar dados de log e banco de dados.

O sistema de armazenamento de banco de dados Aurora é confiável e tolerante a falhas. O armazenamento do banco de dados do Aurora é independente das instâncias. O Aurora armazena dados em seis cópias, cada uma com blocos de 10 GB. Essas cópias são distribuídas para três Zonas de Disponibilidade. Mesmo que você tenha apenas uma instância do Aurora, ainda haverá seis cópias de seus dados.

atuação

O RDS usa armazenamento SSDs para melhorar o desempenho da taxa de transferência de E/S. Existem duas opções de armazenamento com suporte de SSD disponíveis. Um é para aplicativos OLTP de alto desempenho, enquanto o outro é para uso geral e econômico.

O Aurora oferece o dobro do desempenho do PostgreSQL e cinco vezes o do MySQL padrão em hardware comparável. O desempenho do Aurora tem sido consistentemente maior e mais consistente.

Suporte ao mecanismo de banco de dados

O RDS é compatível com MySQL, PostgreSQL e MariaDB, bem como Microsoft SQL Server e Oracle.

O Aurora é compatível com PostgreSQL e MySQL. Isso significa que você pode usar suas ferramentas e aplicativos de banco de dados existentes no PostgreSQL e no MySQL sem fazer nenhuma alteração.

Durabilidade e Disponibilidade

O Aurora possui um modelo de armazenamento exclusivo que permite backups e restaurações contínuos com RPO (objetivo de pontos de recuperação) muito baixo. Isso o torna mais confiável e durável do que o RDS.

Os dados são duráveis ​​por design no Aurora. Sempre há várias cópias de seus dados. Cada cluster do Aurora tem seis nós de armazenamento espalhados por três AZs. Mesmo se você tiver apenas um nó de computação, ainda haverá várias cópias de seus dados.

Resiliência

Por causa de seu projeto arquitetônico, o Aurora é mais resiliente que o RDS. É rápido para se recuperar de falhas. Se um nó de computação travar, o Aurora pode se recuperar rapidamente.

Armazenar

O dimensionamento automático do armazenamento RDS dimensiona a capacidade de armazenamento para 64 TiB (exceto 16 TiB do SQL Server) para acomodar cargas de trabalho crescentes de banco de dados. Não há tempo de inatividade.

O Aurora aumenta automaticamente o armazenamento aumentando-o de um mínimo de 10 GB para um máximo de 128 TiB. O armazenamento é aumentado em incrementos de 10 GB sem nenhum efeito no desempenho do banco de dados.

Escalabilidade

Dimensionamento vertical: RDS e Aurora permitem dimensionar recursos de memória e computação para um máximo de 244 GiB de RAM e 32 CPUs virtuais. Em questão de segundos, você pode escalar as operações.

  Como remover anúncios e bloatware do tablet Amazon Fire 7 [No Root]

Aurora Auto Scaling dinâmico: o Aurora Auto Scaling ajusta dinamicamente quantas réplicas do Aurora estão disponíveis para um cluster de banco de dados do Aurora usando replicação de mestre único. O RDS NÃO oferece suporte a esse Auto Scaling.

Replicação

O RDS pode ser usado para fornecer até cinco réplicas. O processo de replicação também é mais lento que o Aurora.

O Aurora pode provisionar até 15 réplicas e a replicação leva apenas alguns segundos. O Aurora escala mais rapidamente porque pode adicionar rapidamente novas réplicas de leitura.

Failover

No RDS, o failover para ler a réplica ocorre manualmente. Isso pode causar perda de dados. O Multi-AZ (Standby Instance) pode ser usado para automatizar o failover e evitar a perda de dados.

Para evitar a perda de dados, o Aurora usa failover para ler as réplicas automaticamente. O Aurora tem um tempo de failover mais rápido.

Pontos de extremidade do cluster

O RDS tem um endpoint de cluster que você pode usar para executar suas consultas de gravação. É o ponteiro DNS para sua instância de banco de dados mestre atual. O RDS roteia o endpoint para o novo mestre por meio de uma simples alteração de DNS durante um failover.

O endpoint do cluster ainda está disponível no Aurora para escrever consultas. Esse endpoint também atua como um balanceador de carga para suas replicações de leitura. Esse ponto de extremidade pode ser usado para responder às suas consultas de leitura.

Cópia de segurança

O RDS cria e salva automaticamente backups de suas instâncias de banco de dados durante a janela de backup de sua instância de banco de dados. O RDS faz um snapshot de sua instância de banco de dados como um volume de armazenamento, fazendo backup de todos os bancos de dados e não apenas daqueles que você selecionar.

O Aurora faz backup automaticamente dos volumes do cluster e continua restaurando os dados durante o período de retenção do backup. Os backups do Aurora são contínuos e incrementais para que você possa restaurar rapidamente qualquer ponto dentro do período de retenção do backup.

Abaixo está a tabela resumida para Amazon Aurora vs. Amazon RDS:

Amazon AuroraAmazon RDSVocê pode expandir o armazenamento de 10 GB para 64 GBRDS permite 64 GBS para todos os mecanismos, mas apenas 16 GB para servidor SQLVocê pode dimensionar a memória e a computação para um máximo de 32 vCPUs e 244 GiB de RAMIgual ao AuroraSuporta MySQL e PostgreSQLSuporta Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL e Amazon Aurora Suporta quinze réplicas Suporta cinco réplicas O preço depende das operações de I/O Você pode experimentá-lo gratuitamente sem taxa mínima de uso

Amazon Aurora x DynamoDB

Durabilidade e disponibilidade

Cada parte dos dados do DynamoDB é replicada para vários nós físicos. A Amazon colocou esses nós físicos em várias zonas (também conhecidas como zonas de disponibilidade) para garantir alta durabilidade e disponibilidade no caso de um desastre como um incêndio ou uma grande queda de energia. A operação continuará mesmo se uma cópia cair. Os SSDs também são altamente confiáveis ​​e duráveis.

Backups e restauração

O DynamoDB oferece um backup sob demanda, bem como PITR (backups pontuais), que permite acessar qualquer estado do banco de dados. O DynamoDB é capaz de fazer backup de qualquer quantidade de dados. O desempenho e a disponibilidade não serão afetados. O backup leva muito pouco tempo e os usuários não precisam se preocupar com agendamentos de backup ou processos em segundo plano. A AWS permite a recuperação de backup com apenas uma chamada de API.

O processo de backup do Amazon Aurora é semelhante ao DynamoDB. Ele foi criado sem interrupções de desempenho ou interrupções no serviço de banco de dados. Os backups da Amazon são salvos em um bucket S3. O Aurora criará automaticamente um backup de 30 minutos se não especificarmos uma janela de backup.

Controle de acesso

O DynamoDB oferece suporte a usuários e funções do IAM com políticas refinadas que limitam a criação de banco de dados e os privilégios de consulta. O Amazon Aurora também possui um esquema de permissões semelhante.

No entanto, o Aurora também fornece interfaces de conexão compatíveis com MySQL e PostgreSQL para se conectar ao banco de dados.

O DynamoDB, um serviço regional, não está sujeito ao limite do VPC. No entanto, os clusters de banco de dados do Aurora precisam ser estabelecidos em uma VPC que defina claramente seu limite de rede. Você também pode usar os grupos de segurança da VPC para controlar quais dispositivos ou instâncias do Amazon EC2 têm permissão para se conectar à instância do banco de dados.

Abaixo está a tabela resumida para Amazon Aurora vs. DynamoDB:

Amazon AuroraDynamoDBO banco de dados relacional compatível com MySQL e PostgreSQLBanco de dados sem SQLMultirregião, mestre únicoMultirregião, multimestreA réplica pode ser promovida a primária em um minutoAlta disponibilidadeA latência da replicação é inferior a 1 segundoA latência da replicação é inferior a milissegundos

Conclusão

Era isso. Estamos todos entrando em uma nova era em bancos de dados relacionais, e o Aurora é apenas o começo. Os clientes responderam com uma concordância esmagadora. Líderes em todos os setores – como Capital One, Dow Jones, Netflix e Verizon – estão migrando suas cargas de trabalho de banco de dados relacional para o Aurora, incluindo edições compatíveis com MySQL e PostgreSQL.