DB em container degrada o desempenho?
Saudações galera.
indo direto ao assunto:
Rodar a engine do DB dentro de um container docker causaria alguma degradação de desempenho (por menor que seja) em comparação a executar o DB direto no sistema host?
me veio essa dúvida após pesquisar sobre formas de tuning de DB (especificamente pro PostgreSQL)
estou fazendo uma migração de banco e o PostgreSQL foi selecionado pra isso.
Eu sou fã do docker e toda a aplicação que estou trabalhando esta rodando em containers e services docker, então, nada mais lógico do que rodar o DB também em docker (obviamente fazendo os binds dos dados pra um diretório no sistema host)
o caso de uso em questão não é pra uma aplicação pequena.
o foco aqui é ter um banco que vai suportar milhões de inserções por dia (e armazenar algumas dezenas de bilhões de registros)
já que a aplicação em questão tem milhares de usuários e gera milhões de dados diariamente.
então qualquer degradação minima de desempenho pode ser problemática.
pesquisei a respeito disso e as respostas foram bem mistas quanto ao grau de perda de desempenho por se rodar a engine do DB em um container.
a ideia principal de quem critica containers pra DB é que o orquestrador de containers é uma camada de software extra entre o host e o DB, então teoricamente poderia ser um gargalo em altas cargas.
fico pensando se é muita neura minha ou se tem algum fundo de verdade.
algum expert em docker e DBs poderia sanar essa minha dúvida? 😅
ps: fiz toda a implementação do PostgreSQL com replicação Master-slave usando docker swarm, mas acabei nem colocando em produção por conta dessa dívida. Refiz no método tradicional kkkk