A capacidade de rastrear alterações em seu banco de dados pode ser um processo demorado e tedioso que pode, em certas circunstâncias, impactar o desempenho de seu banco de dados e de seus usuários. O InterBase oferece uma solução fácil de implementar para rastrear essas mudanças.
O que são as visualizações de mudança?
Change Views são um modelo de assinatura patenteado usado para assinar dados e identificar quais dados foram alterados no banco de dados.
Você cria uma assinatura que cobre diferentes tabelas e colunas e dá aos usuários o direito de assinar as alterações nos dados. Não há tabelas de log ou arquivos externos, portanto, é uma configuração muito limpa que rastreia internamente, o que significa que suas alterações estão seguras dentro de seu banco de dados e não ficam em arquivos que qualquer pessoa possa acessar.
Apenas os usuários inscritos nessas alterações de dados podem realmente ver as alterações disponibilizadas para / para eles.
As assinaturas podem ser executadas durante uma conexão e durante uma conexão. Portanto, durante uma conexão, você pode receber um alerta e, em seguida, apenas buscar os deltas. Portanto, se você buscasse alguns milhares de registros e recebesse uma mensagem que diz “ocorreram alterações na tabela”, você pode usar as visualizações de alteração para obter o delta em vez de ter que atualizar a consulta inteira novamente. Reduzindo o tempo e a movimentação de dados em sua rede.
Para estender uma conexão, uma coisa muito legal é que você não precisa realmente estar conectado para registrar as alterações. Depois de iniciar uma transação de banco de dados, você pode definir uma assinatura, desconectar-se do banco de dados e iniciar uma nova conexão com uma nova transação no futuro.
Ao fazer alterações em seus dados, você os busca sempre que aplica as atualizações. Usando as visualizações de mudança do InterBases, você agora pode identificar especificamente quais deltas mudaram no nível do campo, então usando isso você só precisa empacotar e mover os dados que mudaram. Alguns dos benefícios de usar Alterar Visualizações são
- Reduza custos e E / S de disco, minimizando sincronizações de dados em dispositivos móveis
- Pouco impacto no desempenho
- Sem tabelas de log externas
- Escalabilidade de usuários
- Acompanhe as mudanças da maneira que você quiser
Quando o Change Views sincroniza, apenas as alterações entre os bancos de dados local e do servidor são movidas, mantendo os dados precisos e atualizados!
Como configurar as visualizações de mudança
Existem duas etapas principais que você precisa seguir para utilizar as visualizações de alteração, configurar assinaturas no servidor e adicionar alguns componentes ao seu aplicativo.
Servidor
- Criar uma assinatura
- Especifique os dados no nível da tabela, coluna / campo.
- Conceda acesso de assinatura
Amostra para CREATE SUBSCRIPTION
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<b>CREATE</b><span style="font-weight: 400;"> SUBSCRIPTION sub_employee_changes </span><b>ON</b><span style="font-weight: 400;"> EMPLOYEE (EMP_NO, DEPT_NO, SALARY) DESCRIPTION </span><span style="font-weight: 400;">'Subscribe to changes in EMPLOYEE table'</span><span style="font-weight: 400;">;</span> <b>CREATE</b><span style="font-weight: 400;"> SUBSCRIPTION sub_customer_deletes </span><b>ON</b><span style="font-weight: 400;"> CUSTOMER </span><b>FOR</b> <b>ROW</b><span style="font-weight: 400;"> (</span><b>DELETE</b><span style="font-weight: 400;">) DESCRIPTION </span><span style="font-weight: 400;">'Subscribe to deletes in CUSTOMER table'</span><span style="font-weight: 400;">; </span> <b>CREATE</b><span style="font-weight: 400;"> SUBSCRIPTION sub_various_changes</span> <span style="font-weight: 400;"> </span><b>ON</b><span style="font-weight: 400;"> EMPLOYEE </span><b>FOR</b> <b>ROW</b><span style="font-weight: 400;"> (</span><b>INSERT</b><span style="font-weight: 400;">, </span><b>UPDATE</b><span style="font-weight: 400;">, </span><b>DELETE</b><span style="font-weight: 400;">),</span> <span style="font-weight: 400;"> CUSTOMER </span><b>FOR</b> <b>ROW</b><span style="font-weight: 400;"> (</span><b>INSERT</b><span style="font-weight: 400;">, </span><b>UPDATE</b><span style="font-weight: 400;">, </span><b>DELETE</b><span style="font-weight: 400;">),</span> <span style="font-weight: 400;"> SALES </span><b>FOR</b> <b>ROW</b><span style="font-weight: 400;"> (</span><b>UPDATE</b><span style="font-weight: 400;">),</span> <span style="font-weight: 400;"> DEPARTMENT (</span><b>LOCATION</b><span style="font-weight: 400;">) </span><b>FOR</b> <b>ROW</b><span style="font-weight: 400;"> (</span><b>UPDATE</b><span style="font-weight: 400;">)</span> <span style="font-weight: 400;"> DESCRIPTION </span><span style="font-weight: 400;">'Subscribe to various changes on multiple tables'</span><span style="font-weight: 400;">;</span> <b>GRANT</b><span style="font-weight: 400;"> SUBSCRIBE </span><b>ON</b><span style="font-weight: 400;"> SUBSCRIPTION </span><span style="font-weight: 400;"><</span><span style="font-weight: 400;">subscription_name</span><span style="font-weight: 400;">></span> <b>TO</b> <span style="font-weight: 400;"><</span><span style="font-weight: 400;">user_name</span><span style="font-weight: 400;">></span><span style="font-weight: 400;">;</span> |
Cliente
Depois que as assinaturas são configuradas no servidor, você pode adicioná-las / ativá-las em seus aplicativos.
- Inicie a transação no modo de isolamento SnapShot.
- Defina sua assinatura como ativa usando uma consulta para executar uma assinatura definida ativa como Verdadeiro
- Execute uma instrução select para buscar os deltas. Esta poderia ser uma declaração simples de seleção.
- Depois de obter seu (s) delta (s), comprometa sua transação para atualizar suas visualizações de alteração no aplicativo.
Recursos
Documentação de alteração de visualizações: https://docwiki.embarcadero.com/InterBase/2020/en/Getting_Started_with_Change_Views
Notificações de alteração de dados FireDAC : docwiki.embarcadero.com/RADStudio/Sydney/en/Data_Change_Notifications_(FireDAC)#Data_Change_Notifications_for_Specific_DBMS
InterBase: https://docwiki.embarcadero.com/InterBase/2020/en/Main_Page
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition