Alta performance com carga direta de dados

Este artigo apresenta como podemos otimizar a carga de dados provenientes de diferentes fontes. Será visto o que deve ser evitado nestas situações e como podemos resolvê-la satisfatoriamente com o uso do Direct Path.

[rotulo-mentoring/] [lead-mentoring]São comuns as situações em que arquivos externos advindos de diversas fontes precisam ser carregados no banco de dados. Este tipo de carga massiva de dados costuma demorar bastante e consumir uma quantidade de recursos realmente grande. No entanto, é possível tornar o processo mais rápido e com um custo de recursos mais baixo. Para isso, basta utilizar a estratégia de carga direta, conhecida como Direct Path. A carga direta constrói blocos de dados na memória e salva esses blocos diretamente nas extensões alocadas para a tabela que está sendo carregada. Esta solução melhora consideravelmente o desempenho da carga de dados. [/lead-mentoring]

Sempre que se fala em carga massiva de dados há uma grande preocupação em como executá-la com alto índice de desempenho e baixo índice de consumo de recursos. É uma preocupação legítima e também um grande desafio. Esta situação ocorre, por exemplo, com cargas de dados diárias em ambientes OLAP (Online Analytical Processing) ou mesmo cargas em bancos de dados tipicamente OLTPs (Online Transaction Processing) que costumam receber arquivos do tipo texto (os famosos flat files).

O processamento analítico on-line, ou OLAP, é uma abordagem para responder rapidamente a consultas multidimensionais analíticas. OLAP é parte da categoria mais ampla de BI - Business Inteligence, que engloba também relatórios relacionais e mineração de dados. Aplicações típicas de OLAP incluem relatórios de negócios para vendas, marketing, comunicação, gestão de processos de negócios, orçamento e previsão, e relatórios financeiros.

Ferramentas OLAP permitem aos usuários analisar de forma interativa dados multidimensionais. Os bancos de dados configurados para ambientes OLAP usam um modelo de dados multidimensional, permitindo consultas analíticas complexas e ad-hoc com um tempo de execução rápido.

O processamento de transações on-line, ou OLTP, refere-se a uma classe de sistemas que facilitam a operação e gerenciamento de aplicações orientadas, normalmente, a entrada de dados e processamento de transações de consultas. O OLTP também tem sido usado para se referir a processamento no qual o sistema responde imediatamente a pedidos do usuário. Um caixa eletrônico para um banco é um exemplo de uma aplicação comercial de processamento de transações on-line.

Em aplicações de grande porte, a eficiência de um sistema OLTP pode depender de um sofisticado software de gerenciamento de transações e/ou táticas de otimização de banco de dados para facilitar o processamento de um grande número de atualizações simultâneas para um banco de dados OLTP.

Para sistemas de banco de dados descentralizado, programas intermediários de OLTP podem distribuir o processamento de transações entre vários computadores em uma rede. O OLTP é muitas vezes integrado a uma arquitetura orientada a serviços (SOA) e Web Services.

Sendo assim, é essencial que a carga de dados seja feita da maneira mais rápida possível com o menor consumo de recursos.

Quando falamos do banco de dados Oracle, a primeira coisa que deve vir a cabeça é o uso do utilitário SQL*Loader. Ele foi projetado especificamente para este tipo de tarefa. No entanto, nem todos o utilizam da melhor maneira e alguns recursos acabam sendo utilizados sem que realmente haja necessidade.

O SQL*Loader é o principal método para popular rapidamente tabelas com dados de arquivos externos. Ele tem um poderoso mecanismo de análise de dados que permite que praticamente não haja limitação em relação ao formato dos dados no arquivo externo. O SQL*Loader pode ser executado através de linha de comando (sqlldr) ou através da interface gráfica do "

[...] continue lendo...

Artigos relacionados