25 mai 2017

Article

Technologies de l'information

Les nouveautés de SQL Server 2016

À découvrir : OLTP en mémoire amélioré, analytique musclée, sécurité renforcée et ouverture aux autres sources de données.

SQL Server 2016 a été annoncé pour la première fois en mai 2015 lors d'un évènement Microsoft. Depuis le 1er juin, quatre versions sont disponibles : Enterprise, Standard, Developer et Express. Les versions Developer et Express sont gratuites. L’une des principales nouveautés, annoncée il y a déjà plusieurs mois, sera le passage d'une licence par processeur à une licence par cœur.

OLTP en mémoire

SQL Server 2016 est basé sur la technologie de traitement transactionnel en mémoire issue du projet « Hekaton » lancé en 2012 et déjà utilisé par SQL Server 2014. La vraie nouveauté en ce qui concerne le In-Memory est la possibilité d’éditer ces tables optimisées en mémoire après les avoir créées. Dans la version 2012, l’utilisateur devait la supprimer puis la récréer. Dans SQL Server 2016, toute modification peut se faire via du code Transact-SQL.

Une autre amélioration est la convergence de In-memory et des données transactionnelles (OLTP). Par exemple, les tables optimisées en mémoire étaient plafonnées à 250 GB. Dans SQL Server 2016, la limite est maintenant de 2TB. Les transactions In-memory sont supposées être 30 fois plus rapide que dans SQL Server 2014. Sans aucun doute, la version 2016 repousse ses limites!

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 ») 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 » sans que des modifications aux applications soient nécessaires.

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. 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 la 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) permet aux administrateurs de la base de contrôler qui, jusqu’au niveau de la ligne, accède aux données en fonction des caractéristiques de l'utilisateur qui exécute la requête.

Polybase : À la conquête d’Hadoop

Une des grandes nouveautés de SQL Server 2016 est la mise à disposition de Polybase, un nouveau service qui va nous permettre d’utiliser des données disponibles dans SQL Server, mais aussi dans vos clusters Hadoop.

Alors que Polybase faisait partie d’APS (alias Microsoft Analytics Platform System) bien avant l’annonce de SQL Server 2016, la version 2016 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 et des données non structurées ou semi-structurées issues d’autres sources via le langage T-SQL.

« Une base de données infinie »

Côté Cloud, la nouvelle fonctionnalité de SQL Server 2016 s'appelle Stretch Database. 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 courantes peuvent être conservées localement.

Idéalement, Stretch 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 à « moindres frais » – selon Microsoft – dans le Cloud tout en restant « requêtables » localement.

Encore plus de nouveautés dans les différentes versions

Ces nouveautés ne constituent évidemment pas une liste exhaustive. On pourra citer, parmi les autres avancées : l’intégration du langage R, le support de JSON et de HDFS, Query Store, ou encore les Temporal Tables.

Vous souhaitez en apprendre plus sur le sujet? Retrouvez-moi lors des formations « Administration d’une base de données MS SQL Server 2008 / 2012 / 2014 » (MS509) et « Programmation d’une base de données MS SQL Server 2008 / 2012 / 2014 » (MS510) chez Technologia.

Eric Vaillancourt possède plus de vingt cinq ans d'expérience en programmation de bases de données et en gestion de projets. Depuis une quinzaine d'années, il se spécialise en optimisation des performances et en coaching d'administrateurs de bases de données.