Comment SQL Server fonctionne sur Linux ?
C’est la question légitime que se posent les architectes data et les spécialistes des bases de données : comment Microsoft assure l’exécution de SQL Server dans les conteneurs Linux et Docker ? Et cela dans des conditions de disponibilité et de performance optimales.
Pour répondre, il faut se pencher sur la PAL (Platform Abstraction Layer), la couche d’abstraction qui permet à SQL Server de devenir agnostique en termes de système d’exploitation et de plateforme. Une aptitude gagnée en partie grâce à l’intégration du projet Drawbridge de Microsoft Research. Ce projet explore une nouvelle forme de virtualisation qui parvient à faire tourner une version de Windows dans un conteneur particulier (appelé « picoprocessus »). C’est cette technologie qui a été mise à profit pour fournir une gestion de la mémoire, un ordonnancement des threads et des services de gestion d’entrées/sorties et, au final, composer cette couche d’abstraction.
Résultat, PAL permet à la même base de code SQL Server de fonctionner dans des environnements Docker et Linux – par opposition à une autre voie qui aurait consisté à porter le code Windows de SQL Server sur de multiples plateformes. Et c’est donc grâce à PAL que SQL Server sur Linux offre n’est fondamentalement pas différent du SQL Server qui s’exécute sur Windows avec, à la clé, les mêmes performances.
Une expérience Linux complète
L’expérience « SQL Server sur Linux » ne s’arrête pas là. En fait, elle commence dès l’installation qui suit la méthode standard de déploiement des packages sur Linux, en utilisant yum (pour les distributions Fedora), apt-get (pour les distributions Debian) ou encore zypper pour SUSE Linux Enterprise Server.
Quant au service SQL Server, il s’exécute nativement avec systemd et sa performance peut être supervisée comme celle de n’importe quel autre daemon. Les chemins de fichiers Linux sont supportés dans les déclarations T‑SQL ainsi que dans les scripts pour modifier la localisation d’une base ou procéder à un backup.
Côté outillage, les outils en ligne de commande de SQL Server (y compris sqlcmd et bcp) sont disponibles tandis que les outils Windows comme SQL Server Management Studio (SSMS), SQL Server Data Tools (SSDT), et PowerShell module (sqlps) peuvent être utilisés pour exploiter SQL Server sur Linux depuis une instance Windows. Précision : l’extension SQL Server de Visual Studio Code fonctionne sur MacOS, Linux et Windows.
Enfin, bonne nouvelle pour les habitués de Pacemaker et Corosync, ces solutions de clustering sont bien supportées par SQL Server pour Linux.
Visionnez les interventions du SQL Server on Linux Tour
Le résumé vidéo de l’intervention de Red Hat
» Voir l’intégralité de la session
Le résumé vidéo de l’intervention d’Intel
» Voir l’intégralité de la session
Le résumé vidéo de l’intervention d’Attunity
» Voir l’intégralité de la session