Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #90615
    fs_abreu
    Participante

      Pessoal bom dia.

      Por causa de um trabalho na faculdade estou pesquisando já a algum tempo, tanto na internet, com em livros a realização de volumetria no BD Oracle.

      Encontrei muito sobre como realiza-la em um banco já existente, mas nada referente a um banco que ainda será criado (planejar a volumetria).

      Cheguei a encontrar no livro “ERwin 4.0 – Modelagem de Dados” um pequeno capitulo sobre volumetria, que inclusive gostei muito, pois trata de uma forma simples e objetiva, mas o mesmo infelizmente é direcionada para o SQL Server e eu precisaria especificamente para o Oracle.

      Bom como sou iniciante no assunto Banco de Dados estou precisando de uma ajuda da comunidade oracle para conclusão desse trabalho…

      Alguem poderia indicar algum livro que falaria sobre o assunto, pois pesquisei no Manual do DBA, tanto para as versões 10G e 11G, mas não encontrei nada específico.

      Desde já fico grato.

      #90689
      hudsona
      Participante

        A Questão da volumetria é muito váriavel.

        Para se pensar em planejar a mesma ,você precisa pensar de como vai ser a estrutura do seu ambiente, transações e etc.
        Nesse seu trabalho você tem algum ponto de partida ? Algum ambiente ? algum mini-mundo o qual você realizou a modelagem e pretende montar o projeto fisíco ?

        Você precisa ter uma idéia (aproximada) da intensidade a qual os dados vão ser manipulados e tratados para depois pensar em planejar a volumetria do banco de dados.

        Att

        #90690
        fs_abreu
        Participante

          Obrigado pelo retorno.

          Bom o ambiente na verdade é simples…

          Vamos dizer que meu BD terá uma única tabela e nessa tabela terei campos do tipo char, varchar2 e number.

          Apartir daí eu teria que ter uma estimativa de quanto espaço essa tabela ocupara quanto tiver por volta de 100.000 registros (valor apenas de exemplo).

          Devido a pesquisa que realizei descobri que existem várias ferramentas que fazem isso automaticamente, já apartir da modelagem e tambem sei que para um BD já existente, existem scripts prontos.

          O grande problema é que o trabalho, até por questão de aprendizado, precisa ser feito de forma manual, sem ajuda de ferramenta, no máximo um excel da vida e esse acabou sendo a pedra no sapato, pois conforme informei inicialmente, tanto na internet como em livros, não encontrei nada didático para me auxilar na realização desse trabalho.

          Mais uma vez obrigado pelo retorno

          #90729
          sosa
          Participante

            Então, você mesmo já deu a resposta…

            Com base em uma planilha, crie as estruturas de dados que você vai ter e dê um tamanho a cada tipo de dado. Se tiver índices, para cada um você estima novamente o valor dos campos indexados como se fosse uma nova tabela. Exemplificando:

            tabela A
            campo1 number(10) — 10 bytes
            campo2 varchar2(100) — 100 bytes

            índiceA
            campo1

            Então cada linha da tabelaA leva 110 bytes aproximadamente. O índice leva mais 10 bytes, cada linha leva 120 bytes, mas vamos contar separadamente por objeto. Crie esta tabela em banco fisicamente e veja a diferença de bytes para o modelo lógico. Você terá o percentual de diferença entre o modelo físico e o lógico, arredonde e use nos seus cálculos de estimativa.

            Agora o volume. O ideal é de acordo com a cardinalidade de sua tabela verificar um número médio de combinações que você pode armazenar. Como é um trabalho acadêmico, você pode criar um mini mundo e estabelecer regras para estimar isto da melhor forma possível para você como disse o colega acima.

            #90730
            fs_abreu
            Participante

              Blz entendi vlw.

              #90732
              hudsona
              Participante

                Quando você for verificar o tamanho da tabela no oracle , após a sua criação verá que existe uma grande diferença do calculo acima:

                Use a query para verificar o tamanho da tabela :

                SELECT tablespace_name, segment_name,
                round(sum(bytes/1024/1024),2) Tamanho_em_MB
                FROM dba_segments
                WHERE segment_name=’TESTE’
                AND segment_type = ‘TABLE’
                GROUP BY owner, tablespace_name, segment_name;

                Pesquise sobre as colunas da visão do dicionario de dados V$DBA_SEGMENTS e entenderá o porquê.

                Att

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.