Quilson Antunes
1 2 3 4 5 6 7 Partitioning Partitioning table App. Partitioning SQL Server Partitioning Vantagens Partitioning Exemplo Passos a dar 19 de Agosto de 2011 Microsoft SQL Server Partitioning 2
Partitioning A partition is a division of a logical database or its constituting elements into distinct independent parts. Database partitioning is normally done for manageability, performance or availability reasons. BD Bd.mdf File1.mdf File2.mdf File3.mdf Filen.mdf 19 de Agosto de 2011 Microsoft SQL Server Partitioning 3
O que é uma Tabela Particionada É a Divisão de um objecto tabela, contido num único objecto de armazenamento, em vários objectos de armazenamento. Para aplicação é nada mais do que um único objecto (tabela), quando na realidade esse objecto, divide-se em múltiplos segmentos ou ficheiros (ndf). Tabela Bd.mdf File1.ndf File2.ndf File3.ndf Filen.ndf 19 de Agosto de 2011 Microsoft SQL Server Partitioning 4
Partitioning por Aplicação Os dados são divididos por varias tabelas ou através de servidores, e bases de dados Aplicação decide para onde redireccionar e realizar as queries. Usando o UNION ou Views através de varias tabelas ou a vários servidores (DPVs) 19 de Agosto de 2011 Microsoft SQL Server Partitioning 5
SQL Server Os dados são divididos por varias tabelas ou através de servidores, e bases de dados Aplicação decide para onde redireccionar e realizar as queries. Usando o UNION ou Views através de varias tabelas ou a vários servidores (DPVs) 19 de Agosto de 2011 Microsoft SQL Server Partitioning 6
Particionamento SQL Server Divide as tabelas e os índices em vários objectos, tendo como chave de divisão um coluna, essa divisão pode ser: Horizontal Vertical Continua a ser tratado como um único objecto para o motor do SQL Tratada como vários objectos pelo mecanismo de armazenamento 19 de Agosto de 2011 Microsoft SQL Server Partitioning 7
Quando é que se deve realizar o partitionin?g Quando a BD tem um único ficheiro, e este torna-se muito grande, e pesado para a seguintes acções: Gestão (Backups, Restores) Performance 19 de Agosto de 2011 Microsoft SQL Server Partitioning 8
Rápida leitura e escrita Melhor Gestão do Backups / Restore Melhor Gestão dos Índices Minimiza a fragmentação dos índices nas tabelas Particionadas Fácil Gestão dos dados histórico Permite que a BD tenha escalabilidade sem sacrificar a performance 19 de Agosto de 2011 Microsoft SQL Server Partitioning 9
Gestão Rápida leitura e escrita Melhor Gestão do Backups / Restore Melhor Gestão dos Índices Minimiza a fragmentação dos índices nas tabelas Particionadas Fácil Gestão dos dados histórico Permite que a BD tenha escalabilidade sem sacrificar a performance Optimização ao fazer querys as tabelas com muitos registos Eficiência na Join A Btree do Índice mais pequena quando Melhores planos de execução e mais simples, quando comparados com a partição usando Views 19 de Agosto de 2011 Microsoft SQL Server Partitioning 10
Order History Example: Table ORDER HISTORY with a Nonclustered Index on CUSTOMER ID Nonpartitioned: Order ID Customer ID Filegroup DATA Order History Table Order Date Amount Filegroup IDX Customer ID Index 19 de Agosto de 2011 Microsoft SQL Server Partitioning 11
Disco G: Disco E: Disco F: Order History Filegroup DATA_2002 Filegroup DATA_2003 Filegroup DATA_2004 Order ID Order History Table Order History Table Order History Table Customer ID Filegroup IDX_2002 Filegroup IDX_2003 Filegroup IDX_2004 Order Date Amount Customer ID Index Customer ID Index Customer ID Index Order Date < 2003-01-01 Order Date >= 2003-01-01 and Order Date < 2004-01-01 Order Date >= 2004-01-01 19 de Agosto de 2011 Microsoft SQL Server Partitioning 12
Switch Muda o conteúdo de uma partição para outra Merge Junta duas partições Split Separa um partição. 19 de Agosto de 2011 Microsoft SQL Server Partitioning 13
19 de Agosto de 2011 Microsoft SQL Server Partitioning 14
19 de Agosto de 2011 Microsoft SQL Server Partitioning 15