Qual a melhor Cloud para o meu Banco de Dados – Parte 3

Há algumas semanas começamos a falar sobre Cloud para Bancos de Dados. No primeiro artigo da série falei sobre os tipos de cloud disponíveis. No segundo fiz um comparativo em forma de tabela com os principais players e coloquei algumas informações sobre AWS, Google Cloud, Azure e Oracle OCI.


Neste artigo, como continuidade, falaremos sobre Azure e OCI (Oracle). Então, vamos lá.



Microsoft Azure


Criada em 2010 como uma estratégia da Microsoft para concorrer com outros players e, também para propor uma alternativa à redução de mercado do Windows em ambientes empresariais, a Azure, começou com vários produtos e serviços que são desde muito tempo atrás presentes nas empresas. Soluções de E-mail e pacotes Office que na nuvem passaram a ser chamadas de Office 365. Soluções de autenticação como Active Directory também foram migradas de forma bem simples e, além disso, também já possuía com um dos bancos mais populares do mercado (SQLServer).


No caso da Azure, as soluções em Bancos de Dados possuem uma nomenclatura bem simples em comparação com as propostas dos concorrentes. Temos o `Banco de Dados SQL` pra quem deseja ter um SQLServer DBaaS. Tem o `Banco de Dados para Mysql`, ‘Banco de Dados para MariaDB` e ‘Banco de Dados para PostgreSQL’. Ambos seriam os equivalentes ao RDS da AWS para SQLServer ,MySQL, MariaDB e PosgreSQL respectivamente.


Possui também soluções de Bancos de Dados Servless, mas, neste caso, o foco é apenas no seu produto mais popular (SQLServer). E, além dos bancos relacionais, ela também tem a sua própria solução que é o CosmosDB. Ao contrário de outras soluções (DynamoDB, BigTable ou MongoDB) o Cosmos é um banco Multi-modelo, ou seja, uma solução única com opção para tipos de bancos distintos.


Em relação à alta-disponibilidade do ambiente, os Bancos de Dados (SQL Databases) possuem uma SLA de 99.995% por padrão. Enquanto nos outros players devemos habilitar este recurso e configurá-lo, a Microsoft promete que, em caso de falha de HW ou do Datacenter onde estão os dados, o ambiente estará replicado com backup’s em outra área e inclusive o failover poderá ocorrer automaticamente (dependendo do tipo de falha). Os backups dos bancos, também são configurados por default com retenção de 7 dias no mínimo e com backup’s entre 5 e 10 min do log de transações.


Junto com a AWS, a Azure são as únicas duas clouds (além da própria Oracle) que permitem rodar bancos de Dados Oracle em nuvem. Porém, nos últimos anos, devido a parceria da Oracle com a Azure, existem algumas recomendações para rodar o Banco Oracle diretamente na nuvem da Oracle com todos os recursos disponíveis para interoperabilidade entre as duas redes.


Apesar de várias vantagens dos serviços da Microsoft Azure, alguns pontos poderiam ser melhorados, como por exemplo, as possibilidades de backup/restore dos bancos SQLServer. Infelizmente, quando se está usando um SQLServer em DBaaS a opção de Backup/Restore não é a padrão usada em um Banco SQLServer tradicional, dificultando e muito algumas situações de Backup/Restore entre estes ambientes.


As opções de migração de banco de dados são muito robustas, permitindo que bancos com diferentes engines (MySQL, PostgreSQL, MongoDB ou Oracle) sejam migradas para um SQL Database de forma bem rápida e fácil.



Oracle Cloud Infrastructure- OCI


Qualquer discussão em termos de Bancos de Dados, não tem como não ter a Oracle como parte da conversa. Afinal de contas, há anos ela é a líder em solução de Banco de Dados Relacional, além de ter também, após adquirir a Sun Microsystems, o MySQL Database (2º. Banco mais utilizado segundo o db-engines.com).

(fonte: https://db-engines.com/en/ranking)


Conforme foram surgindo soluções de Cloud Database, devido a vários fatores, cada uma passou a incentivar o uso de suas próprias soluções de Bancos de Dados. AWS incentiva o uso do Aurora e do DynamoDB (16º. Do ranking), A Azure, o SQL Database (15º. Do ranking), o Google Cloud tenta justificar o uso do BigQuery (25º.) em seus projetos. Estas sugestões ocorrem principalmente, para evitar custos de licenciamento em soluções que não eram propriedade destes players de cloud. Sendo assim, foi natural a Oracle em determinado momento passar a oferecer uma plataforma de Cloud e isso ocorreu inicialmente em 2016. A solução chamava Oracle Bare Metal Cloud Services. Assim como todas as outras soluções a promessa era serviços de Infraestrutura completa. Porém, a solução apresentou diversos problemas de estabilidade, e, em 2018, oficialmente a Oracle `relançou` o serviço como o nome de Generation 2 Cloud. Hoje o nome é conhecido como OCI (Oracle Cloud Infrastructure).


Mas ela não fica atrás apenas no ano de lançamento. Enquanto a AWS + Azure + GCP somam 61% do mercado, a Oracle possui apenas 2%. Como crescer neste ambiente ? A estratégia da Oracle tem sido, desde 2018 preço baixo.


Em termos de Bancos de Dados a Oracle oferece hoje no OCI duas opções: Oracle Database ou MySQL database. Ambos funcionam no modelo DBaaS (embora seja possível executá-los em uma VM Linux também). A opção do Oracle Database possui algumas funcionalidades que a Oracle intitula como Autonomous Database que, segundo a mesma, são soluções que automatizam tarefas que deveriam ser feitas por algum profissional, como manutenção, suporte, gerenciamento, backup, etc.


As opções para o Oracle Database são bem variadas. Saem de um simples banco sem custo para testes, até opções com vários Cores e várias funcionalidades que só estariam disponíveis com hardware próprio da mesma (Exadata), ou usando versões Enterprise com múltiplas “Options”. Um dos problemas enfrentados na versão do OCI1 e que, ainda não ficaram bem estabelecidas na versão OCI2 é em relação à upgrade e downgrade dos serviços de Bancos. No caso do Oracle Database, em alguns casos a mudança pode ser demorada e trabalhosa (mesmo com o Autonomous Database), mas no caso do MySQL ela não existe: se precisar aumentar CPU ou memória, será necessário criar uma nova máquina e migrar o banco para a nova. Por isso, várias implementações hoje no OCI, são feitas em ambiente com VM (máquinas virtuais Linux) rodando o banco de dados desejado de um modo mais `tradicional`.


Nos últimos meses (inclusive em anúncios da Oracle) ela promete um nova mudança no ambiente, saindo de uma solução Cloud completa, para se tornar um fornecedor focado em DBaaS e outras soluções de Cloud Database.


E aí? Qual solução você está usando de Cloud Database ? Você está satisfeito com sua escolha?



Ricardo Silvério - DBA Especialista em Big Data.

CEO Siltech Consult & Responsável pela Divisão de DBA Services na Cymeon Technology

Posts Em Destaque
Posts Recentes