Qu’est-ce que SQL Server sur Linux ?
Les organisations qui exécutent Linux peuvent utiliser SQL Server pour héberger des bases de données. De même, les organisations qui exécutent SQL Server peuvent déplacer leurs serveurs vers le système d’exploitation Linux. Mais pourquoi devraient-elles apporter une telle modification ?
En tant qu’administrateur système au sein de Wide World Importers, vous êtes responsable des serveurs Linux qui hébergent tous les serveurs web front-ends ainsi que de la batterie de serveurs de base de données Windows back-ends. Vous voulez utiliser votre expérience de Linux pour déployer SQL Server sur Linux à la place : vous allez donc explorer les avantages principaux de l’utilisation de SQL Server sur Linux. Votre objectif est de créer une présentation en vue de la montrer à votre directeur technique. Vous allez expliquer les avantages de SQL Server sur Linux et les implications de son installation sur Linux.
Ici, vous verrez pourquoi vous devez envisager d’exécuter SQL Server sur Linux.
Pourquoi utiliser SQL Server sur Linux ?
Linux est une collection de systèmes d’exploitation, ou distributions, qui s’exécutent sur le noyau Linux. C’est un choix de système d’exploitation courant, à la fois pour les déploiements locaux et cloud. SQL Server est un système de gestion de base de données relationnelle (SGBDR) populaire qui s’exécute d’ordinaire uniquement sur Windows. À partir de SQL Server 2017, Microsoft prend en charge les installations SQL Server sur les systèmes d’exploitation Linux.
Si vous souhaitez exécuter SQL Server, sachez que vous n’êtes pas limité à la plateforme Windows. Linux étant open source, vous pouvez l’installer sur du matériel à faible coût, ce qui réduit les coûts de licence du système d’exploitation. Linux présente également un encombrement réduit et nécessite une configuration matérielle allégée, ce qui accélère la création de machines virtuelles Linux sur des serveurs Windows.
SQL Server sur Linux prend en charge Ubuntu, Red Hat Enterprise Linux et SUSE.
Pourquoi SQL Server ?
Si vous choisissez SQL Server sur Linux comme plateforme de données pour Wide World Importers, vous pouvez déployer sur Linux toutes vos bases de données SQL Server qui s’exécutent actuellement sur la plateforme Windows. Vous serez également en mesure d’exécuter vos applications existantes en utilisant la version Linux de SQL Server, et votre organisation peut réutiliser ses compétences existantes en administration de base de données et en développement d’applications.
Le processus consistera simplement en une sauvegarde et une restauration dans le nouvel environnement Linux. Une approche à faible risque consiste à déplacer une base de données non vitale pour l’entreprise vers Linux et à comparer ses fonctionnalités et ses performances directement avec Windows. Si les résultats sont satisfaisants, vous pouvez créer une stratégie de migration détaillée afin d’effectuer la migration de l’ensemble de vos données. Comparez ce travail à l’approche nécessaire pour passer à une autre technologie de base de données et à un autre système d’exploitation.
SQL Server sur Linux offre également tous les avantages des performances de pointe. Concernant les performances, SQL Server occupe la première place dans le banc d’essai TPC-E ainsi que dans les bancs d’essai TPC-H 1 To, 10 To et 30 To. Selon le NIST (National Institute of Standards and Technology), SQL Server sur Linux est la base de données la plus sécurisée.
Une autre bonne raison d’utiliser SQL Server est la fonctionnalité PolyBase. Avec PolyBase, vous pouvez configurer des sources externes de données qui fournissent des données à des tables externes. Lorsque vous envoyez des requêtes, vous pouvez retourner des données à partir de ces tables externes de la même façon que si elles étaient stockées dans les tables habituelles de votre base de données SQL Server. Les sources de données externes peuvent être Hadoop, les comptes de Stockage Blob Azure, Oracle, PostgreSQL, MongoDB et bien d’autres. Une fois que vous avez configuré des tables externes, vous pouvez également les utiliser pour exporter ou importer des données depuis ou vers SQL Server, sans avoir à utiliser un package ETL (exporter, transformer et charger), ou un outil d’importation ou d’exportation distinct. Vous pouvez également utiliser PolyBase pour intégrer des sources de données externes à l’aide des outils d’analyse décisionnelle SQL Server.
Wide World Importers a des bases de données dans Oracle et SAP HANA en plus de SQL Server. Vous envisagez d’utiliser les outils ETL pour remplir un entrepôt de données avec les données de toutes ces sources en vue d’écrire des rapports à partir de celui-ci. Si vous déployez SQL Server avec PolyBase, vous pouvez plutôt envisager d’ajouter Oracle et SAP HANA comme des sources de données externes dans SQL Server, afin d’intégrer les trois systèmes. De cette façon, vos rapports peuvent envoyer toutes leurs requêtes à SQL Server, tout en incluant des données stockées dans Oracle et SAP HANA. Dans cette configuration, SQL Server sert de hub de virtualisation des données.
Code base partagé
Sur Linux comme sur Windows, SQL Server utilise la couche d’abstraction de la plateforme SQL (SQLPAL), qui permet à SQL Server de s’exécuter sur tous les systèmes d’exploitation pris en charge. Par conséquent, les développeurs peuvent écrire des applications en utilisant leur langage favori (comme .NET, PHP, node.JS, Java ou Python) et s’attendre à ce que l’application s’exécute de façon identique partout, que ce soit sur une instance SQL Server exécutée sur Windows ou Linux, sur des conteneurs Linux, dans Azure SQL Edge ou dans Azure SQL Database.
Conteneurs
L’un des inconvénients de l’utilisation des machines virtuelles est que chacune d’elles a besoin de toutes les ressources du système d’exploitation, que les services en cours d’exécution en aient besoin ou non. Un système de virtualisation conteneurisé permet d’éviter cet inconvénient en partageant le système d’exploitation hôte tout en isolant les différentes applications et les services. Un service qui s’exécute dans un conteneur est isolé des services qui sont situés dans d’autres conteneurs. Du point de vue des services, ils paraissent s’exécuter sur des machines virtuelles distinctes, alors qu’ils partagent la mémoire et les processeurs d’un seul système d’exploitation.
Vous pouvez exécuter SQL Server dans des conteneurs Linux. Si vous devez gérer un grand nombre de conteneurs, vous pouvez utiliser un outil d’orchestration tel que Kubernetes ou Docker Swarm. Vous pourrez ainsi obtenir une haute disponibilité, ou permettre aux équipes DevOps d’implémenter l’intégration continue ou la livraison continue en déployant du nouveau code dans les conteneurs.