exigence pour le partitionnement), lorsque les structures d'utilisation varient, le partitionnement peut permettre
de bénéficier de gains supplémentaires en termes de gestion, de performances et de disponibilité. De même,
pour utiliser l'exemple d'une table de ventes, les données du mois courant peuvent être accessibles en lecture-
écriture, tandis que celles du mois précédent (souvent la partie la plus importante de la table) sont accessibles
en lecture seule. Dans ce cas, lorsque l'utilisation des données varie ou lorsque les charges de maintenance
sont considérables du fait de l'entrée et de la sortie des données dans la table, la capacité de la table à
répondre aux demandes des utilisateurs peut en pâtir. Cet état de fait limite la disponibilité et la montée en
charge du serveur.
De plus, lorsque des ensembles volumineux de données sont utilisés de différentes manières, des opérations de
maintenance fréquentes sont effectuées sur les données statiques. Ceci peut s'avérer coûteux engendrer des
problèmes de performances , des blocages des sauvegardes (problèmes d'espace, de temps et d'exploitation)
et avoir un impact négatif sur la montée en charge du serveur.
En quoi le partitionnement peut-il être utile ? Lorsque les tables et les index deviennent très volumineux, le
partitionnement peut permettre de partitionner les données en sections plus petites et plus faciles à gérer. Cet
article traite du partitionnement horizontal, dans lequel des groupes de lignes importants sont stockés en
plusieurs partitions distinctes. La définition de l'ensemble partitionné est personnalisée, définie et gérée en
fonction de vos besoins. Microsoft SQL Server 2005 vous permet de partitionner les tables en fonction de
modèles d'utilisation des données spécifiques à l'aide de plages de valeurs ou de listes définies. SQL
Server 2005 propose également de nombreuses options pour la gestion à long terme de tables et d'index
partitionnés grâce à l'ajout de fonctions conçues autour de la nouvelle structure de table et d'index.
De plus, s'il existe une table volumineuse sur un système comportant plusieurs processeurs, le partitionnement
de la table permet l'amélioration des performances grâce aux opérations parallèles. Les performances des
opérations de grande envergure sur des volumétries extrêmement volumineuses (par exemple, des millions de
lignes) bénéficient de la réalisation de ces opérations en parallèle sur des sous-ensembles plus petits. Les
agrégations disponibles dans les versions précédentes constituent un exemple de gains de performances au
niveau des partitions. Ainsi, au lieu d'agréger une table volumineuse unique, SQL Server peut fonctionner
indépendamment sur des partitions, puis agréger les agrégations. Dans SQL Server 2005, les requêtes qui
joignent des volumétries de données importantes peuvent bénéficier directement du partitionnement. SQL
Server 2000 prend en charge les opérations de jointure parallèles sur des sous-ensembles, mais implique
encore la création de sous-ensembles à la volée. Dans SQL Server 2005, les tables associées (comme les tables
Order et OrderDetails), qui sont partitionnées à l'aide de la même clé de partitionnement et de la même
fonction de partition sont dites alignées. Lorsque l'optimiseur détecte que deux tables partitionnées et alignées
sont jointes, SQL Server 2005 peut joindre les données qui se trouvent dans les mêmes partitions, puis
combiner les résultats. Cela permet à SQL Server 2005 d'utiliser avec plus d'efficacité des ordinateurs multi-
processeurs.
Historique du partitionnement