A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Capturando Dados Históricos com Change Data Capture Arthur Luz | MCSA & MCT em SQL Server

Apresentações semelhantes


Apresentação em tema: "Capturando Dados Históricos com Change Data Capture Arthur Luz | MCSA & MCT em SQL Server"— Transcrição da apresentação:

1 Capturando Dados Históricos com Change Data Capture Arthur Luz | MCSA & MCT em SQL Server arthurjosemberg@gmail.com http://arthurluz.wordpress.com

2 Patrocinadores

3

4 Quem sou eu? Sênior BI Analyst at Comp Line Services Solutions BI and Database Consultant and Instructor in One Way Solution and BI do Brasil Writer at SQL Magazine MCSA e MCT em SQL Server Microsoft Instructor at Hepta Novintec

5 Agenda Parte 1 Change Data Capture – Overview Change Data Capture – Arquitetura Criando o CDC no SQL Server Entendendo as Funções [get_all_changes] e [get_net_changes] Parâmetros Avançados – sys.sp_cdc_change_job Melhores Práticas e Observações Parte 2 Consumindo os Dados do CDC com SSIS – Default Consumindo os Dados do CDC com SSIS – Dynamic

6 Change Data Capture - Overview Feature responsável pela captura de dados de alteração em tabelas a partir do Log de maneira assíncrona. Permite o versionamento dos dados com range de duração definido pelo LSN de início da transação. Usa as mesmas estrutura de sistema que a replicação transacional. Por isso permite a captura não somente de tabelas específicas, mas também de colunas específicas.

7 Change Data Capture - Arquitetura Log Table 1Table 2Table 3 _CDC 1 _CDC 2 _CDC 3 OLTP OLAP

8 Criando o Change Data Capture

9 Parâmetros Avançados Na procedure de sistema sys.sp_cdc_change_job é possível editar os seguintes parâmetros de configuração do CDC para o Job de captura: @maxscans – número de ciclos de leitura do log entre cada pollinginterval; @maxtrans – número de transações lidas em cada ciclo; @continuous – habilita a execução continua do job; @pollinginterval – intervalo em segundos entre cada ciclo de leitura de log.

10 Parâmetros Avançados Na procedure de sistema sys.sp_cdc_change_job é possível editar os seguintes parâmetros de configuração do CDC para o Job de limpeza: @retention – quantidade de tempo em segundos de armazenamento dos dados históricos; @threshold – quantidade de registros deletados a cada interação do job;

11 Parâmetros Avançados Maxscans - Número de ciclos de leitura do Log Novo ciclo de leitura Maxstrans - Número de transações lidas por ciclo Pollinginterval – tempo em segundos entre cada ciclo de leitura Tempo

12 Parâmetros Avançados Padrão – @continuous = 1, @maxscans = 10, @maxtrans = 500 e @pollinginterval = 5 Modificado – @continuous = 1, @maxscans = 100, @maxtrans = 5000 e @pollinginterval = 5

13 Parâmetros Avançados

14 Configurações Avançadas

15 Melhores Práticas e Observações 1) Cuidado com o subsistema de I/O. Quando o CDC está habilitado, o Log pode crescer entre 200% e 300%. 3) Mesmo em recovery mode simple e bulk logged ou depois de um backup de log no mode full o log continua a crescer as tabelas de CDC não forem populadas. 4) Não é possível realizar Shrink ou backup de log para reduzí-lo antes de as tabelas de CDC estarem devidademente carregadas. 2) O CDC funciona em todos os recovery modes, porém, não será mais possível realizar operações minimamente logadas.

16 Melhores Práticas e Observações 5) Se o arquivo de Log estiver cheio não será possível carregar as tabelas de CDC. Nesse caso, a melhor prática é adicionar temporariamente um novo arquivo de Log. 6) Para manter o filegroup primary pequeno e ter uma clara distinção do que são dados do sistema e dados históricos é recomendando habilitar as tabelas de cdc em um file group diferente; 7) O CDC funciona em todos os recovery modes, porém, não será mais possível realizar operações minimamente logadas. 8) Uma boa rotina de Cleanup é recomendada.

17 Consumindo Dados do CDC através do SSIS - Default CDC Source – Task usada para captura de dados a partir de uma tabela de CDC; CDC Splitter – Task usada para realizar a separação dos registros Deletados, Inseridos e Atualizados. CDC Control Task – Task usada para controle de Range de LSN;

18 Consumindo Dados do CDC através do SSIS - Default Verifica o tipo de carga Marca o LSN inicial de Carga Executa carga inicial Captura o último LSN para carga incremental Executa carga incremental Marca o LSN final da carga inicial Salva o ultimo LSN para próxima carga CDC Control Task Control Flow

19 Consumindo Dados do CDC através do SSIS - Default CDC Source CDC Splitter Destino Inseridas Data Flow Destino Atualizadas Destino Deletadas

20 Configurando ETL Carga Padrão

21 Consumindo Dados do CDC através do SSIS - Dynamic Captura tabela do ciclo Habilita Trace Flag 610 Desabilita Trace Flag 610 Verifica o tipo de carga Captura as colunas a serem populadas Executa carga inicial Captura as colunas a serem populadas Executa carga incremental

22 Configurando ETL Carga Dinâmica

23 Muito obrigado pela presença de todos! Dúvidas?!...

24 Email - arthurjosemberg@gmail.com Linkedin – Arthur Luz Twitter - @arthurjosemberg Skype - arthurjosemberg Blog – arthurluz.wordpress.com


Carregar ppt "Capturando Dados Históricos com Change Data Capture Arthur Luz | MCSA & MCT em SQL Server"

Apresentações semelhantes


Anúncios Google