[SQL] Load Millions of Records in a Split-Second with Partition Switching

Speaker : John Lambert – Niveau : 300

Cette session présente un tour d’horizon complet du partitionnement sous SQL Server. Un peu difficile à suivre car le speaker est à l’article de la mort.

Qu’est que le switch de partition ? C’est le passage d’un gros volume de données d’une table à une autre en une fraction de secondes.

On revient sur le principe des données SQL Server qui sont stockés dans des pages de 8 Ko.

On utilise le « switch » de partitions pour améliorer la gestion des gros volumes de données.

Première démonstration avec l’utilisation de la commande « ALTER TABLE SWITCH TO PARTITION ».

On trouve 2 types de partitionnement (horizontal et vertical). Le « switch » concerne uniquement le partitionnement horizontal

–          Horizontal : les lignes sont  divisés en partition

On utilise les partitions pour plusieurs raisons :

–          Faciliter de la maintenance des tables (BACKUP, RESTORE, etc.)

–          Diminution des E/S

–          « Switch »

Le partitionnement « classique » se déroule en 3 parties :

–          Création d’un schéma de partition

–          Création d’une fonction de partition

–          Création des tables partitionnées

On revient ensuite sur les différents éléments à connaître lorsque l’on pratique le partitionnement ($PARTITION, CREATE PARTITION FUNCTION, CREATE PARTITION SCHEME, etc.)

Deuxième démonstration avec la création d’une table partitionnée. On crée d’abord la fonction de partition puis le schéma de partition. On termine par la création de la table. Il est à noter que l’on peut également ajouter une nouvelle partition à une table déjà partitionnée.

Dernière démonstration avec quelques erreurs habituelles lors du « switch » de partition

–          Penser à préciser le schéma de partitionnement lors de la création de la table

–          Les 2 tables doivent avoir les mêmes contraintes

–          Les 2 tables doivent être dans le même « FileGroup »

–          …

En conclusion, une session un peu compliqué surtout à cause de l’état de santé du speaker mais intéressante pour les personnes n’ayant aucune notion du partitionnement sous « SQL Server ».

Julien

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s