SQL Server 2014 : 8 fonctions à retenir
Le traitement transactionnel OLTP en mémoire et le stockage en colonnes sont seulement deux des huit nouvelles fonctions clés de SQL Server 2104.
Après la présentation de la version CTP2 (Community Technology Preview) lors de l’édition de sa conférence PASS Summit 2013, Microsoft a finalement accéléré la sortie de la version finale de SQL Server 2014, lancée début avril 2014. Voici une liste des huit nouvelles fonctionnalités clés embarquées dans la dernière version du SGDB de Microsoft.
Un moteur OLTP en mémoire renforcé
Le moteur OLTP (Online Transaction Processing) In-Memory, nom de code Hekaton, permet de créer des tables en mémoire optimisées au sein d’une base de données relationnelles traditionnelle. Ce moteur résout par exemple des problèmes liés à des situations de requêtes hautement concurrentes, car il s’adosse à des structures de données dépourvues de verrou (latches). Ce qui signifie qu’il n’y a aucun verrou logique sur les chemins critiques et donc pas d'impact sur les performances au sein du système. En revanche, le moteur utilise une technique MVCC (multi-version concurrence control) optimiste qui fournit des niveaux d’isolement des transactions - ce qui contribue à éviter les interférences entre transactions. Ainsi tous les processus utilisateurs peuvent accéder à chaque ligne d’une table sans verrous logiques ni latches. L’association de ce MVCC et de cette structure de données donne un système au sein duquel les processus utilisateurs peuvent s’exécuter sans attente ni blocage. De plus, les procédures stockées, qui sont exécutées dans des tables optimisées en mémoire, via Transact-SQL, sont en fait compilées en un code machine efficace. Cela optimise les performances du runtime pour certains workloads et certains types de requêtes, car le code machine généré ne contient que ce qui est nécessaire pour effectuer la requête, et rien de plus. Selon Microsoft, certaines applications peuvent atteindre des gains des performances d’un facteur de 50, simplement en ayant recours à ce moteur OLTP en mémoire.
Cette fonction est seulement supportée par les éditions Enterprise 64-bit, Developer ou Evaluations de SQL Server 2014. Pour utiliser ce moteur, qui est sans conteste la plus importante nouveauté du SGBD, vous pouvez consulter les ressources publiées sur le site TechNet de Microsoft.
Vous pouvez également utiliser l’assistant SQL Server 2014 Memory Optimization Advisor qui peut être lancé à partir de SQL Server Management Studio (SSMS) pour identifier et migrer les tables compatibles en mémoire, puis choisir les procédures stockées qui peuvent être compilées dans du code machine pour une exécution plus performante.
Des index de données en colonnes In-Memory améliorés
Dans SQL Server 2012, Microsoft avait présenté un nouveau type d’index non clusterisés, des index de données en colonnes en mémoire xVelovcity. Le problème est que est que ces index ne pouvaient pas être mis à jour dans SQL Server 2012 : ainsi une fois l’index créé, nous ne pouviez pas directement ajouter, supprimer et ou modifier les données dans la table sous-jacente. Pour mettre à jour cette dernière, l’index devait d’abord être désactivé, puis recréé une fois les données à jour. SQL Server 2014 améliore ces index en colonnes. Dans la dernière mouture du gestionnaire de bases de données, ceux-ci sont disponibles à la fois en mode clusterisés et non clusterisés, et peuvent être mis à jour.
Extension du pool tampon in-memory
Cette nouvelle capacité donne à chaque noeud SQL Server la possibilité de disposer de son propre SSD, un type de mémoire vive non volatile, en guise de buffer. La configuration serveur permet à un pool de mémoire tampon d’être pris en compte par les workloads OLTP. Cela contribue à résoudre les problèmes de goulet d’étranglement des I/O tout en améliorant la bande passante I/O, du fait des performances et de la faible latence des SSD.Le fait que la Flash soit un stockage non volatile permet aussi de se protéger contre les risques de pertes de données.
Voici la commande pour activer cette fonction :
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION
{ ON ( FILENAME = 'os_file_path_and_name'
,SIZE = <size> [ KB | MB | GB ] )
| OFF }
Cette fonction est seulement supportée par les versions Enterprise 64-bit, Developer et Evaluation de SQL Server 2014.
Gouverneur de ressources
SQL Server 2014 apporte aussi deux nouveaux paramètres pour le gouverneur de ressources, qui peuvent être utilisés pour contrôler les I/O physiques allouées à des threads pour un pool de ressources donné. Ces nouveaux paramètres sont : MIN_IOPS_PER_VOLUME et MAX_IOPS_PER_VOLUME - et fixent le minimum et le maximum d’opérations par seconde et par disque pour un pool de ressource donné. Pour plus d’informations, consultez ALTER RESOURCE GOVERNOR (Transact-SQL).
Amélioration de la disponibilité du SGBD
SQL Server 2014 intègre également la possibilité de constituer des groupes de disponibilité avec des VM Azure. Ce qui signifie que nous pouvons désormais utiliser des VM Azure comme répliques (ou replicas, en langage Microsoft) pour des groupes de disponibilité asynchrones. De plus, SQL Server 2014 supporte désormais jusqu’à 8 réplicas secondaires disponibles en lecture, même lorsqu’ils sont déconnectés du réplica primaire. Les groupes de disponibilité AlwaysOn supportent également les fonctions OLTP en mémoire.
Sauvegarde intégrée à Azure
SSMS dans SQL Server 2014 vous permet de sauvegarder directement vos bases de données existantes sur site dans le service de stockage en cloud Windows Azure Storage. Vous pouvez également restaurer des bases de données à partir d’Azure.
Amélioration de la sécurité
Microsoft SQL Server 2014 apporte également de nouvelles permissions pour la gestion de la sécurité. Ces nouvelles permissions serveurs sont : CONNECT ANY DATABASE, IMPERSONATE ANY LOGIN et SELECT ALL USER SECURABLES. Elles permettent d’attribuer des permissions aux administrateurs de base de données pour qu’ils puissent s’acquitter seulement de leurs tâches et sans pouvoir accéder aux données utilisateurs.
Chiffrement des sauvegardes
SQL Server 2014 donne enfin la possibilité de chiffrer les données stockées dans la base de données lors d’une opération de sauvegarde.
Traduit par la rédaction