Eu tenho um grande banco de dados com várias publicações de replicação transacional. Cada publicação tem 15-20 artigos. Algumas assinaturas são push, portanto, cada vez que um novo artigo é adicionado à publicação, um novo instantâneo grande deve ser criado. Para evitar isso, estou pensando em criar uma única publicação por artigo (não adicionando o artigo a um já existente), reduzindo assim a necessidade de um grande snapshot. Eu estou querendo saber se esta abordagem tem algum downsize.
relate perguntas
-
Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
Na minha última posição tivemos dezenas de publicações. Agrupamos os artigos por tamanho onde as maiores tabelas com milhões ou dezenas de milhões de linhas teriam sua própria publicação e as demais seriam agrupadas. Em alguns casos as publicações foram agrupadas por tabelas que eram necessárias para uma única aplicação. Algumas tabelas críticas também estavam em publicações próprias para que se precisássemos reinicializá-las durante o dia, não seria por causa de alguma tabela menor.
Mas isso também depende do seu hardware, aplicativos, etc. Algumas publicações nós reiniciavamos durante o dia e ninguém reclamou. Outros só podiam ser feitos depois do expediente.
Nós provavelmente tínhamos mais de 1.000 tabelas que publicamos, então uma tabela por artigo seria impossível. Não há uma resposta difícil sobre isso.
Você pode adicionar um artigo sem criar um instantâneo COMPLETO a cada vez. Consulte ( http://www.sqlservercentral.com/articles/Replication/119650/ )
Eu nunca criei uma publicação por artigo, acho que gerenciar isso seria uma grande dor de cabeça. Uma desvantagem que pude ver é que, se você quisesse recriar um "grupo" de artigos, levaria um pouco mais de tempo para criar tantas publicações.