Fernando Correia

Modelo de cobrança do SQL Database

In Dicas on 28 set 2012 at 20:45

Uma dúvida que pode surgir sobre o SQL Database (antigo SQL Azure) é se o pagamento é por instância de servidor ou se é por base de dados.

Na realidade, a cobrança é por base de dados. Por exemplo, um servidor que tenha duas bases de dados de 1 GB irá custar 2 x US$ 9.99 por mês (no total, US$ 19.98).

Se estivessem sendo usadas duas instâncias de servidor para estas mesmas duas bases de dados de 1 GB, o preço seria o mesmo.

A explicação para isso é que no SQL Database as instâncias de servidor SQL não são exclusivas; na verdade elas são compartilhadas de forma transparente e isolada com outros clientes do Windows Azure.

Um aparte: aqui, nas entrelinhas, para bom entendedor, está uma verdade mais profunda. O SQL Database não é servidor: é serviço. Você está contratando serviço gerenciado e pagando pelo uso. O banco de dados é seu. O servidor é da Microsoft. Ou os servidores, porque o SQL Database é fornecido com alta disponibilidade.

Já se o servidor tivesse apenas 1 base de dados de 2 GB, o preço seria US$ 13,99 por mês. Então alguém pode pensar: é melhor então usar o schema para separar estruturas de dados diferentes em uma única base de dados, e pagar menos.

Se o volume de uso for baixo, pode ser uma boa. Mas se for um volume mais alto, vai ter problema de performance, porque cada base de dados tem limites de uso de processador, transações por segundo e outros parâmetros. Então usar mais bases de dados não significa apenas mais capacidade, mas também mais recursos de processamento de banco de dados. Esse é um dos motivos para usar o recurso de Federations para fazer o particionamento horizontal do banco de dados.

É possível simular os custos do Azure com a calculadora de preços.