SQL Server 2016, la meilleure plateforme de Microsoft ?

Juin 2016

Microsoft présente SQL Server 2016 comme : « La plus grande avancée de l’histoire des plateformes de données », c’est dire à quel point cette version devrait séduire le marché. Mais cette version de SQL Server 2016 est-elle réellement la meilleure plateforme de Microsoft ? S’il fallait ne retenir que quelques éléments des nombreuses nouveautés de cette version, je vous orienterais vers celles-ci :

Coté performances, SQL 2016 dispose maintenant de l’analyse en temps réel pour les versions Entreprise et développement. Avec cette nouvelle possibilité, vos tableaux de bord changent aussi vite que vos données sont mises à jour. Et puis pour parler du BI, DATAZEN est intégré à SQL server 2016 sous le nom « Mobile Report Publisher ».

Pour continuer dans les nouveautés de SQL 2016, parlons rapidement du « Query Store ». C’est le magasin de requêtes. SQL capture capte un éventail d’informations sur l’utilisation de la requête comme le CPU, mémoire, e/s et temps d’exécution. Une grande partie de cette information est disponible par le biais de requêtes. Plus besoin de laisser tourner l’analyseur, il suffira de requêter « dans le magasin » pour en tirer les leçons.

In-Memory

L’utilisation d’un index de colonne en mémoire basé sur les tables transactionnelles permet un meilleur temps de réponse de l’ordre de 30 fois inférieur. Si, en plus, vous utilisez une procédure stockée compilée en mode natif, vous pouvez arriver à une amélioration frisant le taux de 100. C’est un moyen très intéressant pour réaliser des tableaux de bord rafraichis en temps réel. De plus, la réactivité est souvent nécessaire afin de réaliser un étiquetage à la volée ou un contrôle en cours de production…

A noter que la version 2016 de SQL peut gérer jusqu’à 15Tb de mémoire RAM, ce qui laisse de l’espace pour ces tables en mémoire.
Pour savoir si une table peut utiliser le mode « in-memory », exécutez le script T-SQL suivant :
SELECT DatabasePropertyEx(DB_Name(), ‘IsXTPSupported’);

Always encrypted

« Always encrypted » permet de réaliser des requêtes sur des données sensibles tout en garantissant que les informations seront sécurisées hors de l’application (toujours cryptées).

Par exemple, une donnée avec un numéro de compte, colonne cryptée dans la base de données. Prenons l’exemple du select (…) where number=’193-33-0987-4589’. Du côté de l’application, l’objet étendu ADO.Net crypte le critère du numéro de compte (puisqu’il sait que la colonne est cryptée). Il modifie la requête en codant le numéro et passe la requête au serveur SQL.

b

 

En parlant sécurité, SQL 2016 introduit la sécurité appliquée aux lignes de données. Cette fonctionnalité permet de sortir la sécurité d’accès aux données gérée par l’application vers le serveur de bases de données.

Prenons le cas des reports et des tableaux de bord. Faites une seule requête vers la liste des commandes pour que les résultats soient alors différents suivant les droits des lecteurs. Alors un tableau de bord unique pour que chaque commercial puisse voir ses ventes.

La sécurité des lignes de données rejoint la nouveauté « Dynamic data masking » qui permet d’appliquer la sécurité sur les colonnes. Mais là, c’est du ON/OFF ; Vous masquez ou pas les données des colonnes. Vous pouvez ainsi dissimuler des données confidentielles sans avoir à les chiffrer.

Travailler avec des données externes est généralement un processus en trois étapes :

1. Définir les sources de données externes, telles que celles sur Windows Azure Blob Storage ou dans Hadoop (que ce soit dans Microsoft HDInsight ou Hadoop externe) ; en passant les informations d’identification de sécurité.
2. Définir le format de fichier/données externes (fichiers texte délimités par exemple).
3. Définir une table externe.

Microsoft SQL 2016 apporte également une nouveauté dans les requêtes et les résultats au format JSon. Tout comme il est possible de générer du XML avec la clause FOR XML, il est désormais possible de générer du JSON avec la clause FOR JSON. Mais aussi, on peut stocker au format JSon et faire des requêtes.

Exemple : SELECT * FROM OPENJSON(‘{« Name »: »John », « Age »:20, « DateOfBirth »: null, « Tags »: [« Customer »], « PhoneNumbers »: { « Home »: « 0123456789 » }, « IsActive »:true}’)

A quand les données futures ? Dans le cas de l’ERP, de la paie, ou encore de la CRM, il serait tellement bien de pouvoir enregistrer des informations valables à partir d’une date. Et ça c’est pourtant faisable en No-SQL.

Accès aux informations sur plateformes hétérogènes

La business intelligence, à travers reporting services, permet une visualisation des informations sur les plateformes variées, smartphone, Xbox, portable, tablette mais aussi à partir de systèmes d’exploitation différents grâce à l’utilisation native du HTML 5. (Un navigateur récent côté utilisateur est bien évidemment requis).

 

b

Archivage

L’archivage de données est grandement amélioré avec la possibilité d’archiver des données dans Azure tout en gardant les requêtes sur la totalité des données. C’est ce que Microsoft appelle « Stretch SQL » ou le SQL élastique.

Le principe est simple, il faut définir que la base de données peut utiliser l’archivage externe (remote data archive). Ensuite, à partir du menu contextuel de la base de données dans Visual Studio, il faut activer l’archivage de la base de données (Enable Database Stretch) et il faut définir quelles données passeront automatiquement en mode archive grâce à une requête. Enfin, adapter les requêtes vers la base ‘stretched’.

Ces informations passeront alors dans Azure et les utilisateurs continueront à utiliser la base de données locale. Si une requête fait appel à des données transférées dans Azure, le serveur SQL 2016 saura aller les chercher sans modification des requêtes.

Alors, SQL Server 2016, la meilleure plateforme de Microsoft ?

En résumé, cette version 2016 de SQL c’est : Plus de performances, plus de capacités à accéder aux données, plus de capacités à communiquer avec le cloud. Plus que la vitesse ou encore la sécurité, c’est assurément une version très liée à Azure et aux frameworks externes.

Deux versions majeures : La version entreprise et la version standard. Les versions « Développeur » et « Express » sont gratuites. La version Compact pour les sites IIS est toujours disponible. Et enfin la version Web est maintenant réservée aux sociétés qui font de l’hébergement.

Encore une fois, la version SQL server montre que SILOG a fait le bon choix pour son ERP. C’est une offre pour les opérations stratégiques – avec fonctions de disponibilité, performante et sécure. L’orientation est résolument tournée vers le cloud Azure mais les performances des solutions locales ne sont pas pour autant écartées. Le mode mixte est parfaitement géré pour des besoins de mobilité.

Les solutions de haute disponibilité intégrées permettent un basculement plus rapide et plus fiable. Plus faciles à configurer, à maintenir et à surveiller, cela aide les organisations à réduire le coût total de possession (TCO). Nous ne manquerons pas de mettre à jour les produits pour coller au plus près de vos besoins.

Enfin, on se doit de parler licences. Peu de changements par rapport à la grande sœur 2014. SQL 2016 met un peu plus la pression dans le cas de la virtualisation. A ce sujet, la haute disponibilité au sein d’une ferme de serveurs de virtualisation permet de bouger les serveurs SQL d’un hôte à un autre sans acquisition d’une licence supplémentaire.

Si vous souhaitez en savoir plus sur SQL Server 2016, vous pouvez consulter la présentation de SQL Server 2016 sur le site de Microsoft (en anglais) ou le comparatif des éditions SQL 2016 et le comparatif SQL 2016 par rapport à ses grandes soeurs.

Si vous avez des questions, n’hésitez pas à nous contacter via le formulaire de contact.