Solução autoescalaável para o servidor SQL na nuvem

1

Eu tenho um projeto em execução no AWS usando o EC2 para servidores da web e um servidor SQL. O uso do projeto passa por mudanças sazonais. Há um tempo muito limitado (normalmente alguns dias por ano), onde há alta atividade (centenas de solicitações por segundo). O resto do tempo há atividade muito baixa.

Estou à procura de um produto na nuvem compatível com SQL que se auto-dimensione conforme necessário. Eu estou esperando para precisar de alterações mínimas para o meu código para se adaptar a esta solução. Eu sei que posso usar diferentes tipos de serviços de escalonamento automático com mudanças de código mais extensas.

    
por Ron Harlev 01.08.2016 / 20:15

1 resposta

4

O Amazon RDS não é elástico dessa forma - é um dos serviços menos elásticos da Amazon. Você pode obter um tamanho de instância maior enquanto está em execução, mas isso pode levar algum tempo (minutos a horas). Se você planeja fazer isso, é melhor ter uma configuração multi-AZ, pois a nova instância é criada a partir do banco de dados de backup e não do mestre. Com o único mestre AZ pode fazer uma pausa por um minuto. O Azure é praticamente o mesmo.

Infelizmente, não acredito que a solução desejada exista na AWS. Você terá que ampliar seu banco de dados manualmente antes desses picos ou você pode escalar usando réplicas de leitura. As réplicas de leitura normalmente exigem alterações no aplicativo.

Você pode escolher reprojetar de uma maneira que leve isso em conta, usando NoSQL, Redis / Memcached ou alguma outra tecnologia criada para escalar.

    
por 01.08.2016 / 22:57