Uso da Area na criação de uma tabela

Discussão em 'Banco de Dados / Database' iniciado por af.dums, Julho 21, 2009.

  1. Agnaldo

    Agnaldo Membro Ativo

    Até a versão 8 do Progress não existia o conceito de DBA Progress.
    Qualquer um como um minimo de conhecimento conseguia/consegue manter um banco Progress.
    Bastava(basta) saber criar o banco, dar em manutenção no dicionário, fazer dump/load, backup, etc.

    A Progress sempre focou que possui um ótima linguagem (4GL) e um banco bom.

    Com a versão 9 em diante foram colocados mais recursos na parte de banco.
    Por exemplo, o uso do novo engine SQL.
    Como isso, o foco passou a ser que possui uma ótima linguagem (4GL) e um ótimo banco também.

    Uma dessas melhorias na parte do banco foram as áreas.

    Na versão 8 podiamos criar ambiente multi-volume.
    Mas não tinha como saber o que havia em cada volume.
    Por exemplo, voce criava 5 volumes, podia colocar esses volumes em discos (pastas) separadas, mas não tinha como dizer o que cada volume possui.

    A partir da versão 9 surgiu o conceito de área.
    Agora, pode-se dar um apelido para os volumes.

    Vamos imaginar que temos um banco com 3 volumes.
    d1, d2, d3.
    Poderiamos criar eles como:
    d "Dados" ......d1 /var/banco
    d "Indices".....d2 /var2/banco
    d "Hist" .......d3 /var3/banco

    /var é um disco comum (uma partição). Digamos que é um disco scsi de 10K (10 mil RPM).
    /var2 é um disco ultra rapido. Um scsi de 15k e controlado ultrawide (disco BALA mesmo)
    /var3 é um disco palha. Um IDE ou Sata, desses que a gente usa em casa.

    Veja que foi dado um apelido (área) para cada volume.

    Note, voce agora não é mais um operador/programador que mexe no banco.
    Você agora é um DBA que avaliou o quanto voce possui de hardware e vai maximizar tais recursos.

    Nesse exemplo, a área dados servirá para guardar os dados comuns.
    Mas os indices da aplicação exigem acesso mais rapido, por isso estão apontando para o disco mais rapido.
    E a área hist irá gardar dados de histórios. Aquelas tabelas que são acessadas de vez em quando.

    E essa é aparte boa da versão 9 em diante, com as tais áreas.
    Voce pode dizer qual tabela ficara em qual área e, consequentemente, em qual volume e, assim, em qual disco.

    Lá no dicionário, quando voce cria uma tabela, ele pergunta em qual área essa tabela irá risidir.
    Sendo assim, a tabela de clientes, fornecedores, titulos, etc, eu posso colocar na área dados, que ira ficar no volume d1 que estar no disco /var.

    E os indices dessas tabelas, posso colocar em outra área, pois quando crio o indice ele também pergunta em qual área ele irá ficar.
    Ou seja, os indices que precisa se acesso rapido, deixo no disco mais rapido.

    Já aquelas tabelas que acesso só de vez quando, que são tabelas de dados antigos, deixo no disco mais lento, pois teram pouco acesso.

    Com isso, agora, pode-se maximizar os recursos disponiveis.
  2. af.dums

    af.dums Membro Ativo

    Obrigado a todos pelas explicações e pelo tempo dispensado. Sei que fui chato na questão, mas é que queria entender mesmo, não sou DBA, mas queria conhecer/entender.

    Abraço a todos.

    Att,
    Anderson
  3. mcarril

    mcarril Membro Participativo

    Muito Boa a explicação do Agnaldo. Agora também entendi para que servem as àreas.
  4. mclaufernandes

    mclaufernandes Sem Pontuação

    Bom dia a todos!

    Aqui na empresa utilizamos o EMS com bancos unificados e desde a versão 8 do Progress estamos utilizando as "storages areas". O ganho de performance que tivemos separando os dados em areas diferentes chegou a 40%. A base principal da empresa está com 50Gb.

    Aproveitando, alguém saberia explicar a diferença entre Storage Area x Storage Area tipo II ? Já li bastante a respeito, implementei numa base para testes mas nunca ouvi nenhum comentário neste forum sobre isso. É vantagem utilizar em tabelas grandes?

    Abraços

Compartilhe esta Página