Microsoft
SQL Server 2016 : les nouveautés
OLTP In-memory amélioré, sécurité renforcée, analytique musclé et ouverture plus large aux autres sources de données et à R. Sans oublier le Cloud et demain Linux. SQL Server 2016 marque un tournant pour Microsoft, comme souvent sous la présidence de Satya Nadella.
SQL Server 2016 a été annoncé pour la première fois en mai lors de l’évènement Microsoft Ignite. Depuis, les CTP (Community Technology Preview) ont livré de nombreuses indications sur ce qui fera le cœur de la prochaine version du SGBD star de l’éditeur.
OLTP en mémoire
La première concerne la convergence entre le In-memory et les données des processus transactionnelles (OLTP). Il ne s’agit pas d’une nouveauté totale puisque SQL Server 2014 avait initié le mouvement mais la version 2016 lève nombre de limitations.
Par exemple, les tables mémoires optimisées étaient plafonnées à 256 GB. Dans SQL Server 2016, elles le sont encore, mais à hauteur de 2TB. Les transactions In-memory sont également supposées pouvoir être traitées 30 fois plus rapidement que dans SQL Server 2014.
Mais la vraie nouveauté en ce qui concerne le In-Memory dans SQL Server est sans conteste la possibilité d’éditer ces tables mémoires optimisées après les avoir créées. Dans la précédente version, pour les modifier, l’utilisateur devait la supprimer (DROP) puis la récréer. Dans SQL Server 2016, toute modification peut se faire via du code Transact-SQL.
Sécurité renforcée
Côté sécurité, Microsoft fait la promotion de trois avancées : Always Encrypted, le masquage de données dynamiques et RLS.
Always Encrypted (ou « chiffrement intégral »), la plus commentée jusqu’ici, permet de faire des opérations sur des données chiffrées, sans avoir à les déchiffrer en amont. En clair, les données sont chiffrées en permanence (d’où le nom) que ce soit au repos ou « en mouvement ».
Dynamic Data Masking (en français « masquage de données dynamiques ») limite l’exposition des données sensibles en les masquant aux utilisateurs non autorisés. Microsoft cite l’exemple d’un centre d'appel où les opérateurs peuvent identifier les appelants par leur numéro de sécurité sociale ou de carte de crédit, « mais ces éléments de données ne doivent pas être divulgués entièrement au représentant du centre d'appel. Une règle de masquage peut être définie pour ne faire apparaître que les quatre derniers chiffres du numéro de sécurité sociale ou de carte de crédit dans l'ensemble de résultats de chaque requête ».
Ce masquage empêche l’accès à des données mais ne les modifie pas dans le base (contrairement au chiffrement). Son utilisation sera certainement le plus utile dans des contextes avec de fortes contraintes réglementaires et de confidentialité.
Troisième nouveauté, RLS (alias Row-Level Security). Introduite dans la V12 d’Azure, elle permet aux administrateurs de la base de contrôler, jusqu’au niveau de la ligne, qui accède aux données en fonction des caractéristiques de l'utilisateur qui exécute la requête.
Polybase : les bras grands ouverts à Hadoop
SQL Server 2016 comble par ailleurs certaines des lacunes de la trousse à outils analytiques de la base de données de Microsoft.
Alors que Polybase fait partie d’APS (alias Microsoft Analytics Platform System, alias le nouveau nom de Parallel Data Warehouse (PDW)) bien avant l’annonce de SQL Server 2016, cette version du SGBD sera la toute première à l’intégrer nativement. Polybase est un « front-end » qui permet de requêter simultanément des données relationnelles (via le moteur de SQL Server) et des données non structurées ou semi-structurées issues d’autres sources - en premier lieu celles issues d’Hadoop – via le langage T-SQL.
SSAS (SQL Server Analysis Services) bénéficie pour sa part d’une nouveauté attendue avec impatience par la communauté. La commande DBCC CHECKDB, qui vérifie la cohérence d’une base (le « C » dans les propriétés ACID), permet de vérifier aussi bien les bases de données tabulaires que les bases multidimensionnelles.
« Une base de données infinie »
Côté Cloud, la nouvelle fonctionnalité de SQL Server 2016 s'appelle Strecth Database. Lors du Ignite, Satya Nadella, PDG de Microsoft, l’a présentée comme « une base de données infinie ». Cette expression illustre l’idée d’une base qui se prolonge dans Azure SQL Database. De telle sorte que les données les moins utilisées peuvent y être stockées tandis que les données les plus « chaudes » peuvent être conservées sur site.
Idéalement, Strecth Database doit permettre de répondre à la question classique « effacer ou ne pas effacer des données d’un index ». Plutôt que de faire gonfler une base avec des données anciennes, ces données peuvent être stockées à « moindre frais » - selon Microsoft - dans le Cloud tout en restant requétable depuis la base sur site.
Et aussi
Ces sept nouveautés de SQL-Servers 2016 ne constituent évidemment pas une liste exhaustive. Mais elles résument bien ce que Microsoft a prévu de livrer pour satisfaire quelques-unes des attentes les plus demandées de ses utilisateurs.
On pourra citer, parmi les autres avancées : l’intégration du langage R, le support de JSON (« un pont vers le NoSQL ») et de HDFS, Query Store (pour analyser les problèmes de performances en trouvant les différences de performances provoquées par un changement de plan de requête), ou encore les Temporal Tables (pour historiciser une table et requêter cet historique) ou de nouveaux modèles de DataViz en natif dans SQL Server Reporting Services (Sunburst et TreeMap).
En attendant la sortie officielle, qui devrait à présent être imminente, RC2 de SQL-Server 2016 est toujours testable gratuitement 180 jours.