Recursos: nota Quickupdate
Particionamento de dados é o recurso no qual o administrador de banco de dados poderá ter o domínio dos locais onde seus dados são armazenados. Atualmente, não utilizando esta funcionalidade, podemos determinar em qual diretório ou diretórios nossos arquivos de filegroup ficarão armazenados, porém no caso de vários filegroups não temos a certeza de qual lugar seu registro realmente está. Com o particionamento dos dados, podemos ter um gerenciamento melhor dos dados, ganhando em performance e também acompanhando em que partição/filegroup o registro está alocado.
Em que situação o artigo será útil
As informações contidas neste artigo podem ser aplicadas em ambientes de banco de dados de qualquer porte, fazendo com que o gerenciamento dos dados seja melhorado. “Espalhando” os dados em diferentes discos no servidor, o banco de dados visa melhorar o desempenho das leituras, facilitando assim a busca por resultados, onde ao invés de consultar toda a massa de dados, faz-se apenas a consulta em uma parte da mesma.
Particionamento de dados no SQL Server
Este artigo introduz o conceito de particionamento de dados no banco de dados SQL Server, podendo ser aplicado a partir da versão 2005 versão Enterprise. Ao longo do artigo serão abordados o conceito de filegroup, funções de partição e esquemas de partição, que são os primeiros passos para criar uma tabela particionada. Serão mostrados também os meios de gerenciamento do particionamento de dados, onde poderá se incluir e excluir intervalos de particionamento e transferir dados de partições entre tabelas utilizando o menor esforço administrativo possível.
Monitorar, propor e implementar soluções para melhoria do ambiente é função do DBA. Desde a versão 2005 do SQL Server (Versão Enterprise) é disponibilizada a funcionalidade de particionamento de dados. Esta facilita o gerenciamento de dados que são inseridos através de sistemas OLTP e também dados que podem ser utilizados para emissão de relatórios gerenciais e sistema OLAP. O particionamento de dados melhora o desempenho e simplifica a manutenção. Quando uma tabela grande é particionada, ao se executar uma consulta, blocos menores dos dados são lidos, fazendo com que as informações sejam retornadas de forma mais rápida.
Quando não é utilizado o particionamento de dados no SQL Server, pode-se armazenar uma tabela dentro de um filegroup apenas, e este filegroup pode conter vários arquivos em vários discos, porém você como DBA não consegue determinar em qual destes arquivos ou em qual dos discos você irá armazenar uma parte dos dados. Ao particionar uma tabela no banco de dados, pode-se realizar um dimensionamento físico dos dados,ou seja, em um ambiente onde se tem mais que um disco para se armazenar os dados e um deles é mais lento, pode-se escolher armazenar os dados que são utilizados para emissão de relatórios ou armazenamento de dados históricos(possivelmente dados referentes a notas ficais de uma empresa que precisam ficar arquivados durante pelos cinco anos) no disco mais lento e no disco com maior velocidade os dados atuais.
O particionamento dos dados é feito com base em um atributo, ou seja, um campo da tabela no momento da inserção será verificado e, com isso, o engine do SQL Server saberá para qual filegroup deverá encaminhar o registro. Além da tabela, o particionamento também pode ser utilizado em um índice ou view indexada, e funcionam da mesma forma como explicado para a tabela. Quando um índice estiver utilizando a mesma regra de particionamento da tabela, dizemos que a tabela está alinhada, ou seja, os dados da tabela e índice são armazenados no mesmo filegroup.
Para criar uma tabela, índice ou view indexada, uma função de partição e esquema de partição devem ser criados no banco de dados. A função de partição é um objeto independente no banco de dados que pode ser reaproveitado em mais de um particionamento e que estabelece os limites (intervalo) dos dados a serem inseridos nas tabelas. O esquema de partição é um objeto no banco de dados que é relacionado diretamente com a função de partição, onde faz o apontamento do intervalo com o filegroup ao qual os dados devem ser armazenados e também é declarado no momento da criação da tabela, índice ou view indexada.
...Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.