Publicidade

COMPUTERWORLD - O portal voz do mercado de TI e Comunicação

A central de whitepapers de tecnologia da COMPUTERWORLD

Tecnologia

SQL Server 2008: Change Data Capture e Inserts não registrados

Computerworld, EUA

16 de novembro de 2008 - 23h28
página 1 de 1

Change Data Capture (CDC) e inserts não registrados são interessantes do SQL Server e farão toda a diferença do mundo em certos cenários. Estas melhorias giram em torno de warehouses, principalmente, mas também podem ser úteis em alguns sistemas OLTP. O CDC vai mudar o modo como os desenvolvedores criam processos ETL para warehouses.

O CDC emprega o mesmo leitor de registros empregado em replicação para gravar as especificidades das operações DML (Data Manipulation Language) em uma tabela em vez de um banco de dados de distribuição. Os warehouses podem ser carregados muito facilmente a partir de tabelas que só contêm dados modificados – não é mais necessário modificar aplicações legadas ou processos ETL com colunas de atualização em todas as tabelas a fim de fornecer esta funcionalidade. E você pode rastrear com precisão total as alterações feitas nos dados em suas tabelas sem alterar seu esquema ou realizar uma query confusa e dispendiosa para filtrar as diferenças.

> Volte para o teste do SQL 2008

Também é muito fácil recuperar as mudanças das tabelas CDC. A Microsoft forneceu um conjunto de funções que recuperam os dados. Você só tem que invocá-las. Como é de se esperar, os dados Tipo 1 e Tipo 2 podem ser armazenados, possibilitando que você tenha o nível exato de dados de mudança que deseja.

Inserts não registrados permitem que o SQL Server faça um registro mínimo para grandes inserts. Como ele não registra cada linha de dados inserida, em alguns casos você pode acelerar tremendamente suas cargas de dados. No mínimo, usufruirá ganhos de performance expressivos.

Você podia fazer inserts não registrados em versões anteriores do SQL Server usando o que é conhecido como um statement “select into”, mas, na realidade, ele cria a tabela para você. É fantástico para tabelas novas, mas, se você tiver tabelas antigas com atributos de segurança e outros definidos, não vai querer removê-los e recriá-los. Outro problema de “select into” é que você não controla para onde vai sua nova tabela. Ela sempre se junta ao grupo de arquivos default.

Com o novo insert não registrado você pode inserir as linhas em uma tabela existente, mantendo o controle sobre espaço, performance e segurança e ainda usufruir os benefícios de uma carga de dados ultraveloz. O princípio básico que gosto de adotar para warehouses (e qualquer banco de dados, se você pensar bem) é não ter um esquema móvel. Isso significa que você não quer remover e recriar objetos permanentes todo dia. É um procedimento sujeito a erros e introduz no seu sistema uma complexidade que você não precisa, sem falar nas suas tabelas que não estão disponíveis durante a carga porque foram removidas.

Nos meus testes, os inserts não registrados apresentaram a mesma performance dos congêneres “select into”. Na função de ABD de um grande warehouse que enfrenta problemas de carga de dados todos os dias, adoro este recurso. Só mudaria uma coisa: gostaria de ter uma opção que eu pudesse acrescentar ao meu statement insert para colocá-lo no modo não registrado.

Publicidade
As mais lidas
Especial - IT Leaders 2011

Cloud computing é difícil?

Cloud computing é difícil?

O ITBOARD materializa a nova plataforma de conversas do Século XXI. Concentra o diálogo sobre tecnologia e inovação movido a tweets de quem está imerso nesses assuntos. ENTRE NA CONVERSA

Publicidade
Newsletters
Assine a Computerworld