Tabelas Particionadas
Toda tabela particionada serve para auxiliar nos serviços de consultas, melhor distribuição e atualizações e remoção de dados. Geralmente é recomendado para seguir com particionamento de tabelas com muitos registros e mesmo otimizadas quando são feitos tuning e mesmo assim ocorrendo um má desempenho sendo comprometedor para o ambiente.
Segue abaixo um exemplo de como ficaria uma tabela particionada:
Alguns pontos abaixo para seguir com particionamento de tabelas:
- Processo de Leitura a Disco
- Uma leitura não irá trazer um único registro e sim um conjunto de registros, se o registro for muito grande, isto é, muitas colunas, é provável que ele esteja armazenado em mais de um bloco, isso poderá acarretar em diversos processos de I/O na busca de determinado dado.
- Desmembramento Horizontal
- Uma tabela com trinta ou quarenta colunas, muito comum em sistemas desenvolvidos a muito tempo, mas também poderá ser encontrado em situações em que são cadastrados detalhes de uma peça, como dimensões, peso, material, etc., além do código e da descrição da peça. Se formos olhar apenas para questões de estoque e faturamento, o código, nome e quantidade são relevantes, as demais informações não são. Se olharmos para uma linha de produção, os demais itens são imprescindíveis, pois temos que colocar a peça certa, caso contrário nosso produto será falho, incompleto ou incorreto.
- Desmembramento Vertical
- Os registros de ligações controladas por uma empresa de telefonia, mês a mês uma nova partição irá surgir e será alimentada com os dados referentes àquele mês, normalmente a consulta é realizada no período da partição, mas eventualmente é necessário fazer uma consulta mais abrangente, necessitando de uma varredura em toda a tabela. Quando esta tabela é consultada, a varredura acontecerá na partição referenciada, diminuindo assim sensivelmente o tempo de busca de cada registro.
Quais vantagens:
- Desempenho em leitura.
- Diferentes dispositivos de gravação.
- Desempenho em gravação.
- Expurgo de dados.
- Rotinas de manutenção.
- Pontos de falha
- Escalabilidade.
Quais desvantagens:
- Administração
- Desenvolvimento
Conclusão:
Entendemos que uma grande quantidade de SGBDs oferecem, e é muito importante entender os benefícios para trazer em uma organização onde existem bancos enormes no qual sempre vem crescendo uma mal desempenho devido o volume de dados. A particionar tabelas apresenta um tuning enorme em cima de desempenho para um banco de dados com tabelas grandes no qual conseguimos garantir a distribuição e recuperação de dados com eficiência.