La disponibilité générale de SQL Server 2014 a été fixée au 1er avril par Microsoft, la veille de l'ouverture de Build, sa conférence développeurs qui se tient du 2 au 4 avril à San Francisco. Le produit vient d'être livré dans sa version RTM (Release to manufacturing). Cette évolution de la base de données n'a plus beaucoup de secrets pour les 200 000 utilisateurs qui ont téléchargé sa 2ème pré-version diffusée sous l'appellation CTP (Community Technology Preview). La CTP 1 a été livrée en juin 2013 et la CTP 2 le 15 octobre, avec une date d'expiration au 31 mars 2014 qui renseignait implicitement sur celle de sa sortie. A ce jour, une vingtaine de clients sont déjà en production.

SQL Server 2014 arrive deux ans après l'actuelle version. Microsoft a particulièrement investi dans deux domaines. D'une part, sur le moteur OLTP en mémoire (projet Hekaton), qui dope les performances transactionnelles (d'un facteur 2 à 25 et jusqu'à 30) et s'ajoute aux fonctions in-memory déjà disponibles pour le décisionnel, d'autre part sur les fonctionnalités de cloud hybride, ainsi que l'a souligné Tracy Daugherty, responsable de programme pour SQL Server 2014 et Windows Azure SQL Virtual Machines, lors d'un récent atelier sur le produit, à Redmond (siège social de Microsoft).

Une licence de base sans options payantes

Au fil des versions de SQL Server, Microsoft a renforcé son offre plateforme de données qui se compose à la fois d'un produit à installer sur site, de versions cloud (Azure SQL Virtual Machines et Azure SQL Database) et de connexions entre les deux environnements avec un jeu d'outils communs (d'administration, de gestion d'identités, de virtualisation). Pour la version 2014, Microsoft souligne que 20% des 200 000 téléchargements de la CTP 2 ont été faits via des images Windows Azure sur la plateforme IaaS du cloud public.

Parmi les cas typiques d'utilisation hybride figure la sauvegarde vers Windows Azure de bases installées sur site, à partir de SQL Server Management Studio (SSMS), en utilisant des instructions T-SQL et le langage de scripts PowerShell. Le backup peut être réalisé manuellement ou en mode managé (on spécifie le temps de conservation des données et le système effectue le backup automatiquement lorsqu'il l'estime nécessaire en fonction de l'activité).


L'OLTP in-memory intégré à SQL Server 2014 (agrandir l'image)

Les capacités OLTP en mémoire, construites au coeur de SQL Server 2014, de même que les fonctions liées au cloud hybride, également intégrées au produit, ne sont pas tarifées séparément, a rappelé Tracy Daugherty. Sont donc inclus dans la licence de base les fonctions de migration vers le cloud (déploiement d'une base de données vers Azure VM via SSMS), de backup et restauration depuis Azure Storage et la haute disponibilité avec Azure en créant des réplicas secondaires Always On.

Des index en colonnes modifiables

Le responsable de programme présente l'absence d'options payantes comme un élément différentiateur important par rapport à un concurrent comme Oracle dont les ajouts fonctionnels sont souvent fournis sous cette forme. Ce dernier a lui aussi annoncé des fonctions in-memory pour les traitements OLTP sur sa base phare 12c, en octobre dernier, mais sans donner de date précise de livraison (sans doute en 2014). [[page]]En revanche, sur ce terrain, Microsoft arrive après SAP qui permet d'exploiter sa base de données en mémoire HANA avec les applications transactionnelles de son ERP depuis un peu plus d'un an. Mais il pointe le fait que, contrairement à HANA, son moteur OLTP ne nécessite pas d'appliance matérielle particulière. De façon générale, le principal concurrent de SQL Server reste pour l'instant Oracle. A ce propos, Tracy Daugherty a indiqué que 900 entreprises avaient migré de cette base vers SQL Server en 2012, notamment dans la banque, l'industrie, le retail, les services, l'administration et la santé.

Côté amélioration des performances sur SQL Server 2014, Microsoft a aussi travaillé sur le stockage en colonnes en mémoire, qui compresse les données (x7) et accélère les requêtes pour les scénarios de datawarehousing. Les index en colonnes sont désormais modifiables (insertion de valeurs, mise à jour, suppression). On peut recourir à des index en cluster modifiables qui seront particulièrement utilisés pour les stockages volumineux.

Autre évolution sur les performances, l'extension du pool de mémoire tampon permet d'accéder de façon transparente à des disques SSD. Par ailleurs, le gouverneur de ressources de SQL Server 2014 permet de spécifier des limites sur le nombre d'entrées/sorties physiques, sur la CPU et sur la mémoire que les requêtes des applications pourront utiliser dans le pool de ressources, en indiquant des paramètres minimum et maximum. 

Haute disponibilité améliorée

Concernant la haute disponibilité, sur Always On (introduit avec SQL Server 2012), Microsoft a pris en compte les 10 demandes les plus fréquemment faites par les utilisateurs, a expliqué Tracy Daugherty. Les améliorations portent notamment sur la gestion des réplicas secondaires actifs. "Les clients sont satisfaits du résultat et nous disent que nous les avons vraiment écoutés et résolu les problèmes qu'ils rencontraient". Le temps de fonctionnement sans redémarrage a également été amélioré, de même que la maintenance en ligne.

Par ailleurs, la base de données fonctionne mieux avec Windows Server. Elle supporte le système de fichiers ReFS (Resilient File System, arrivé avec la version 2012 de l'OS serveur disponible sur site et dans le cloud), le redimensionnement en ligne des disques virtuels VHDx et la réplication Hyper-V. Enfin, de nouveaux modèles d'analyse multidimensionnelle sont disponibles pour Power View, la couche d'exploration et de visualisation de données exploitées dans Excel et PowerPoint avec les fonctions décisionnelles de SQL Server. 

Un projet démarré il y a 5 ans

Le moteur OLTP en mémoire reste évidemment l'évolution principale de SQL Server 2014. Le fait que Microsoft ait décidé de l'intégrer dans le produit pour qu'au final, cela entraîne moins de changements pour les utilisateurs, a véritablement constitué un engagement important et ardu à réaliser pour l'éditeur, a insisté Tracy Daugherty. "Ce n'était pas un projet de six mois, cela fait 4 à 5 ans que nous travaillons dessus", a-t-il indiqué en rappelant que, côté décisionnel, l'analyse in-memory était arrivée dès SQL Server 2008 R2 pour Power Pivot dans Excel, tandis que SQL Server 2012 apportait Analysis Services, le moteur xVelocity et le stockage en colonnes.


Les piliers technologiques du moteur OLTP in-memory (projet Hekaton) de SQL Server 2014 (agrandir l'image).

[[page]]

Pour illustrer les capacités du moteur OLTP en mémoire, le responsable de programme a rejoué une démonstration présentée lors de Pass 2013, avec une application simulant un site de e-commerce sur lequel se vendent des millions de jeux et d'apps par jour, interrogé par 1 million d'utilisateurs. En passant certaines tables en mémoire et en recompilant nativement les procédures stockées, le processus d'achat en ligne s'effectue en 0,15 seconde (enregistrement et archivage de la vente), contre 3,9 secondes auparavant (le temps de réponse est 24 fois plus rapide), tandis que le moteur de recommandation réagit en 0,732 seconde contre 6,264 précédemment (9 fois plus vite). La démonstration combine l'OLTP avec l'analyse de données en mémoire en rafraichissant presque en temps réel la liste des meilleures ventes réalisées. 

Identifier les tables à monter en mémoire

Il est intéressant de souligner qu'il n'est pas nécessaire de convertir l'ensemble des procédures stockées, mais simplement celles que l'on veut exploiter en mémoire. Microsoft présente ce point comme un élément différentiateur par rapport aux autres solutions du marché, HANA de SAP, TimesTen d'Oracle ou encore l'offre de MemSQL. L'outil AMR (Analysis, migrate and report) intégré à SQL Server Management Studio va aider l'utilisateur à déterminer si l'OLTP in-memory peut effectivement améliorer les performances de son application. Il analyse les charges de travail et indique quelles sont les tables et procédures stockées qui pourront tirer parti d'une conversion en mémoire ainsi que le volume de travail que cela nécessitera. Un assistant Memory Optimization Advisor aide ensuite à transformer les tables, certaines incompatibilités devant être supprimées pour pouvoir les déplacer en mémoire. Un certain nombre d'instructions T-SQL ne sont de fait pas prises en charge par le moteur OLTP in-memory. C'est par exemple le cas des contraintes Foreign Key ou Check et des déclencheurs (triggers).


Un outil permet d'identifier les tables qu'il serait intéressant de monter en mémoire. (agrandir l'image)


L'assistant Memory Optimization Advisor (agrandir l'image).

A ce jour, environ 150 entreprises ont participé aux programmes d'adoption anticipée de SQL Server, TAP (Technology adoption program) et RDP (Rapid deployment program), dont 22 clients TAP particulièrement suivis. Ils ont communiqué leurs feedbacks à Microsoft et contribué à faire évoluer le produit. « Dès la CTP 2, les gens ont commencé très vite à utiliser les fonctionnalités, comme cela ne s'était jamais produit jusque-là », a indiqué Tracy Daugherty. Une vingtaine de clients sont déjà entrés en production dont une demi-douzaine mettant en oeuvre Hekaton. Les tarifs de SQL Server 2014 ne sont pas encore communiqués, mais certains documents présentés par l'éditeur laissent entendre que le prix actuel ne serait pas modifié. Un événement est programmé pour le lancement du produit le 15 avril.

Microsoft a profité de l'annonce de la version RTM de SQL Server 2014 pour annoncer la disponibilité générale du support d'Hadoop 2.2 dans son service Windows Azure HDInsight proposé pour le traitement des big data. Livré fin octobre, celui-ci repose sur HDP, la distribution Hortonworks du framework Apache Hadoop.Â