A Amazon acabou de anunciar um novo serviço, Amazon Relational Database Service ou RDS, uma solução para criação e acesso a banco de dados relacional na cloud. O banco de dados hospedeiro é o MySQL 5.1 e o anúncio antecede o PDC 2009 em 3 semanas, quando a Microsoft anunciará a disponibilidade do SQL Azure, uma solução para computação nas nuvens baseada no seu banco de dados relacional.
A Amazon e outros fornecedores de cloud têm oferecido banco de dados não relacional como, por exemplo, o SimpleDB. A Microsoft planeja mudar isso, oferecendo um subconjunto do MS SQL Server como SQL Azure, um serviço na cloud que é parte da Plataforma Windows Azure. A decisão da Amazon é interessante e indica que a Amazon chegou à conclusão de que há bastante cliente interessado em um banco de dados relacional que justifique um serviço especializado. Provavelmente a Amazon não queira perder clientes dispostos a mudar para o Azure.
Esta mudança é semelhante a que foi feita pela Amazon há um ano, quando disse que suportaria o Windows no EC2. Esse anúncio veio um mês antes do PDC 2008, quando a Microsoft anunciou o Azure.
O Amazon RDS terá um impacto importante sobre a start-up FathomDB, um fornecedor de banco de dados relacional no EC2, expondo a vulnerabilidade desses que confiam em um único fornecedor como Krishnan Subramaniarn observou:
Este anúncio também esmagará a Y-Combinator startup FathomDB que oferece banco de dados como um serviço que roda sobre o Amazon EC2. Será interessante ver como eles respondem a este anúncio. Provavelmente, este anúncio também deve servir como um sinal de alarme para as empresas que constroem os seus negócios em todo o ecossistema da Amazon. Elas estão apenas a um anúncio distante da destruição completa. Isto não é exclusivo ao ecossistema da Amazon. Ele pode acontecer em qualquer empresa cujo negócio depende inteiramente de um único fornecedor.
O Amazon RDS é baseado no InnoDB Storage Engine que
suporta transacão segura (ACID) em MySQL com commit, rollback, e capacidade de tolerância a falhas para proteger os dados do usuário. O lock no nível de linha do
InnoDB
(sem escalar para locks de granularidade mais grossa) e o estilo Oracle de leitura nonlocking consistente aumenta a concorrência e desempenho multi-usuário. OInnoDB
armazena os dados do usuário em índices agrupados (clustered) para reduzir I/O para consultas comuns, baseados em chaves primárias. Para manter a integridade dos dados, oInnoDB
também suporta a integridade referencialFOREIGN KEY
Você pode misturar livremente tabelasInnoDB
com tabelas de outros mecanismos de armazenamento do MySQL, mesmo dentro da mesma instrução.
Praticamente, o Amazon RDS oferece MySQL no cloud, o cliente não tem que instalar, configurar e mantê-lo. O RDS oferece vários tamanhos de instâncias do MySQL que podem ser aumentadas ou diminuídas de tamanho e que possuem backups automáticos e logs. O banco de dados pode ser acessado normalmente através da rede utilizando uma API simples ou através do prompt de comando, o SSH não é suportado ainda. O RDS oferece suporte para importação de banco de dados MySQL. A Amazon também planeja oferecer a replicação em zonas de disponibilidade múltiplas para melhor proteção de dados.