Comment SQL Server fonctionne sur Linux ?

Temps de lecture : 2 minutes

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.

SQL Server Platform Abstraction Layer

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.

Webinar
Faire face à l’inflation et maitriser ses dépenses IT avec M365

Découvrez comment Microsoft 365 aide les entreprises à optimiser leurs opérations tout en réalisant des économies dans le contexte économique actuel. 

Je m’inscris

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