Por que usar o RDS sobre EC2 para Postgres?

12

Eu tenho um banco de dados atualmente em execução no EC2. Como tenho que movê-lo para uma máquina maior, surgiu a questão de usar o RDS.

Preços:

Posso obter uma instância do EC2 c3.large com dois SSDs (16 GB cada), dois vCPUs e 4 GB de memória sob demanda por US $ 0,132 por hora [1] .

A máquina RDS mais próxima (considerando o preço) seria db.m3.mediumde US $ 0,125 por hora (Single-AZ) [2] . Esta máquina possui a mesma quantidade de memória, mas apenas uma vCPU [3] . Além disso, eu teria que pagar pelo armazenamento e io [2] .

Portanto, os preços seriam muito semelhantes para esses dois.

As vantagens do EC2:

  1. Como já mencionado, mais uma vCPU.
  2. Posso colocar o Write-Ahead-Log no segundo disco ao usar o EC2 (grande melhoria de desempenho ao gravar muito no db).
  3. Posso executar o pgbouncer na minha instância do EC2 (mais desempenho porque posso manter as conexões abertas).
  4. Eu posso editar o arquivo de configuração (eventualmente melhorará o desempenho)

As vantagens para o RDS:

  1. Faz backups diários automaticamente.

O RDS pode cobrir as vantagens que o EC2 possui (especialmente 2.)? Há outras vantagens?

kev
fonte

Respostas:

8

Como a maioria das coisas, é uma troca de custo x esforço / complexidade.

O RDS é mais fácil, mas menos flexível, e custa mais pelo mesmo nível de desempenho.

(Em particular, observe que não há como replicar dentro ou fora do RDS )

Craig Ringer
fonte
Por isso vou manter a solução existente :-)
kev
4

Para uma comparação de instância única, não muito, mas o RDS tem muitas vantagens, a manutenção de uma configuração multi-AZ com réplicas de leitura em diferentes regiões etc. é mais do que eu preferiria lidar no EC2. O RDS faz uma enorme quantidade de ferramentas que você precisaria fazer; isso é sempre uma vantagem. O RDS também apresenta uma interface uniforme para seus bancos de dados, na minha opinião, uma vantagem considerável e ajuda a reforçar a consistência na implantação de bancos de dados. Ainda usamos o pgbouncer em uma instância, é claro.

Eu francamente preferiria executar bancos de dados em hardware de coloc do que no EC2. Eu odeio rodar bancos de dados no EC2. Movê-los, fazer dumps e backups é um pesadelo, pois o desempenho de E / S do ec2 é simplesmente miserável e a compra de muitos Iops é terrivelmente cara e ainda não se aproxima do desempenho do hardware. Se eu posso viver com os limites do RDS, eu sempre vou usá-lo.

figtrap
fonte