SQL Server 2019 : quelques nouvelles fonctions à retenir
SQL Server 2019 comprend certes une multitude d’améliorations et de nouvelles fonctionnalités, mais certaines comme celles liées à l'indexation et la haute disponibilité méritent de s’y attarder.
L’arrivée d’un nouveau système de gestion de bases de données chez Microsoft est toujours un événement majeur. Microsoft SQL Server 2019 ne constitue pas une exception. Cette mouture regorge de nouvelles fonctionnalités, et cela ne porte pas seulement sur la prise en charge de grands clusters pour le Big Data, mis en avant lors de la preview en septembre dernier.
Si la possibilité de combiner SQL Server avec Spark, a certes attiré l’attention, d’autres fonctions débarquées avec cette nouvelle version devraient être plus utiles aux utilisateurs du système de gestion de base de données (SGBD).
Améliorations de l'indexation
Parmi ces fonctions, l'indexation occupe une place de premier plan. Les administrateurs de bases de données ont tous été confrontés à une situation dans laquelle une opération d'indexation tourne terriblement mal. SQL Server 2019 permet d’éviter justement ces situations.
Si, par exemple, une opération d'indexation demande beaucoup de ressources au point de perturber le fonctionnement normal de la base de données, le processus d'indexation peut être interrompu puis repris aux heures creuses pour libérer les ressources dont le système a besoin.
Une autre amélioration tout aussi convaincante du moteur d'indexation est la capacité de récupération après une panne d'indexation. Le processus d'indexation peut échouer en raison d'un certain nombre de facteurs (le manque d'espace disque ou le basculement de la base de données vers un autre système). Dans le passé, avec de telles défaillances, le processus d'indexation devait être recommencé à zéro. Dans SQL Server 2019, Microsoft permet de reprendre le processus d'indexation sans avoir à tout recommencer.
SQL Server 2019 a également réduit la quantité d'espace nécessaire lorsque vous créez un index volumineux.
Autre ajustement : SQL Server 2019 permet de convertir en ligne les tables conventionnelles d'index en colonnes. Dans les versions précédentes de SQL Server, de telles conversions ne pouvaient être effectuées que hors ligne. Dans le nouveau serveur de base de données, elles peuvent être effectuées en arrière-plan, pendant que la base de données continue à fonctionner.
Mises à jour des groupes de disponibilité Always On
Les groupes de disponibilité Always On ne sont pas nouveaux, mais Microsoft a apporté quelques améliorations en matière de haute disponibilité et de reprise après sinistre. Pour commencer, SQL Server 2019 permet à un groupe de disponibilité Always On de contenir jusqu'à cinq répliques synchrones, avec une réplique primaire et jusqu'à quatre répliques secondaires. SQL Server 2017 n’autorisait que trois répliques au maximum.
Microsoft a également introduit la possibilité de rediriger les connexions du réplica secondaire vers le réplica primaire. Cela signifie qu'un client peut être redirigé vers le replica principal sans l'utilisation d'un auditeur de groupe de disponibilité, qui est un nom de réseau virtuel utilisé pour connecter les clients aux bases de données des répliques.
Un écouteur redirige automatiquement le trafic utilisateur vers la réplique primaire lorsqu'un basculement se produit ; la fonction de redirection du replica secondaire vers le replica primaire peut être utilisée dans les situations où les écouteurs ne sont pas pris en charge, quel que soit le serveur cible spécifié dans la chaîne de connexion.
SQL Server sous Linux : des fonctions supplémentaires
Bon nombre des nouvelles fonctionnalités de Microsoft SQL Server 2019 s'adressent aux utilisateurs qui souhaitent exécuter SQL Server sur Linux. C'était devenu possible avec SQL Server 2017, mais la version Linux de cette mouture n'incluait pas l'ensemble des fonctionnalités. SQL Server 2019 sous Linux n’a, elle non plus, pas toutes les fonctions de sa contre-partie Windows, mais Microsoft a ajouté certaines des pièces manquantes.
Pour commencer, SQL Server for Linux prend désormais en charge la réplication des données. Une instance de base de données dans une VM Linux exécutant SQL Server 2019 peut agir en tant qu'éditeur, distributeur ou abonné, à condition que le planificateur de tâches, SQL Server Agent, soit installé.
Un autre ajout majeur à la version Linux du SGBD est la possibilité de configurer des groupes de disponibilité Always On dans des containers Docker, orchestrés avec Kubernetes. Microsoft met également à disposition des images de conteneurs certifiées pour Red Hat Enterprise Linux. Toutes les images de containers Linux et Windows pour SQL Server 2017 et SQL Server 2019 sont placées dans le registre des containers Microsoft, créé en mai.
En outre, le service Machine Learning Services (In-Database) est désormais disponible pour les environnements Linux, permettant aux utilisateurs de SQL Server sous Linux d'exécuter des algorithmes de Machine Learning écrits en R et Python. Le support du ML inclut l'utilisation de la procédure stockée sp_execute_external_script, une commande Transact-SQL pour exécuter des scripts sur la base de données.
L'une des améliorations les plus importantes - mais dont on parle le moins - apportées à SQL Server sous Linux est le support d'OpenLDAP. Pour ceux qui ne sont pas familiers avec OpenLDAP, il s'agit d'une version open source du Lightweight Directory Access Protocol. Bien qu'OpenLDAP puisse fonctionner indépendamment d'Active Directory (Microsoft), ce support d'OpenLDAP permet à SQL Server Linux d’avoir accès à Active Directory.
SQL Server 2019: le mode « Enlightment »
Autre apport : la version Linux de SQL Server 2019 prend désormais en charge des fichiers qui sont stockés sur des périphériques pour fonctionner en mode « illuminé » (« Enlightment mode ») et améliorer les performances. Cela peut porter sur la base de données, les logs des transactions et les fichiers de points de contrôle OLTP en mémoire. Lorsque ces types de fichiers sont placés sur une mémoire persistante, ils deviennent accessibles via des opérations memcpy, qui peuvent être effectuées sans utiliser la pile de stockage de l’OS.
Cela permet d'effectuer les opérations d'E/S de manière beaucoup plus efficace, sans avoir la latence de stockage habituelle. Le support de ces périphériques a été ajouté dans SQL Server 2016 pour Windows, mais le mode « illuminé » n'est disponible que dans la version Linux de SQL Server 2019.