In-memory : SQL Server 2014 sera disponible le 1er avril
SQL Server 2014 promet des performances transactionnelles en hausse grâce à son moteur in-memory. Mais il apporte aussi de multiples améliorations. LeMagIT fait un tour d'horizon
Microsoft a officialisé cette semaine la disponibilité de SQL Server 2014, la dernière mouture de son serveur de bases de données relationnelles. La nouveauté la plus attendue de cette mouture est l’arrivée d’un moteur transactionnel in-memory, nom de code « hekaton », destiné à optimiser les performances transactionnelles de la base (sur un modèle finalement assez similaire à celui d’Oracle).
Mais SQL Server 2014 apporte aussi bien d’autres améliorations, parmi lesquelles un mécanisme amélioré de gestion des index de données en colonnes (une évolution de l’actuel index de magasin de données en colonnes de SQL Server 2012), la capacité à utiliser des SSD comme espace tampon (buffer) pour les entrées/sorties, une intégration renforcée avec Windows Azure (notamment la capacité à répliquer vers des VM Azure et à sauvegarder des bases de données on premise vers Azure Storage via la console SSMS), ainsi que de multiples améliorations en matière de sécurité.
Hekaton : la promesse de performances transactionnelles en hausse
Comme l’explique Damien Cudel, Chef de Marché Plate-forme Applicative chez Microsoft, au MagIT : l’objectif d’Hekaton est de permettre des gains sur le transactionnel pouvant atteindre un facteur de 100. Le fait de charger les tables en mémoire permet, selon lui, des gains de l’ordre de 10 fois mais les autres gains proviennent notamment de l’aptitude à optimiser les procédures stockées en compilant leur code.
Hekaton est intégré au cœur de SQL Server et ne requiert pas de matériel spécifiquement optimisé. La technologie s’intègre de façon transparente avec les processus transactionnels existants. Une fois que le DBA a déclaré une table comme in-memory ( ce qui se fait en passant un paramètre lors de la création des tables (MEMORY_OPTIMIZED=ON), le moteur OLTP in-memory se charge de gérer la table. De plus les procédures stockées qui ne référencent que des tables hekaton peuvent être compilées nativement (le code des procédures stockées est compilé en code natif à la plate-forme et n’est plus interprété à la volée, ce qui permet non seulement de gagner en performance, mais aussi de réaliser des économies de mémoire.
Une autre fonction utile pour améliorer les performances est l’aptitude de SQL Server 2014 à étendre le pool tampon in-memory en tirant parti des SSD ou des cartes Flash installées dans le serveur. Cela permet d’accélérer le « paging » mémoire et de doper les performances des applications les plus exigeantes.
Toujours au chapitre des performances, la fonction d’indexation du magasin de données en colonnes de SQL Server a été améliorée. Ce type d’index est apparu avec SQL Server 2012 pour améliorer les performances des requêtes sur de grands datawarehouses. Mais il ne pouvait pas être clusterisé et surtout ne pouvait pas être mis à jour. SQL Server 2014 apporte un second type d’index de magasin de données en colonnes qui est à la fois clusterisé et actualisable. Il gère aussi mieux la compression de données, ce qui permet là encore d’optimiser l’usage de la mémoire.
Une intégration renforcée avec Windows Azure
Microsoft a aussi veillé à renforcer l’intégration de sa base de données avec sa plate-forme de cloud Windows Azure. Depuis SQL Server 2012 Cumulative Update 2, il est possible de sauvegarder des bases vers le service de stockage de BLOBs de Windows Azure. SQL Server 2014 va plus loin en apportant le concept de « Smart Backups ». Dans la pratique le serveur de bases de données détermine automatiquement s’il faut réaliser une sauvegarde complète ou différentielle et quand. SQL Server 2014 peut aussi stocker les données et les fichiers de logs associés à une base on-premise sur Azure Storage. Enfin, SQL Server Management Studio (SSMS) dispose d’un assistant pour aider à la migration d’une base existante vers une VM sur Windows Azure.
SQL Server 2014 sait aussi utiliser une VM Azure dans le cadre d’un groupe de disponibilité (AlwaysOn availability group replica). Le SGBD supporte désormais jusqu’à huit répliques (ou replica) et des répliques en VM sur Azure peuvent désormais être utilisées pour le failover automatique.
Signalons que Microsoft SQL Server 2014 apporte aussi des fonctions de sécurité additionnelles avec notamment un jeu de permissions étendu. Les permissions CONNECT ANY DATABASE, IMPERSONATE ANY LOGIN et SELECT ALL USER SECURABLES, permettent d’autoriser un administrateur à réaliser certaines tâches, mais sans avoir accès aux données sous-jacentes. Enfin SQL Server 2014 sait chiffrer des données dans une base pendant une opération de sauvegarde.
SQL Server 2014 sera disponible le 1er avril et ses mécanismes de licence devraient être similaires à ceux de SQL Server 2012, à savoir une facturation au nombre de cœurs processeurs. Le moteur in-memory Hekaton ne sera disponible que dans la version entreprise de la base (6874 $ par cœur CPU) tandis que la fonction de gestion de buffer SSD sera disponible dans la version standard (1793 $ par cœur). Comme auparavant, l’édition BI fait à la fois l’objet d’une facturation au nombre de cœurs serveurs et au nombre d’utilisateurs (CAL ou Client Access Licence).