SQL Server sur Linux, alors ? 1


Share Button

SQL Server

Par Rudi Bruchez*

SQL Server, les débuts…

SQL Server est un système de gestion de bases de données relationnelles nées dans les années 80 sous l’impulsion d’une collaboration entre Sybase et Microsoft. Microsoft avait besoin d’un moteur de base de données pour son système d’exploitation serveur OS/2. Sybase développait un serveur de base de données sous Unix.

Pendant quelques années, Microsoft disposait d’une licence pour commercialiser le portage de ce moteur sous OS/2.

A la fin des années 80, un accord fut passé entre les deux partenaires pour que Microsoft puisse récupérer le code source de SQL Server. Cela lui permettait de continuer, de son côté, son développement pour la plateforme Windows.

Depuis ce temps, c’est-à-dire une trentaine d’années, SQL Server a été développé exclusivement sur la plateforme Windows. Pendant ce temps, de nombreux serveurs de bases de données, tels que Sybase, DB2 ou Oracle, ont continué à être des développements multi plateformes. Ils ciblaient aussi bien Windows que Linux. Linux, car c’est devenu aujourd’hui le remplaçant de facto des grands Unix du passé pour les systèmes d’exploitation serveur.

SQL Server, maintenant…

Aujourd’hui, le marché des systèmes de gestion de bases de données relationnelles, ou SGBDR, est dominé par deux acteurs : Oracle et Microsoft avec SQL Server. On peut le voir dans le classement effectué mensuellement par le site db-engines. Grâce à un algorithme de parcours de certains sites Web, il classifie la popularité des moteurs de bases de données. Oracle arrive toujours en premier, talonné par quelques moteurs Open Source, et SQL Server.

Outre ses qualités technologiques, une des raisons de l’avance d’Oracle est sa disponibilité sur Linux. À l’heure où les serveurs Linux sont très présents, y compris dans le Cloud public de Microsoft, Azure. Il était stratégique pour cet éditeur de proposer un système de bases de données sur Linux.

Ce système existe maintenant.

SQL Server

Et il s’appelle… SQL Server !

Depuis le 2 octobre 2017, SQL Server 2017, en version finale, est disponible sous Windows comme sous Linux. Techniquement, il s’agit du même moteur de base de données.

Pour réaliser cet exploit, Microsoft a profité d’un développement interne qui date de quelques années. Il a demandé beaucoup d’énergie à quelques équipes de développements de l’éditeur de logiciels. Le projet s’appelle Drawbridge. Un environnement protégé d’exécution et de virtualisation, pour lancer des processus en les abstrayant du système d’exportation réelle.

Sur le principe, cela ressemble un peu à Docker, le système de containers très populaire. Les équipes de développements de SQL Server, et notamment un ingénieur nommé Slava Oks (Figure connue du développement de SQL Server il y a une quinzaine d’années, il avait quitté le projet pour d’autres responsabilités chez Microsoft mais est revenu pour l’occasion), ont testé l’exécution SQL Server sur cette plateforme, pour l’abstraire de Windows.

En quelques mois de développement, ils sont parvenus à compiler une version de SQL Server sur cette couche d’abstraction. Et ils ont démontré qu’il était possible de porter SQL Server rapidement. Cette couche d’abstraction est intégrée dans le moteur et a été appelée SQLPAL, pour « Platform Abstraction Layer ».

Contrat rempli !

En deux ou trois ans de développement, les équipes de SQL Server ont réussi à créer un moteur totalement multi plateformes. Et qui est donc le même qu’il soit exécuté sur Linux ou sur Windows grâce à cette couche d’abstraction. Les objectifs du développement étaient d’avoir le même niveau de performance, de qualité, de fonctionnalité et de sécurité sur les deux systèmes d’exploitation. Et le contrat est parfaitement rempli.

Maintenant que nous avons SQL Server disponible sous Linux, nous avons pu vérifier, notamment dans notre petite communauté d’experts SQL Server francophones, que les performances SQL Server étaient souvent meilleures sous Linux que sous Windows. Cela ne m’étonne pas personnellement, car Linux est un système d’exploitation parfaitement adapté aux performances des serveurs.

Comment pouvez-vous faire pour tester SQL Server sur Linux ?

Pour cela, Microsoft vous a facilité la vie. Il propose sur son site des gestionnaires de paquets pour les distributions les plus courantes . Vous pouvez utiliser un dépôt pour Debian ou Ubuntu, et de même pour Red Hat, CentOS ou Fedora.

Mais, le plus simple, pour tester SQL Server sous Linux, est d’utiliser Docker. Docker vous permet de télécharger automatiquement une image SQL Server, présente dans les dépôts d’images qui s’appellent le hub. Puis lancez dans un environnement protégé, sans installer quoi que ce soit sur votre système, SQL Server sous forme de bac à sable. Lorsque vous démarrez le container, vous avez la possibilité de définir quelle licence vous souhaitez utiliser. Par exemple, l’édition Developer qui vous permet d’utiliser toutes les fonctionnalités de SQL Server sur Linux pour vos besoins de tests ou de développements, gratuitement.

Alors, n’hésitez pas à expérimenter cette nouvelle version de SQL Server !

Formations SQL Server

Rudi BRUCHEZ

*Rudi BRUCHEZ

MCDBA, MCITP, MCSA, consultant senior et expert en bases de données possédant plus de 20 ans d’expérience dans le domaine, il assure des missions de conseil, d’architecture, de développement, d’administration, d’audit et de formation autour de Microsoft SQL Server et des solutions NoSQL. Fort d’une longue et riche expérience terrain, il s’est spécialisé au fil du temps sur l’optimisation SQL Server. Il est auteur de plusieurs ouvrages en français et en anglais, Il participe à des événements communautaires et réalise de nombreuses formations vidéo.

Share Button

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Commentaire sur “SQL Server sur Linux, alors ?