DaaS – Database as a Service

De acordo com Taurion (2009, p. 128, 129), manter toda a infraestrutura necessária para o armazenamento de informações em bancos de dados, como integração, segurança, disponibilidade, e desempenho adequado, consome parcela significativa do orçamento de TI. Neste modelo o provedor da nuvem mantém o serviço e o cliente paga somente pelo volume de dados armazenados e transferidos de e para a nuvem.

Ao referir-se a percepção da falta de privacidade, (CURINO et al., 2011) afirma que pode-se utilizar DaaS com CryptDB, isto é, utilizar um conjunto de técnicas projetadas para fornecer privacidade com impacto aceitável sobre o desempenho (22,5% na taxa de transferência em TPC-C). Com este conjunto de técnicas, todas as consultas são avaliadas sobre dados criptografados e enviados de volta ao usuário para decodificar. Além dos administradores poderem gerenciar as bases de dados mantendo a privacidade sobre os dados dos usuários.

Outro aspecto levantado por (CURINO et al., 2011), é que DaaS utiliza os motores existentes no mercado e sem modificações no SGBD (Sistema de Gerenciamento de Banco de Dados).

Taurion (2009, p. 130), sugere alguns usos iniciais para DaaS:

  • Ambiente de desenvolvimento e testes. Os desenvolvedores podem testar suas aplicações exaustivamente no momento em que precisam, sem a burocracia para terem ambientes disponibilizados.
  • Data archiving. Sabendo que apenas 20% das informações das empresas estão ativas e por aderência a legislação, a grande maioria das informações é armazenada em fitas após um período de inatividade. Através do DaaS há uma nova alternativa com custos menores para armazenar estas informações inativas.
  • Backup. O DaaS permite armazenamento de informações com custos menores que em discos próprios, além de fornecer ferramentas para automatizar os backups.

De acordo com Hamilton et. al (2009), a utilização de DaaS pode ser uma ferramenta importante para desenvolvedores, porém os desenvolvedores deverão ficar atentos as vantagens e desafios abordados.

Vantagens Desafios
Facilidade de implantação Data Design, número de entidades limitado em junções
Independência de plataforma Não existe padrão para particionamento dos dados
Administração simplificada de banco de dados Backup e recovery exigem procedimentos personalizados
Integração padronizada de dados Performance Tuning exigem boas práticas com os dados

Segundo Curino et. al (2011), a arquitetura do modelo DaaS (Ilustração a baixo) possui mais desafios do que uma simples instrução SQL sobre dados criptografados. Os aplicativos de usuários comunicam-se com o frontend utilizando um driver especifico de criptografia (CryptDB), que codifica e decodifica as instruções SQL mantendo a privacidade dos dados. O frontend analisa as consultas SQL e, utilizando seus metadados, determina os nós de backend e o plano de execução. O frontend também coordena transações multi-nós, controle de erros por nó (failover), grau de isolamento de desempenho, e a velocidade. Já nos nós de backend, o CryptDB explora uma combinação de criptografia no lado do servidor (serverside) junto com funções de usuário (UDFs) para permitir eficiência no processamento da SQL e suas particularidades – agregação, ordenação, junções, entre outros.

Arquitetura do modelo DaaS

Aplicativos se comunicam com DaaS usando uma camada de conectividade padrão, tais como JDBC. Eles se comunicam com o frontend usando um driver especial que garante a privacidade de seus dados, por exemplo, não pode ser lido pelo administrador do banco de dados (CURINO et al., 2011).

Atualmente grandes empresas como Amazon, IBM, Microsoft, e Oracle ofertam bancos de dados na nuvem. A Amazon com SimpleDB, EnterpriseDB, e MySQL; a IBM com DB2 Express-C e Informix Developer Edition; e a Microsoft com SQL Server Data Services (TAURION, 2009, p. 131, 132).

Referências:

TAURION, Cezar. Cloud computing: computação em nuvem: transformando o mundo da tecnologia da informação. Rio de Janeiro: Brasport, 2009.

CURINO, Carlo; WU, Engene; JONES, Evan P. C.; MADDEN, Sam; RALUCA, Ada Popa; BALAKRISHNAN, Hari; MALVIYA, Nirmesh; ZELDOVICH, Nickolai. Relational Cloud: A Database-as-a-Service for the Cloud. 2011. Disponível em: <http://tiny.cc/sjxxo&gt;. Acesso em: 31 jul. 2011.

HAMILTON, Gary; QUIMBO, Jocelyn; VERMA, Saurabh. Database as a Service: A Different Way to Manage Data. 2009. Disponível em: <http://cloudcomputing.sys-con.com/node/1203562&gt;. Acesso em: 30 jul. 2011.

Anúncios