Banco de dados localizado para clientes

1

A empresa em que trabalho acaba de se mudar para a AWS - e atualmente eles têm um banco de dados central muito grande com a instância atualmente localizada na América.

No entanto, um de seus clientes solicitou que todos os seus dados sejam mantidos na UE. Portanto, criar uma instância do AWS na Irlanda não é um problema, o problema é o banco de dados e como gerenciá-lo.

Pensamos em ter outro banco de dados executado na UE para clientes europeus e usar uma etapa de chave primária diferente, para que as chaves primárias nunca entrem em conflito caso os dois locais precisem ser mesclados no futuro.

O problema é que, se tivermos um cliente que usa nosso sistema na América e na UE, teríamos que criar duas contas para esse usuário, e os relatórios em ambas as regiões não seriam possíveis, pois o tempo de conexão também seria alto.

Existe uma alternativa para configurar isso?

    
por Jim 03.08.2012 / 18:05

3 respostas

0

Você já pensou em criar um Cluster do MySQL para conseguir isso?

    
por 03.08.2012 / 18:12
0

Primeiro de tudo, você pode definir a chave principal auto-incremental como 2n (número par) para EU e 2n + 1 (número ímpar) para EUA, para essas contas residirem em ambos os locais, você deve definir um local principal para eles e definir a chave pelo local principal. Desta forma, não haveria conflito de chave, mas você facilmente mesclará os dados de dois locais Em segundo lugar, para o relatório, você pode gerar relatórios de faturamento para os dois locais separadamente e mesclar informações de faturamento para contas que estão em ambos os locais.

    
por 29.08.2012 / 16:56
0

Você pode querer examinar transações distribuídas. Transações distribuídas são suportadas pelo mecanismo de armazenamento InnoDB do MySQL. Aqui está um link para você começar.

    
por 04.08.2012 / 05:18

Tags