Quoi de neuf dans SQL Server 2016?

0
145
Quoi de neuf dans SQL Server 2016

SQL Server 2016 est disponible depuis le 1er juin. Cette mise à jour est l’une des plus importantes depuis la refonte du SGBDR en 1998. Nous vous proposons ici de découvrir les principales innovations d’une base de données qui s’ouvre plus que jamais aux scénarios hybrides.

En termes d’unités vendues, SQL Server est la base de données la plus populaire de l’univers Windows. Et si elle a longtemps souffert d’une image de «second couteau» en matière de montée en charge et de support aux applications critiques, elle n’a désormais plus à faire ses preuves.
Cependant face à un univers de développements web et mobile qui jure essentiellement par le NoSQL, le SGBDR vedette de Microsoft se cherche aujourd’hui de nouveaux marchés et de nouveaux axes de développement.

À la recherche d’un nouveau souffle

L’axe le plus surprenant et le plus prometteur est bien évidemment l’arrivée de SQL Server sur Linux. Cette annonce en a surpris plus d’un. Elle constitue en soi une micro-révolution car ce sera le premier outil serveur Microsoft officiel sous Linux; elle ne se concrétisera qu’en 2017. Mais cette arrivée ouvre intrinsèquement un nouveau marché au SGBDR de Redmond tout en rassurant les clients jusqu’ici réticents à son adoption par crainte d’une certaine forme de «Lock In» à Windows Server. Elle devrait aussi contribuer à ébranler les positions du concurrent de toujours, Oracle. En attendant, l’arrivée de SQL Server 2016, le 1er juin dernier, vient apporter des innovations phares susceptibles d’encourager les nombreux clients jusqu’ici restés sur une ancienne version – notamment SQL Server 2005 et SQL Server 2008 – à se moderniser. Outre les inévitables et innombrables améliorations destinées à simplifier la vie des administrateurs DBA et améliorer les performances des applications s’appuyant sur le moteur OLTP, cette édition 2016 s’enrichit à la fois sur la gestion des scénarios cloud hybrides, sur la gestion de la sécurité des données, sur le Reporting, sur l’analytique, sur les services DataWarehouse, etc.

Hybrid Clouddes nouveaux scénarios à inventer

Depuis la sortie de SQL Server 2014, Microsoft a totalement changé sa stratégie de développement. L’impulsion «Cloud First», initiée par Satya Nadella, s’est aussi répercutée sur la base de données de l’éditeur. Les principales nouvelles fonctionnalités sont d’abord rendues disponibles sur Azure et sa SQL Database. Dès lors, bien des améliorations de SQL Server 2016 sont déjà disponibles depuis plusieurs semaines ou mois dans le Cloud public de Microsoft. L’éditeur en profite d’ailleurs pour étendre les scénarios hybrides et faire d’Azure SQL Database une extension logique et naturelle du SQL Server 2016 «on premises». Les Stretch Databases sont une excellente illustration de ces nouveaux scénarios hybrides. Cette option permet d’étendre dynamiquement vos bases dans Azure pour y stocker les données froides. Le DBA a juste à activer la fonction et définir un filtre sur un champ date pour préciser les données froides (antérieures à la date fixée) transférées dans Azure, les données chaudes (postérieures à la date fixée) restant «on premise» . L’opération est totalement transparente pour les utilisateurs et les applications : les requêtes s’exécutent comme si toutes les données étaient au même endroit, seuls les temps de réponse sont légèrement impactés lorsque les jointures doivent rapatrier des données froides. Une fonctionnalité très utile pour conserver en ligne tout l’archivage d’une application existante ou réaliser du Machine Learning sur tout l’historique des informations. Les réplicas AlwaysOn dans Azure sont à la fois plus utiles et plus immédiats à mettre en oeuvre. Il est désormais possible de créer des réplicas «AlwaysOn Availability Croups» asynchrones dans le Cloud public Microsoft (via une VM SQL Server 2016 dans le laaS Azure) afin de mettre en place en quelques clics des scénarios PRA hors-site à moindre coûts. Un nouvel assistant vous guide pas à pas dans cette mise en oeuvre. SQL Server 2014 avait déjà introduit la notion de sauvegarde dans Azure. La fonctionnalité voit ses performances améliorées et se montre plus économique sous SQL Server 2016, la sauvegarde s’effectuant directement sur les très bons marchés Azure Blobs (Backup to URL). Au passage, la taille maximale des sauvegardes a été portée à 12,8 To. Cette sauvegarde vers les Blobs s’enrichit d’un mode «File-Snapshot Backup» qui évite le streaming des bases entières et des logs de transactions et permet ainsi d’accélérer les sauvegardes dans le Cloud mais aussi d’accélérer et simplifier les restaurations à un point donné dans le temps.

Sécurité: l’améliorer en la simplifiant

Dans cet univers hybride où les données sont aussi mobiles que les appareils qui y accèdent, la sécurité des informations devient de plus en plus cruciale. SQL Server 2016 introduit plusieurs améliorations dont deux sont déterminantes et peuvent à elles seules justifier la migration vers la nouvelle version du SGBDR. SQL Server dispose depuis 2008 d’une fonctionnalité de chiffrement transparent (TDE) des bases, un chiffrement qui n’empêche cependant pas les administrateurs d’accéder et visualiser les informations. SQL Server 2016 introduit la notion de «Always Encrypted». Ici, et contrairement à IDE, aucune clé de chiffrement n’est stockée au niveau serveur et même les administrateurs ne peuvent visualiser les données. Ce sont les applications qui chiffrent les informations – donc sans impact performance sur le serveur – via des certificats locaux, des chips TPM ou les Azure Key Vaults. Avec ce mécanisme, jointures et «Group By» restent cependant possibles sur les données chiffrées. Seul bémol, cette fonctionnalité nécessite l’usage impératif de .NET 4.6 sur l’application cliente. Autre nouveauté Sécu clé, les RLS (Row Level Securities) permettent l’application de règles d’accès sur les lignes et non plus uniquement sur les colonnes. Il suffit de définir une politique qui agit un peu comme une clause «WHERE» automatiquement appliquée à chaque requête sur le champ de contrôle (un champ contenant le nom d’utilisateur ou le rôle). Les utilisateurs qui n’ont pas accès aux lignes invisibles à leur rôle ne les verront pas car les requêtes ne les remonteront pas. Simple et efficace. Avantage, la règle pourra être très souvent appliquée sur les bases existantes sans avoir à modifier les applications. Enfin, dernière nouveauté, qui peut là aussi être appliquée sans modification des applications, le «Dynamic Data Masking». Il impose un masquage automatique au niveau des données renvoyées par n’importe quelle requête, dès lors que l’utilisateur n’a pas les privilèges adéquats. On peut ainsi imposer automatiquement une règle de masquage sur des champs contenant des salaires, des numéros de téléphone, des numéros de sécurité sociale, des numéros de carte bancaire, des e-mails et toute autre information confidentielle en fonction du rôle de l’utilisateur.

Performance & ln-Memory : un gros coup de boost

Microsoft le reconnaît volontiers, ses équipes de développement ne s’étaient pas penchées de près sur le cœur du moteur OLTP depuis longtemps afin d’y chercher de nouvelles optimisations. Les innovations matérielles et système se sont enchaînées sans que le cœur du moteur n’en tire réellement profit. Jusqu’ici les gains de performance avaient été obtenus par l’ajout de fonctionnalités ln Memory et autres trouvailles complémentaires. Avec SQLServer 2016, les ingénieurs ont réinvesti dans l’optimisation du moteur permettant à SQL Server 2016 de se montrer, sans artifice, plus rapide que les éditions précédentes. Selon, Microsoft, les utilisateurs de SQL Server 2014 remarqueront un gain de performance notable dès qu’ils migreront vers 2016. Mais les vrais gains de performance, de l’ordre de «x30», seront obtenus en exploitant les fonctionnalités «In-Memory» du moteur OLTP. Introduites avec SQL Server 2014, celles-ci se sont avérées exploitables uniquement sur les bases pensées pour elles. Quoiqu’en dise Microsoft, en l’absence de support des Foreign Keys, des Triggers, des Clustered Indexes, ainsi que des Check Constraints, il était en effet quasiment impossible d’appliquer les avantages de l’In Memory sur les bases existantes sans lourdement les modifier. Toutes ces limitations disparaissent enfin avec SQL Server 2016. Certes, il en demeure quelques-unes (pas de support des champs Blobs par exemple), mais, en pratique, un nombre bien plus important de tables dans les bases existantes peuvent désormais bénéficier du nouveau moteur OLTP ln Memory. Ce dernier a par ailleurs été musclé et supporte désormais des tables jusqu’à 2 To – on était limité à 256 Go. Enfin, un nouvel outil «Transaction Performance Analysis Overview Report» analyse vos workloads et suggère les tables et procédures stockées qui gagneraient à être migrées en mémoire.

Query Store : une question de tuning

Les DBA n’ont pas été oubliés dans cette nouvelle édition. Plusieurs nouveautés viennent simplifier leur quotidien. Outre les améliorations de SQL Server Management System, qui évolue désormais indépendamment de SQL Server et Azure SQL Database, trois nouveautés phares influent drastiquement sur le quotidien des administrateurs et doivent attirer votre attention:
• les Live Query Statistics permettent un suivi visuel en temps réel de l’exécution des requêtes pour savoir où elles en sont. Un plan d’exécution animé s’affiche à l’écran avec une multitude de métriques très utiles pour le «tuning» des bases;
• le Query Store est un peu l’équivalent de la boîte noire d’un avion : il permet de comprendre comment ont évolué les plans d’exécution des requêtes dans le temps, de comparer l’efficacité des différents plans et de forcer l’utilisation d’un ancien si une mise à jour de SQL Server ou un reboot engendre un plan au final moins performant;
• les «Temporal Tables» permettent de conserver automatiquement un historique des données d’une table et ceci de façon totalement transparente pour les applications et requêtes. C’est très pratique pour traquer les changements sur des tables critiques ou pour réparer des corruptions au niveau des enregistrements. Les Temporal Tables sont assez proches dans l’esprit des FlashBack Querys d’Oracle puisqu’elles permettent effectivement d’interroger les tables telles qu’elles étaient, à un moment donné dans le passé.

Grosso modo, lorsqu’on active l’option, SQL Server maintient deux versions de chaque table, une actuelle (vue par les applicatifs) et une autre «historisée» sur laquelle l’administrateur peut aller chercher les solutions à ses problèmes.

Un reporting à la sauce HTML5

La totale refonte des «Reporting Services» est l’une des nouveautés capi tales de toute la partie décisionnelle du SGBDR. Il est vrai qu’ils avaient bien besoin d’un ravalement de façade. Si la solution cloud «Power BI» intégrée à l’univers Office 365 vise une BI en self service, les SQL Server Reporting Services (SSRS) se focalisent sur la livraison et la gestion de rapports d’entreprise au sein d’une solution «on premise». Le module a été entièrement revisité pour désormais produire de magnifiques rapports paginés avec des graphiques, jauges et nouveaux effets visuels modernes et soignés. Les rapports produits ne font plus appel à un ActiveX pour l’impression, de sorte que cette dernière est désormais disponible dans Chrome. Firefox et Safari. En outre, ils peuvent être directement exportés vers Powerpoint. On regrettera qu’il ne soit toujours pas possible de les exporter au format PBOS de Power BI. Cependant, graphiques, cartes et jauges issus des rapports SSRS peuvent être directement épinglés dans les tableaux de bord de Power BI. Surtout. SSRS 2016 introduit un nouveau type de format de rapport : les «Mobile Reports», fruit du rachat de DataZen. Ces rapports sont interactifs et intégralement encodés en HTML5. Ils s’adaptent automatiquement à la taille d’écran du périphérique mobile. Une App dénommée «Mobile Report Publisher» permet de créer et modifier des rapports directement à partir des terminaux mobiles et de les prototyper en quelques minutes avec des données simulées. Pour profiter pleinement de ces nouveaux rapports, SQL Server Reporting Services héberge désormais un portail web moderne et visue, où chacun peut visualiser, gérer et partager les rapports qu’ils soient de type «paginé» ou de type «mobile». Ce portail intègre également une fonctionnalité KPI permettant d’afficher et suivre les métriques clés des métiers sous forme de tableau de bord.

Des nouveautés aussi dans l’analytique

Les SQL Server Analysis Services évoluent. Les modèles Tabular se rapprochent petit à petit des modèles multidimensionnels et prennent même le dessus dans certains domaines. Les deux types de modèles deviennent interrogeables aussi bien en MDX qu’en DAX, ce qui les rend transparents au niveau applicatif. Mais les deux nouveautés majeures sont à dénicher ailleurs :

• la première, c’est l’intégration de Polybase dans SQL Server Enterprise. Autrefois propre à l’édition «Data Warehouse», Polybase permet d’exécuter des requêtes en T-SQL à la fois sur les données structurées stockées dans SQL Server et sur les données semi-structurées stockées dans Hadoop;

• la deuxième nouveauté, c’est l’intégration du R. Le langage est très apprécié des Data Scientists pour ses capacités à analyser les dépendances et exposer les corrélations entre les données. L’intégration de R dans SQL Server 2016 contribue d’une part à rapprocher le langage – et les applications écrites en R – des données et d’autre part à combler le fossé entre développeurs SQL , DBA et Data Scientists. Au final , SQL Server 2016 s’impose comme une mise à jour majeure et offre des fonctionnalités phares qui devraient encourager les entreprises à rapidement migrer leurs anciens serveurs 2005 et 2008. Certes. il faudra du temps et des ressources aux DBA et développeurs pour cerner et maîtriser le potentiel des nouvelles sécurités et options du SGBDR. Mais les gains – en performance comme en transparence et en sécurité – sont suffisamment significatifs pour justifier l’effort de migration. Sans oublier les nouveaux scénarios hybrides et mobiles rendus possibles par cette édition 2016.

Quoi de neuf dans SQL Server 2016?
5 (100%) 1 vote
PARTAGER SUR
Ayoub Belkadi
Ayoub Belkadi est un consultant et Freelance SEO. Il optimise des sites web pour atteindre la première page de Google en utilisant le référencement naturel Whitehat SEO. Il concois aussi des sites web sous la platforme Wordpress 100% responsive.