Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Serviços de banco de dados na AWS e Oracle Cloud Platform


Antes dos provedores de nuvem e serviços gerenciados, os bancos de dados precisavam ser instalados localmente e uma instalação em larga escala poderia envolver a instalação de muita infraestrutura e a manutenção de vários DBAs. Com o advento dos provedores de nuvem, os bancos de dados locais migraram para a nuvem e os requisitos de infraestrutura local foram reduzidos, se não eliminados. Provedores de nuvem, como Amazon Web Services (AWS) e Oracle Cloud Platform, fornecem serviços gerenciados para sistemas de banco de dados relacionais comumente usados ​​Oracle Database e banco de dados MySQL, que são classificados em 1 e 2, respectivamente, por DBEngines.com. A AWS também oferece suporte a outros bancos de dados, incluindo banco de dados PostgreSQL e banco de dados SQL Server. A AWS oferece suporte para um banco de dados NoSQL proprietário chamado DynamoDB.

Neste artigo, discutiremos os bancos de dados disponíveis nos provedores de nuvem AWS e Oracle Cloud Platform. Independentemente de qual provedor de nuvem é usado, alguns recursos são comuns a todos os bancos de dados de provedores de nuvem:recursos de serviço gerenciado, escaláveis, confiáveis, seguros e de colaboração. Este artigo tem as seguintes seções e subseções:
  • Bancos de dados na Amazon Web Services (AWS)
    • RDS
    • DynamoDB
    • Desvio para o vermelho
    • ElasticCache
  • Bancos de dados no Oracle Cloud Platform
    • Banco de dados Oracle
    • Banco de dados MySQL
    • Banco de dados Oracle NoSQL
  • Conclusão

Bancos de dados na Amazon Web Services (AWS)


A Amazon Web Services (AWS) fornece serviços gerenciados em diferentes categorias:
  • Serviço de banco de dados relacional (RDS) para bancos de dados relacionais
  • DynamoDB para bancos de dados NoSQL
  • Redshift para bancos de dados analíticos baseados em consultas (data warehouse)
  • ElasticCache para cache na memória

RDS


O Relational Database Service é um serviço gerenciado hospedado na nuvem para os bancos de dados relacionais comumente usados ​​— banco de dados Oracle, banco de dados MySQL, SQL Server, PostgreSQL, MariaDB e o Aurora proprietário — conforme mostrado na Figura 1.


Figura 1: Bancos de dados hospedados no RDS

O que torna o RDS uma alternativa melhor aos bancos de dados locais é que o RDS oferece capacidade variável, automação das tarefas do DBA, hardware provisionado na nuvem e backups e patches automáticos de banco de dados. Os bancos de dados RDS fornecem ambientes de Produção e Desenvolvimento/Teste. Os bancos de dados RDS são totalmente integrados a outros serviços da AWS, como S3, IAM, CloudWatch, Database Migration Service e CloudTrail. O S3 é usado para armazenamento de backups e instantâneos, que são usados ​​para fazer backup e restaurar um banco de dados. O IAM é para gerenciamento de acesso. CloudWatch é para monitoramento e registro. CloudTrail é para auditar chamadas de API. O Serviço de Migração de Banco de Dados serve para migrar bancos de dados:migrar um banco de dados local para a Nuvem ou migrar entre diferentes bancos de dados na Nuvem. O RDS oferece a opção de implantar um banco de dados em várias zonas de disponibilidade.

As diferentes edições dos bancos de dados comerciais Oracle e SQL Server estão disponíveis no RDS. O Aurora é um banco de dados de alto desempenho totalmente compatível com bancos de dados MySQL e PostgreSQL e oferece os seguintes benefícios:
  • Alta taxa de transferência (5x MySQL e 3x PostgreSQL)
  • Armazenamento SSD com escalonamento automático (até 64 TB) que é tolerante a falhas
  • Múltiplas réplicas de leitura para baixa latência e failover automático
  • Tolerante a falhas. As falhas de disco são reparadas sem perda de serviço.
  • Alta disponibilidade
  • Backups incrementais e recuperação pontual
  • Isolamento de rede (VPC), permissões no nível do recurso usando o IAM e criptografia para tornar os bancos de dados seguros

Os bancos de dados RDS fornecem um Endpoint, como para o banco de dados PostgreSQL no RDS mostrado na Figura 2, para acesso com clientes SQL comumente usados.


Figura 2: Banco de dados PostgreSQL no RDS

DynamoDB


O DynamoDB é um banco de dados NoSQL de modelo de dados flexível que fornece baixa latência (milissegundos de um dígito), dimensionamento automático de capacidade de leitura e gravação com a provisão para obter capacidade reservada, índices secundários globais para consulta eficiente em qualquer campo (atributo) em uma tabela, e integração com o CloudWatch para monitoramento e registro. Se o tempo de resposta for relativamente maior, o que implica em microssegundos, o serviço DynamoDB Accelerator (DAX) estará disponível para reduzir o tempo de resposta para dados eventualmente consistentes. Uma tabela do DynamoDB é mostrada na Figura 3.


Figura 3: Tabela do DynamoDB

Desvio para o vermelho


Redshift é um banco de dados (data warehouse) para OLAP (processamento analítico online) de dados estruturados em escala de petabytes armazenados em discos locais usando padrões SQL com a provisão de estender a consulta a dados não estruturados em escala de exabyte armazenados no S3 usando o Redshift Spectrum. Formatos de dados abertos como CSV, TSV, Parquet, Sequence e RCFile podem ser usados ​​com o Redshift Spectrum. O Redshift oferece os mesmos recursos de serviço gerenciado da maioria dos serviços da AWS, como escalabilidade, tolerância a falhas, backups automatizados, criptografia, integração para monitoramento e registro com CloudWatch e isolamento de rede com VPC. O Redshift fornece drivers ODBC e JDBC personalizados, além dos drivers PostgreSQL ODBC e JDBC padrão para acesso usando clientes SQL comumente usados. Um cluster Redshift pode ser acessado em um Endpoint provisionado, mostrado para um cluster Redshift na Figura 4.


Figura 4: Cluster Redshift

ElasticCache


O Amazon ElasticCache é um cache distribuído na memória na nuvem. Duas opções de mecanismo de cluster estão disponíveis para um cluster ElasticCache, ElasticCache para Redis e Memcached. O ElasticCache para Redis é um armazenamento de estrutura de dados na memória que pode ser usado como banco de dados, cache e agente de mensagens. O Memcache é um cache de objetos de memória distribuída de alto desempenho projetado para tornar os aplicativos da Web dinâmicos mais rápidos. Várias opções de tipo de nó projetadas para um cache estão disponíveis, conforme mostrado na Figura 5.


Figura 5: Tipos de nó de cache

Os nós reservados estão disponíveis para um ElasticCache. Backups automatizados e notificação de SNS estão disponíveis com o ElasticCache. Os clientes de cluster memcached do ElasticCache estão disponíveis para diferentes idiomas:.NET, Java e PHP. O cliente PHP está disponível para várias versões do PHP que vão do PHP 5.3 ao PHP 7.0. Um banco de dados ElasticCache é mostrado na Figura 6.


Figura 6: Redis ElasticCache

Bancos de dados no Oracle Cloud Platform


O Oracle Cloud Services Platform inclui o Oracle Database Cloud Service for Oracle Database e o Oracle MySQL Cloud Service for MySQL database. Os Oracle Cloud Services são agrupados em diferentes categorias, assim como os serviços da AWS. No entanto, o Oracle Database Cloud Service é para os bancos de dados que os Oracle IaaS Cloud Services são para a infraestrutura necessária para executar os bancos de dados na nuvem.

Banco de dados Oracle


O Oracle Database on the Cloud está disponível em mais edições do que um banco de dados autônomo, conforme mostrado na Figura 7.


Figura 7: Oracle Database on Cloud Editions

Para criar o Oracle Database on the Cloud, clique em Create Service no painel do Oracle Database Cloud Service, conforme mostrado na Figura 8.


Figura 8: Criando um Oracle Database Cloud Service

As edições de banco de dados com suporte são 11g R2, 12c R1 e 12c R2, conforme mostrado na Figura 9.


Figura 9: Edições do banco de dados Oracle

Se 12c for usado, um banco de dados plugável é criado por padrão, para o qual um nome de PDB deve ser configurado (veja a Figura 10). Para Backup e Recuperação, as opções disponíveis são:Disco, Nuvem, Disco e Nuvem e Nenhum.


Figura 10: Configurando um Oracle Database 12c Service incluindo um PDB

Um serviço Oracle Database Cloud é mostrado no painel da Figura 11.


Figura 11: Serviço de Nuvem de Banco de Dados Oracle

Um IP público é criado para o Oracle Database, conforme mostrado na Figura 12.


Figura 12: IP público para Oracle Database Cloud Service

Os recursos de banco de dados incluem OCPUs, memória e armazenamento, que também estão listados na Figura 12. As OCPUs, memória e armazenamento não são configuráveis ​​individualmente, mas uma forma de computação com configurações pré-selecionadas para os recursos deve ser selecionada. Um banco de dados pode ser dimensionado para cima ou para baixo, conforme mostrado pela opção Scale Up/Down na Figura 13.


Figura 13: Escala para cima/para baixo

Uma forma de computação pode ser selecionada na caixa de diálogo Scale Up/Down, conforme mostrado na Figura 14.


Figura 14: Selecionando uma forma de computação

As métricas de monitoramento estão disponíveis para um serviço de banco de dados, conforme mostrado na Figura 15.


Figura 15: Métricas de monitoramento

Banco de dados MySQL


A criação de um serviço de banco de dados MySQL no Oracle Cloud é semelhante à criação de um serviço de banco de dados Oracle. As configurações de banco de dados MySQL que devem ser fornecidas incluem um nome de serviço (como mostrado na Figura 16), uma forma de computação, armazenamento de banco de dados utilizável (GB), usuário de administração (raiz por padrão), senha de administração, nome do esquema de banco de dados e Backup e Configuração de Recuperação.


Figura 16: Criando um serviço de banco de dados MySQL

Um descritor de conexão e um IP público para um serviço de banco de dados MySQL são criados, conforme mostrado na Figura 17.


Figura 17: Serviço de banco de dados MySQL no Oracle Cloud

Banco de dados Oracle NoSQL


O Oracle Cloud Service também fornecerá um serviço gerenciado para o banco de dados Oracle NoSQL, cujos principais recursos incluem alta disponibilidade, transações, consultas paralelas, armazenamento e consulta de dados de baixa latência e suporte de API para várias linguagens de cliente, incluindo C, Java e Node. O Oracle NoSQL on the Cloud fornece um modelo de dados flexível com suporte para Key-Value, Tabelas e JSON para armazenamento. O serviço Oracle NoSQL Cloud fornece esquema de aplicativo dinâmico e tem alto desempenho usando indexação baseada em valor, que indexa tipos simples e complexos (Mapas e Matrizes) para resultados de consulta eficientes e índices consistentes, que são índices locais compartilhados. A administração do Oracle NoSQL on the Cloud é simplificada usando balanceamento de carga automatizado para acesso eficiente a dados em um cluster. O gerenciamento de cluster inclui dimensionamento e atualizações contínuas. O Oracle NoSQL Database Cloud Service está “em breve”.

Conclusão


Neste artigo, exploramos os serviços de banco de dados fornecidos pela AWS e Oracle Cloud Platform. Os bancos de dados na AWS e Oracle Cloud são serviços gerenciados com recursos que não são viáveis ​​em um serviço de banco de dados local de escala relativamente pequena.