|
Autor:
Ricardo Shoiti Ikematu
Seminário
do DBForum
Palestra
ministrada por Eliana Sodré
Sócia-Diretora da FORMA INFORMÁTICA
Os primeiros
sistemas se interessavam apenas pela automação do processo e o armazenamento
dos seus dados, porém os dados sem estarem dentro de um contexto,
não possuíam significado algum. As pessoas viram que podiam trabalhar
os dados da organização para obterem informações sobre a organização
e sua área de atuação. Surgiram os primeiros sistemas de suporte
à decisão. Depois disto as empresas passaram a gerenciar conceitos,
ou seja, um conjunto de informações que tratam de um assunto específico.
Através destas informações, as organizações passaram a adquirir
um conhecimento.
Nos dias
de hoje, uma grande vantagem competitiva de uma organização é o
seu conhecimento adquirido do mercado em que ela atua. Um indicativo
disto, é o grande sucesso que vêm tendo soluções de DataWarehouse
e Data mining. Estas soluções disponibilizam todo o histórico de
informações, armazenado pela empresa para aplicativos de tomadas
de decisão com uma grande flexibilidade.
As organizações
necessitam que as informações estejam o mais próximo possível de
quem vai usá-las. As aplicações centralizadas não levavam em conta
o fornecedor e o consumidor de informações. Com a adoção da arquitetura
cliente/servidor e as novas tecnologias, esta solução se tornou
viável, porém agravou um outro problema, o do gerenciamento de informações
distribuídas.
A palestrante
divide a distribuição de dados em duas partes: distribuição lógica
de dados e distribuição física de dados. Através do modelo lógico
de dados é possível manter um modelo conceitual da distribuição,
independentemente da sua implementação física. Isto soluciona problemas
de upgrade do modelo e aproveita novos benefícios com novos produtos
para a empresa na adequação tecnológica do modelo físico.
No modelo
de distribuição lógica existem dois passos que são: a decisão de
centralizar ou distribuir os dados e decidir as formas de distribuição
dos dados.
Deve-se
centralizar quando:
-
os dados
são utilizados por aplicações centralizadas. Ex: Folha de Pagamento;
-
usuários
de todas as áreas necessitam da posição atual destes dados,
que são freqüentemente atualizados;
-
usuários
se movem por vários locais utilizando sempre os mesmos dados;
-
dados
como um todo sofrem muitas consultas ad-hoc;
-
há necessidade
de alto nível de segurança de dados;
-
o volume
de dados é muito grande, não havendo espaço suficiente para
armazenamento, a não ser no banco de dados central.
Deve-se
distribuir quando:
-
os dados
são utilizados no local, e raramente ou nunca, são utilizados
por outros locais;
-
segurança,
integridade e privacidade dos dados são de responsabilidade
do local;
-
dados
locais são pesquisados ou manipulados através de linguagens
end-user;
-
há necessidade
de alta performance no acesso aos dados;
-
os custos
são altos na transmissão de dados;
-
a disponibilidade
dos dados é importante em nível local, ou seja, em caso de problemas
físicos em um local, os dados distribuídos pelos outros locais
não serão afetados.
Depois é
necessário a identificação de locais com capacidade de armazenamento
e/ou processamento computadorizado de informações.
Segundo
a palestrante existem 6 formas de distribuição dos dados: master,
particionado, replicação, subconjunto, extração e teleprocessamento.
Particionado
são porções de dados mutuamente exclusivos, mantidas em locais distintos.
Deve-se usar quando:
-
a maioria
das transações se originam e são processadas onde se localizam;
-
é alto
o volume de processamento local;
-
há necessidade
de alto nível de performance;
-
dados
de outros locais são raramente acessados e não há processamento
sobre os dados como um todo.
Master
é a cópia principal, que pode estar nos locais ou na matriz e onde
os dados vão estar em sua forma final e íntegros no conjunto. Caso
não haja motivos para o assunto de informação ser particionado,
então ele terá um master.
Replicação
é a manutenção de cópias idênticas de dados em locais diferentes
(não sofre atualização). Deve ser usado quando:
-
há a
necessidade de evitar transmissão de dados entre locais;
-
a relação
custo de memória x custo de transmissão é favorável;
-
possibilita
ganhos em disponibilidade, já que a indisponibilidade em um
local não interfere nos outros;
-
a frequência
de acesso aos dados é bem maior que a freqüência de atualizações;
-
há alta
freqüência de atualização, porém as réplicas podem ser atualizadas
assíncronamente (processo batch-noturno).
Subconjunto
é a forma pela qual subconjuntos de dados armazenados em locais
diferentes têm como referência um conjunto total armazenado em um
local específico (sofre atualização). Deve ser usada quando:
-
tiver
alta freqüência de utilização de um subconjunto dos dados em
um local específico;
-
o subconjunto
dos dados é criado em um local específico;
-
possibilita
ganhos em disponibilidade, já que a indisponibilidade em um
local não interfere nos outros.
Extração
é a forma pela qual os dados selecionados (subconjunto horizontal
e/ou vertical, níveis de consolidação, dados derivados, etc.) são
extraídos do master e copiados em outro local. São geralmente informações
gerenciais. É muito utilizada para sistemas de apoio à decisão,
onde os dados não precisam estar atualizados sincronamente. A formatação
de dados deve estar de maneira a atender melhor as consultas de
cada local. Normalmente os dados extraídos não sofrem atualização.
No teleprocessamento
os dados não são armazenados no local, o acesso é remoto, via teleprocessamento.
Deve ser usado quando:
-
tem
baixa freqüência de acesso e nenhuma ou pouca atualização;
-
há falta
de capacidade de armazenamento no local, mas com necessidade
de acessar os dados;
-
há recursos
favoráveis para a implantação de procedimentos para casos de
falhas na comunicação.
A palestrante
atenta para o fato que às vezes o recurso de comunicação determina
a forma de distribuição.
Os passos
da metodologia para distribuição lógica de dados são:
Para se
obter a matriz assunto de informação x local devemos ter o modelo
conceitual de dados, o diagrama de fluxo de dados nível 1, definir
a matriz processo x local e a matriz processo x assunto de informação.
Para se
obter a matriz processo x local deve-se cruzar em uma tabela os
possíveis locais de processamento definidos anteriormente com os
principais processos levantados no DFD nível 1.
Para se
obter a matriz processo x assunto de informação deve-se cruzar em
uma tabela todos os assuntos de informação levantados com os principais
processos levantados no DFD nível 1. Os assuntos de informação são
obtidos a partir do modelo conceitual de dados. Neste modelo, é
feita uma análise de afinidades de acordo com as regras da engenharia
da informação e quebrado em vários assuntos fortemente relacionados.
Esta matriz é uma simplificação da matriz CRUD onde, C - cria (inclui,
exclui) e U - utiliza (lê ou altera).
| Processo\Local |
Agência |
Caixas Automáticas |
Cobrança |
Central de Informações |
Administração de Conta Corrente |
| Libera empréstimo |
X |
|
|
|
|
| Paga empréstimo |
X |
X |
|
|
|
| Emite cartão/talão
de cheque |
|
|
|
|
X |
| Autoriza limite de
crédito |
X |
|
|
X |
|
| Movimenta conta |
X |
X |
|
X |
X |
| Emite carnê cobrança |
|
|
X |
|
|
| Mantém conta |
|
|
|
|
X |
| Presta informações
e serviços |
X |
|
|
X |
|
| Mantém cliente |
|
|
|
|
X |
| Processo\Assunto |
Atendimento a Cliente |
Conta Poupança |
Conta Corrente |
Empréstimo |
Cliente |
| Libera empréstimo |
|
|
|
C |
U |
| Paga empréstimo |
|
|
U |
U |
U |
| Emite cartão/talão
de cheque |
|
|
U |
|
U |
| Autoriza limite de
crédito |
C |
|
U |
|
U |
| Movimenta conta |
U |
U |
U |
|
U |
| Emite carnê cobrança |
U |
|
U |
|
U |
| Mantém conta |
C |
C |
C |
|
U |
| Presta informações
e serviços |
C |
|
|
|
U |
| Mantém cliente |
|
|
|
|
C |
Juntando
as duas matrizes anteriores, obtemos a matriz assunto de informação
x local.
| Local\Assunto |
Atendimento a Cliente |
Conta Poupança |
Conta Corrente |
Empréstimo |
Cliente |
| Administração de Conta
Corrente |
C |
C |
C |
|
C |
| Central de Informações |
C |
U |
U |
|
U |
| Cobrança |
U |
|
U |
|
U |
| Caixas Automáticas |
U |
U |
U |
U |
U |
| Agência |
C |
U |
U |
C |
U |
Definindo
os tipos de distribuição para a matriz assunto de informação x local,
temos o plano de compartilhamento lógico de dados.
| Local\Assunto |
Atendimento a Cliente |
Conta Poupança |
Conta Corrente |
Empréstimo |
Cliente |
| Administração de Conta
Corrente |
S |
M |
M |
- |
M |
| Central de Informações |
M |
R |
R |
- |
T |
| Cobrança |
T |
- |
T |
- |
T |
| Caixas Automáticas |
T |
T |
T |
T |
T |
| Agência |
S |
S |
S |
P |
T |
| onde os tipos de distribuição são: |
M - Master, |
|
P - Particionado, |
|
E - Extração, |
|
R - Replicação, |
|
S - Subconjunto, |
|
T - Teleprocessamento. |
A distribuição física depende dos recursos tecnológicos, capacidade
ou restrição de hardware, rede e de sistemas gerenciadores de banco
de dados. Em distribuição física a palestrante se utiliza de alguns
conceitos que veremos a seguir.
Um assunto
de informação do modelo lógico de distribuição pode ser
formado por várias tabelas.
Um assunto
de distribuição é subconjunto de assunto de informação
(1 ou 2 tabelas).
Local
físico é um servidor com capacidade de armazenamento.
Existem
duas formas de atualização: síncrona e assíncrona.
A forma síncrona é atualizada ao mesmo tempo nos
vários locais. Geralmente implementado por 2-phase-commit, pode
ocorrer degradação de performance, pois todos os locais devem estar
disponíveis. A forma assíncrona é atualizada algum tempo depois
da cópia principal, podendo este tempo variar em minutos ou horas.
| Local\Assunto |
Cliente Pessoa Jurídica |
Cliente Pessoa Física |
Cliente Potencial |
Cliente Desativado |
Cliente Ativo |
| Administração de Conta
Corrente |
T |
T |
M |
T |
T |
| Compensação Cheques |
M |
M |
- |
- |
M |
| Abertura e Adm. de Contas |
T |
T |
T |
M |
T |
| Central de Serviços |
T |
T |
T |
T |
T |
| Cobrança |
T |
T |
- |
- |
T |
| Caixas Automáticas |
T |
T |
- |
- |
T |
| Agência |
T |
T |
T |
T |
T |
| Caixas Atend.
Público |
T |
T |
- |
- |
T |
| Operações
Financeiras |
T |
T |
- |
- |
T |
Os passos
para metodologia de distribuição física dos dados
são:
-
definir
os assuntos de distribuição;
-
identificar
os locais de distribuição;
-
definir
a forma de atualização;
-
definir
a distribuição física dos assuntos de distribuição;
Através
do modelo lógico, transformar o modelo conceitual em estruturas
de banco de dados (tabelas) identificando assuntos de distribuição.
Os assuntos de distribuição são identificados da mesma forma que
a análise de afinidade, estão fortemente relacionados, e têm que
estar no mesmo ambiente.
Deve ser
gerado um modelo físico para cada local físico, que é derivado de
um único modelo lógico, que por sua vez é derivado de um modelo
conceitual de dados. Com isto teremos mais de um plano de compartilhamento
físico.
Para se
chegar no plano de compartilhamento físico de dados deve-se cruzar
em uma tabela os locais de distribuição (servidores) com todos os
assuntos de distribuição identificados. No exemplo, o assunto de
informação cliente foi desmembrado em vários assuntos de distribuição
e os locais da distribuição lógica foram adaptados para locais onde
terão servidores.
Não concordo
plenamente com a metodologia, principalmente com o modelo de distribuição
física, mas, com algumas adaptações, acho que é um bom ponto de
partida para desenvolvermos uma metodologia de distribuição de dados.
ritchie@lepus.celepar.br

|