Microsoft, avec la CTP3 de SQL Server Code de projet Denali, propose un nouveau type d’index, les index Columnstore. Il s’agit du projet Apollo.
Ces nouveaux index sont compressés par essence. Et pour que cette compression soit la plus efficace possible, la compression est organisée par colonne et non pas par ligne comme pour les index standards. Cette compression est donc plus efficace, comprendre le résultat occupe une place plus réduite dans l’espace du disque. Cette réduction de place garantie un traitement des requêtes nettement plus rapide dans les grandes tables.
Toutefois, il existe des restrictions importantes. La mise à jour de la table sous-jacente est quasiment impossible. Nous réserverons donc ces index à des bases de données de type entrepôts de données, les bases de données transactionnelles ne sont pas concernées du fait des mises à jour régulières des données. Les mises à jours de la table et donc de l’index n’est possible qu’avec la commande SWITCH des tables partitionnées (en résumé, il faut préparer les données dans une table à part au préalable et de « switcher » les données ensuite).
Ces index de type Columnstore s’accompagnent aussi d’un nouveau traitement des requêtes. Jusqu’à présent les requêtes travaillaient par ligne, le nouveau mode fonctionne lui par lots (Batch) : Cela ressemble à un fonctionnement vectoriel de la requête.
Pour tester les performances de ce type d’index, Microsoft fournit un article pour nettoyer les plans d’exécution précédents.
Pour plus de détails sur le projet Apollo, voici la vidéo que propose l’équipe en charge du projet.
Bien à vous.
2 réponses à « SQL Server Denali : les index Columnstore »
[…] index : Connu précédemment sous le nom Apollo, le nom définitif n’est pas […]
J’aimeJ’aime
[…] in-memroy OLTP) avec des gains de rapidité possible jusqu’à un facteur 50 ou encore les ColumnStore Index avec une meilleure compression (et donc plus de rapidité) dont il sera possible de mettre à jour […]
J’aimeJ’aime