none
Tabelas Particionadas RRS feed

  • Pergunta

  • Salve ...

    Pessoal, andei lendo um pouco a respeito de tabelas particionadas e gostaria de saber o que vocês me dizem a respeito.

    • Como é a performance?
    • Vale a pena?
    • Quanto custa isso para o  banco?
    • Como comporta a decisão em qual tabela particionada buscar os dados?
    • Alguém já usou? Como foi? Está rodando? A tabela original tinha quantos registros?

    Valeu !!!

    Abraço.
    quarta-feira, 26 de setembro de 2007 00:13

Todas as Respostas

  •  

    E aí Pablicio,

     

    Eu não implementei em produção ainda. Mas sei que é preciso fazer um bom planejamento nesse particionamento, pois é definido durante a criação da mesma.

     

    Eu tenho tido ótimas experiência com a utilização de filegroups, onde separe índices de dados, assim tenho um ótimo ganho de desepenho nas consultas. Já o particionamento, é interessante pois podemos deixar dados não muito utilizados separados, ou seja, a parte que será realmente lida é menor. Não esquecendo da questão de recuperação de dados, retornar backup dessas informações, etc.

     

     

    Não devo ter ajudado muito, mas com certeza, é muito bom estudar a utilização desse recurso.

     

     

     

    Abraço

    quarta-feira, 26 de setembro de 2007 04:07
  • Pablicio,

     

    Eu também não utilizei muito este tipo de funcionalidade, sempre trabalhei com participionamento de filegroup.

     

    Mas respondendo as suas dúvidas, baseando no meu conhecimento e informações fornecidas por alguns colegas, podem resaltar algumas coisas:

     

    1 - Em relação a performance, você poderá obter realmente um ganho e perceber diferenças em relação a tables com um volume muito grande de dados.

     

    2 - Valer a pena, sempre vai depender da sua necessidade, muitas vezes este tipo de funcionalidade acaba sendo deixada de lado por falta de objetivos e exigências da estrutura de hardware e software, muitas vezes mais relacionado ao software.

    Mas eu acredito que é uma ótima alternativa separar os dados em locais diferentes, implementando um planejamento muito bem definido, para saber o deverá ou não ser particionado.

     

    3 - O custo de processamento para o banco de dados, eu imagino que deverá ser baixo, pois como os dados estão distribuídos em porções menores isso ajuda em muito no momento da busca de informações, mas é importante sempre trabalhar com índices, procurando sempre a melhora da performance.

     

    4 - O comportamento em relação a busca de informações é realiza de forma intuitiva, ou seja, o particionamento de uma table é definido no momento da criação da table, com isso, é criado um vínculo entre a table principal e seus particionamento, este vínculo é armazenado dentro de uma system view no SQL Server.

    No momento da busca, é realizado uma consulta a esta system view, indicando a table principal direcionamento a busca para parte particionada que possui os dados.

     

    5 - Como já informei ainda não utilizei em produção, somente em testes, mas com uma table muito pequena.
    quarta-feira, 26 de setembro de 2007 11:14
  • Pablicio,

     

    Acabei de receber um e-mail, justamente sobre isso, acesse este link para obter mais informações: Dynamic Partitioning and Dynamic Indexing, http://www.sqlservercentral.com/articles/Advanced/3210/

    quarta-feira, 26 de setembro de 2007 11:28
  • Galera, valeu pelas dicas. Tentarei encontrar uma solução para meu problema.

    Hoje tenho tabelas com mais de 2 milhões de registros, sendo registros temporários desde 1995. Então pensei em quebrar (particionar).

     

    Valeu a ajuda.

     

    Obrigado.

    quarta-feira, 26 de setembro de 2007 12:07