A Microsoft anunciou a disponibilidade geral do Azure SQL Data Sync, um serviço que permite aos clientes sincronizarem dados entre o banco de dados Azure SQL e qualquer outro servidor SQL de forma unidirecional e bidirecional. Além disso, este lançamento inclui algumas novas opções de configurações, atualização mais rápida do esquema do banco de dados e um processo mais seguro de sincronização de dados.
O lançamento da disponibilidade geral do Azure SQL Data Sync é a atualização da versão anterior - de junho de 2017 - o Azure SQL Data Sync Refresh, que incluiu algumas melhorias significativas como suporte ao novo portal do Azure, suporte ao PowerShell e às API REST, além de aprimoramentos de segurança e a privacidade. Este lançamento inclui novas melhorias, de acordo com anúncio sobre o lançamento, Xiaochen Wu, gerente senior do projeto de Banco de Dados Azure SQL, menciona:
- Melhor experiência em configuração - Fluxo de trabalho de configuração mais confiável e melhor experiência ao usuário.
- Mais confiável e rápido a atualização do esquema do banco de dados - Carga do esquema do banco de dados mais eficiente usando a nova biblioteca SMO.
- Sincronização dos dados mais segura - Foi revisado o fluxo de trabalho de sincronismo ponta-a-ponta e garantido que os dados dos usuários estão sempre encriptados tanto nos bancos de dados quanto durante a transferência. O serviço Data Sync agora atende aos requisitos de conformidade GDPR.
Com o Azure, empresas que utilizam o SQL Data Sync podem implantar soluções de banco de dados SQL de forma híbrida e permitir acesso de aplicações aos dados no Azure e dentro da empresa. Além disso, tais empresas podem implantar aplicações globais e ter uma cópia dos dados em cada região, e assim podem manter os dados sincronizados em todas as regiões. Em um artigo no The Register sobre o lançamento, Richard Speed disse:
Ao direcionar as aplicações para uma cópia local do banco de dados, a Microsoft considera que o tempo de acesso e o tempo de resposta serão melhorados significativamente e a latência e falhas de conexão serão reduzidas.
O serviço SQL Azure Data Sync requer um repositório central de banco de dados no Azure e alguns banco de dados membros no Azure ou local. Um administrador de banco de dados configura os bancos de dados como um grupo Sync e especifica a direção dos dados entre os bancos de dados membros e o repositório central (tanto unidirecional quanto bidirecional). Quando o processo de sincronização é iniciado, os bancos de dados receberão os gatilhos de Inserção, Atualização e Remoção, no qual atualizarão os dados nas tabelas que eventualmente forem necessárias entre o repositório central e os bancos de dados membros. Depois, os bancos de dados membros baixam tais dados. O grupo Sync contêm a Política de Resolução de Conflitos, na qual gerencia os conflitos ao aplicar a política Repositório Central Vence - o repositório central sobrescreverá os dados nos bancos de dados membros ou vice versa com a política Repositório Central Vence. Note que com múltiplos banco de dados membros, o valor final depende de qual banco de dados membro é atualizado primeiro.
Fonte: https://azure.microsoft.com/en-us/blog/announcing-the-general-availability-of-azure-sql-data-sync/
O Azure SQL Data Sync tem várias limitações, desde a falta de suporte a Timestamps até operações sincronizadas sendo eventualmente consistentes. Além disso, a sincronização de dados utiliza gatilhos executados após alterações no banco de dados e pode impactar a performance de acordo com a documentação. No entanto, a intenção do serviço SQL Azure Data Sync, de acordo com Richard Speed no mesmo artigo no The Register é:
Pra ser sincero, a Microsoft deixa claro que os usuários não devem usar esta tecnologia para recuperação de desastre ou escalar seus serviços no Azure, e não é sua intenção sobrepor o serviço de Migração de Banco de Dados Azure para trocar de banco de dados SQL local para o serviço da nuvem da Microsoft. A fabricante de software vê que o serviço atende a um nicho de clientes que precisam de uma cópia atualizada de seus dados para criação de relatórios e análises.