25 mai 2017

Article

Technologies de l'information

Les nouveautés de SQL Server 2016

Les principales fonctionnalités de SQL Server 2016 : un OLTP avec une mémoire améliorée, l’analyse des données y est plus puissante, la sécurité est plus robuste et la compatibilité aux autres sources de données est meilleure.

En mai 2015, Microsoft annonçait pour la première fois SQL Server 2016 au cours d'un de ses évènements. Depuis le 1er juin, quatre versions sont disponibles : Enterprise, Standard, Developer et Express. La bonne nouvelle, c’est que les versions Developer et Express sont gratuites! La nouveauté majeure est la transition entre la licence par processus à celle par cœur.

Un OLTP dotée d’une mémoire améliorée

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!

Une sécurité robuste

En terme de sécurité, Microsoft met en avant trois avancées de SQL Server 2016 : le chiffrement intégral , 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 résumé, les données sont chiffrées de manière constante que ce soit au repos ou « en mouvement » sans avoir à modifier les applications.

Dynamic Data Masking (ou « masquage de données dynamiques ») limite l’accessibilité des données dites sensibles aux utilisateurs non autorisés en les masquant.. En effet, il est possible de créer une règle pour masquer les quatre derniers chiffres du numéro d’assurance sociale ou d’une 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, jusqu’au niveau de la ligne, qui consulte les données selon les caractéristiques de l'utilisateur faisant la requête.

Polybase disponible dans Hadoop

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

Bien que Polybase faisait partie d’APS (alias Microsoft Analytics Platform System) avant l’annonce de SQL Server 2016, la nouvelle version sera la toute première à l’intégrer nativement. Polybase est un « front-end » qui permet de rechercher simultanément des données relationnelles et non structurées ou semi-structurées issues d’autres sources via le langage T-SQL.

Une base de données aux multiples possibilités

Côté Cloud, la nouvelle fonctionnalité de SQL Server 2016 s'appelle Stretch Database. Le concept est une base de données qui continue dans Azure SQL Database, ainsi 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 « faut-il supprimer ou non des données d’un index? ». Au lieu de conserver des données anciennes qui viennent grossier la base, ces données peuvent être stockées à faible coût – aux dires de Microsoft – dans le Cloud tout en restant accessibles localement.

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

Ces nouveautés ne constituent pas une liste exhaustive puisque parmi les autres avancées, on notera : 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.