Produtos Soluções
Página Inicial Quem Somos Downloads Jornal CoSORT Contate a CoSORT Brasil

Uso em DBMS

CoSORT - O Ambiente RDBMS
Muitas aplicações cliente/servidor são desenvolvidas com sistemas de gerenciamento de banco de dados relacional (RDBMS). Como UNIX e Wintel são agora as plataformas operacionais atraentes em custos, estas questões e respostas tem sido mais importantes:

Como um sort melhora a performance de um RDBMS?
Quais são as especificações de uso do CoSORT nestes ambientes ?

- Oracle
- DB2
- Sybase e SQL Server
- Software AG Natural
- Cincom Supra SQL

- Como eu posso usar o CoSORT para melhoria de tempos de cargas no RDBMS?
- O que faz o CoSORT?
- Porque cada vez mais, usuários de RDBMS escolhem o CoSORT?

- Como um SORT melhora a performance de um RDBMS?

Como uma solução de manipulação de dados externos e classificação em alta velocidade, o CoSORT pode radicalmente melhorar sensivelmente o desempenho de operações do RDBMS. Cargas, reorganização de tabelas, extração de dados, totalizações e geração de relatórios, todos podem se beneficiar. As associações entre dados externos (join) feitas pelo CoSORT, também são executadas com extrema velocidade que quando usados via SQL ou PL/SQL.

Como os sorts disponíveis nos sistemas operacionais UNIX e em compiladores COBOL, os sorts dentro dos sistemas de banco de dados não são designados para altos volumes de processamento. A Sybase recomenda a classificação externa para acelerar a criação de índices durante a carga de dados na base (veja em Sybase SQL Server Reference Manual, Volume 1: Commands, Functions and Topics).

O CoSORT combina a velocidade de processamento paralelo, suporte para todos tipos de dados, e a mais flexível funcionalidade de mapeamento de dados, para prover o caminho mais barato de acabar com os gargalos do banco de dados. O CoSORT é muito utilizado por DBAs para aumentar a velocidade dos "reorgs." Os dados são descarregados de tabelas, ou "dumped" para um flat file, o qual é rapidamente classificado pelo CoSORT, e então recarregados. Devido a criação de índices ser mais eficiente com dados classificados, as cargas são mais rápidas. Veja instruções específicas para databases nesta página.

E mais, utilitários de cargas dos RDBMS, não trabalham bem se os dados contém registros duplicados ou encontram um registro fora de seqüência. Além de você ganhar tempo nas cargas devido à classificação, também prepara os dados, eliminando duplicidades, e agregando milhões de registros no mesmo instante. Freqüentemente tabelas reorganizadas também aumentam o tempo de respostas de transações (queries).

Como explorar o CoSORT nestes ambientes ?

1) Descarregar o RDBMS. Os administradores de banco de dados (DBAs) tipicamente usam a cláusula SQL SELECT para extrair arquivos da base de dados. Os usuários do CoSORT sabem que a extração pode ser mais rápida se remover qualquer ORDER BY, GROUP BY e/ou DISTINCT, e porque o CoSORT pode classificar, agregar e remover duplicações muito mais rápido que qualquer RDBMS ou ferramenta de ETL, deixando-os livres para fazer o que eles fazem de melhor.

2) Classificar/ Transformar com o CoSORT. Chamando um utilitário externo do CoSORT (Sort, SortI, ou SortCL) na linha de comando, shell script, Java GUI, ou mesmo de uma chamada API dentro do seu programa para classificar arquivos de entrada ou tabelas pelo campo chave usado em um índice. Clique aqui para ver outras simulações de filtros de dados, comparação (matching), conversão, agregação, reposicionamento, e relatórios gerados via um job SortCL.

3) Recarga do RDBMS. Veja instruções específicas abaixo, para cada tipo de banco de dados, que chegam a 90% mais rápidas !

Para Oracle

Você pode conferir no manual Oracle's Server Utilities Guide, que a pré-classificação aumenta a performance das cargas e queries, e minimiza o armazenamento temporário necessário durante a carga.

1) Use o SQL para extrair suas tabelas para arquivos textos;

2) Classifique a(s) entrada(s) com o campo índice mais abrangente (ou somando colunas)usando qualquer um dos utilitários do CoSORT ou APIs;

3) Use o SQL*LOADER para carregar a(s) saida(s) ordenada(s), com o argumento da linha de comando DIRECT=TRUE; e,

4) Para criar índices durante a carga, use a cláusula SORTED INDEXES no arquivo de controle de carga. Para criar índices após a carga, use o comando SQL CREATE INDEX com a opção NOSORT. Per Oracle's Server Utilities Guide, presorting improves the performance of direct path loads and queries, and minimizes the temporary storage requirements during the load.

Para DB2

Use o CoSORT Load Accelerator (CLA) para DB2, adicionando a seguinte variável de ambiente:

DB2SORT=cosort_la.so
export DB2SORT

e o DB2's loader usará o sort do CoSORT via co-rotina, em vez do sort próprio. Este processo é totalmente transparente, reduz tempos de cargas no mínimo em 50%, e roda em versões UDB 5.1, 5.2, 6.1 e 7.1 em todas plataformas UNIX.

Para Sybase e SQL Server

1) Você vai criar um índice de cluster, mas neste estágio os índices precisam ser eliminados. Isto é feito pela criação de tabelas sem índices ou triggers, ou via dropp na tabela para ser carregada.

2) Use qualquer interface do CoSORT para classificar os dados na chave primária.

3) A tabela ordenada é carregada rapidamente porque não há índices na tabela.

4) Use o comando SQL, CREATE INDEX, usando a opção SORTED_DATA, para criar o índice de cluster.

For Software AG Natural

1) Coloque o arquivo libnat2cs.a no diretório $COSORT_HOME/lib

2) Coloque o Makefile.nat2cs em $NATDIR/$NATVERS/bin/build

3) Execute:

cd $NATDIR/$NATVERS/bin/build
mv Makefile Makefile.orig
ln -s Makefile.nat2cs Makefile
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:$COSORT_HOME/lib

4) Use a procedure de linking:

make natural cosort=yes

Para Cincom Supra SQL

A Cincom Systems acoplou diretamente a API do CoSORT dentro de sua funcionalidade de cargas indexadas no banco de dados Supra SQL para UNIX, v2.8. Nenhuma intervenção do usuário é requerida, mas a "High Speed Index Populate Feature" é um módulo licenciado separadamente.

Como eu posso usar o CoSORT para reduzir tempos de cargas do DBMS ?

Crie sua própria aplicação, na sua linguagem, para chamar o CoSORT via co-rotina ou sub-rotina, passando dados e parâmetros de job para sua biblioteca. A arquitetura única de co-rotina do CoSORT, permite que a transferência dos registros sejam feitas diretamente em memória, e elimina o I/O de transferência de arquivos. O benefício adicional de uma chamada API é que você pode definir qualquer entrada, comparar e/ou definir saídas na sua linguagem preferida.

Da mesma forma, via pipes ou API, você pode obter os dados do banco de dados e recarregar a saída diretamente em novas/ existentes tabelas.

O que afinal o CoSORT faz?

Muito - Tudo depende do tipo de processamento que você precisa fazer. Principalmente porque o CoSORT tem o propósito geral de classificação para cargas de banco de dados e relatórios gerenciais para processos de migração de sort de mainframes visando o custo/ benefício em sistemas abertos. O CoSORT é também muito utilizado para implementadores de data warehouse para popular data marts e funções gerais de extração, joins, agregação e transformações. Veja Exploiting CoSORT for Data Warehouse Acceleration.

Visando melhorias em aplicações do mercado, desenvolvedores utilizam o CoSORT integrado, via co-rotina, dentro de seus pacotes para dar velocidade às classificações sem transferências de I/O. E finalmente, muitas pessoas familiares com, ou dependente do SAS, SyncSort, COBOL, DataStage, sintaxe de sort do UNIX ou Windows/DOS, buscam o CoSORT's para expandir funcionalidades destas ferramentas.



Por que cada vez mais os usuários de DBMS escolhem o CoSORT?

O CoSORT traz mais versatilidade e experiência para UNIX ou Wintel que qualquer outro produto de sort. Sua interoperabilidade entre plataformas garante a independência de hardware de Windows PCs para servidores MPP UNIX. O CoSORT é também o sort mais rápido em sistemas abertos - ele pode classificar (reorg) 1Gb em um minuto em Compaq AlphaServer rodando Tru64 (Digital) UNIX, e até 2.4Gb por minuto em 4 cpus de um grupo de 64 CPUs em SunFire e IBM Numa-Q servers. No velho NCR 4100, 500Mb foram ordenados em 110 segundos, e em um Sun UE 3000 com 4 CPUs, 8Gb menos de meia hora e 49.5 Gb em 3 horas.

O CoSORT usa uma variedade de recursos amigáveis, controles de sintonia SMP para melhorar a eficiência enquanto permite que outros jobs rodem normalmente, consistente com a filosofia de "boa vizinhança" do UNIX. O CoSORT também tem a maioria das interfaces de propósito geral de qualquer pacote de sort. É licenciado uma vez para uso perpétuo, com preços razoáveis. O CoSORT é bem documentado tem responsabilidade de suporte para todos países.

 


© 2007 CoSORT Brasil / IRI Innovative Routines International, Inc.
mkt@cosort.com.br | Aviso Legal