In-Memory, Cloud, sécurité : un intégrateur juge SQL Server 2014

Spécialiste de SQL Server depuis 12 ans, l’intégrateur Waisso en est Gold Partner. Après prise en main et tests de la version 2014 du SGBD tout juste dévoilée, son directeur général Sham Unmar partage ses impressions sur cette mouture majeure et stratégique pour Microsoft.

Microsoft vient tout juste d’annoncer le lancement de SQL Server 2014, la dernière mouture de son SGBD. Une offre qui a longtemps permis à Microsoft de faire de l’ombre à Oracle, le leader du secteur. Face à l’open source (MySQL, MariaDB), aux menaces des bases NoSQL et à l’offensive de SAP avec Hana, le premier éditeur mondial dégaine de nouvelles fonctionnalités qui permettent à sa solution de monter en gamme.

Sham Unmar, le directeur général de Waisso, un intégrateur spécialisé sur cet environnement depuis 12 ans, livre ses impressions sur cette version majeure et stratégique pour Redmond.

Silicon.fr : Comment percevez-vous la toute nouvelle version de SQL Server ? Et quelle innovation majeure vous semble-t-elle apporter ?

Sham Unmar : Cette version confirme des tendances déjà initiées dans les précédentes versions de référence de SQL Server : 2008 R2 et 2012. Pour commencer, le ColumnStore Index a été amélioré. Avec cette technologie, les données ne sont plus stockées en ligne et hiérarchisées, mais en colonnes (qui sont jointes dans l’index). Au final, les traitements de type analytique gagnent fortement en performances. En effet, il est possible d’accéder à des informations de colonnes spécifiques, sans avoir à lire tout le contenu des lignes. Des performances d’autant plus optimisées que les index sont fortement compressés. Tous ces procédés limitent également les accès disques.

Prenons l’exemple d’un site d’e-commerce. Pour retrouver tous les articles (écrans TV, machines à laver, matériel de fitness…) de couleur rouge et de plus de 10 kilogrammes, il suffit d’accéder directement aux colonnes “poids” et “couleur”, sans avoir à balayer toutes les lignes, ni toutes les colonnes de ces lignes.

Avec SQL Server 2014, apparait également le Clustered Columstore Index (NDLR : attention, la notion de cluster n’a ici rien à voir avec une infrastructure en cluster) qui est l’index unique pour une table, stocké physiquement sur le disque. Il est donc accessible en lecture et en écriture (insérer, supprimer, mettre à jour), alors qu’il était jusqu’à présent uniquement accessible en lecture. Outre le stockage physique optimisé en ce sens, la compression a encore été améliorée.

Sham Unmar - Waisso
Sham Unmar – Waisso

Fin 2012, Microsoft annonçait le In-Memory dans SQL Server 2014 (nom de code Hekaton). Quelle différence avec SAP Hana, par exemple ?

Effectivement SQL Server 2014 intègre le In-Memory, et les processus d’écriture ont été étudiés pour limiter au maximum les accès disques. En outre, les procédures stockées des tables In-Memory sont compilées en code natif pour améliorer les performances, car elles ne sont plus interprétées par le moteur.

Avec SQL Server 2014, tout le SGBDR n’est pas automatiquement In-Memory. L’administrateur choisit les tables qu’il souhaite monter en mémoire, en général les plus utilisées. Là où, avec Hana, c’est toute la base qui est montée en mémoire, et la structure change. Avec SQL Server, l’architecte fait la sélection des tables qui doivent être recréées en format In-Memory. Bien entendu, il est ensuite nécessaire de stopper et de relancer la base.
Le scénario classique consiste à réaliser un audit de la base afin de déterminer quelles tables monter In-Memory. Ainsi, dans un site d’e-commerce, la table des paniers d’achats (source de nombreuses lectures/écritures) semble tout indiquée.

Suite à nos tests, une table In-Memory comparée à une table classique multiplie les performances par 12 et le nombre d’accès simultanés par 10. En effet, les verrous sur la table sont levés beaucoup plus vite.

Microsoft affirme avoir renforcé la sécurité. Qu’avez-vous relevé en la matière ?

Effectivement, les utilisateurs exigent de plus en plus de confidentialité sur les informations des bases de données. Une attente de plus en plus forte, émanant de toutes les entreprises. Avec SQL Server 2014, il est possible de mieux sécuriser la base en définissant plus précisément les rôles des utilisateurs. Par exemple, un administrateur de données (DBA) défini dans SQL Server avait accès aussi bien à la base de données qu’aux contenus de celles-ci. Désormais, il est possible de définir un DBA technique qui ne peut pas lire les données, et un gestionnaire de données qui en a l’habilitation.

Peut-on constater des évolutions sur la gestion des ressources matérielles ou virtuelles ?

Cette nouvelle version enrichit le Resource Governor apparu dès 2008-R2. Ce mécanisme permet d’affecter ou de limiter les ressources allouées à un traitement selon des profils ou des groupes. Ainsi, le DBA peut poser une règle diminuant l’affectation de processeurs et de mémoire aux traitements batch dans la journée, et les augmentant dans la soirée. SQL Server 2014 étend les possibilités du Resource Governor aux accès disque (I/O par seconde). Une amélioration qui assure l’automatisation de l’infrastructure en fonction des priorités métiers.

Où en est la base de données de la combinaison hybride annoncée Cloud/sur site ?

SQL Server 2014 apporte effectivement une intégration hybride favorisant de nouveaux scénarios de haute disponibilité.
Auparavant, la haute disponibilité consistait à définir des clusters et à déployer du mirroring ou du log shipping (NLDR : journaux de transactions copiés du serveur principal vers le secondaire, puis rejoués en cas de besoin). En version 2012, la fonction Always-On étendait la réplication sur plusieurs nœuds avec possibilité de bascule en cas d’incident.

SQL Server 2014 apporte la réplication sur le cloud, notamment Azure en natif. Deux scénarios sont possibles – entre autres : la base SQL définit comme Always-On secondaire une VM dans Azure, ou le secondaire reste sur site, et le back-up dans Azure. Au passage, l’utilisateur bénéficie des mesures de multi-sauvegardes et de haute disponibilité inhérente à la plate-forme Cloud de Microsoft.