O debate MariaDB vs PostgreSQL continua a se espalhar na minha empresa :-( e é alimentado por este post de blog um tanto famoso . Encontrei algumas discussões interessantes sobre mitigações de amplificação de gravação aqui . Minha pergunta é, algo assim foi lançado como parte do PostgreSQL 10 ou 11? Eu pesquisaria a documentação, mas não tenho certeza de como se chamaria.
relate perguntas
-
Posso ativar o PITR depois que o banco de dados foi usado
-
Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo
-
Os procedimentos armazenados impedem a injeção de SQL?
-
Sequências Biológicas do UniProt no PostgreSQL
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
Não, nada importante nesse sentido foi lançado.
Resposta principal: De acordo com esta apresentação , a introdução do Postgres 10 de uma opção de replicação lógica (em oposição à replicação de bytes que tínhamos nativamente * antes) reduz a amplificação de gravação em réplicas até certo ponto - a partir da minha edição mais recente para isso post – a reclamação fundamental do Postgres vinculando índices diretamente a CTIDs (que exige que todos os índices associados a uma linha sejam atualizados quando essa linha tiver uma alteração, um op que também deve fluir para réplicas) ainda permanece.
* A replicação lógica está disponível como um plugin simples desde 9.4, e de uma forma ou de outra desde muito antes disso.
A parte : aparentemente, a amplificação de gravação não foi a única razão para a mudança do Uber de acordo com este tópico (aparentemente apoiado por algumas mensagens que apareceram na lista de discussão); as dificuldades com o desempenho foram apenas parte do motivo pelo qual decidiram mudar.
Uma apresentação discutindo a legitimidade das reclamações do Uber contra o Postgres pode ser encontrada aqui . Ele afirma que alguns dos problemas que o post do Uber destacou tiveram soluções ou foram auto-causados.