SQL Server on Linux とは
- 5 分
Linux を実行する組織は、SQL Server を使用してデータベースをホストすることを検討できます。 同じように、SQL Server を実行する組織は、サーバーを Linux オペレーティング システムに移行することを検討できます。 しかし、なぜこのような変更を行う必要があるのでしょうか。
あなたは World Wide Importers のシステム管理者として、すべてのフロントエンド Web サーバーとバックエンド Windows データベース ファームをホストする Linux サーバーを担当しています。 代わりに Linux エクスペリエンスを使用して SQL Server on Linux をデプロイする必要があるため、SQL Server on Linux を使用する主な利点について説明します。 ターゲットは、SQL Server on Linux の利点と Linux へのインストールの影響を説明するプレゼンテーションを CTO に提供することです。
ここでは、Sql Server on Linux の実行を検討する必要がある理由について説明します。
SQL Server on Linux を使用する理由
Linux は、Linux カーネルで実行されるオペレーティング システム (またはディストリビューション) のコレクションです。 これは、オンプレミスとクラウドベースの両方の展開で、よく選ばれているオペレーティング システムです。 SQL Server は、従来 Windows オペレーティング システムで実行される一般的なリレーショナル データベース管理システム (RDBMS) です。 SQL Server 2017 以降、Microsoft は Linux オペレーティング システムでの SQL Server のインストールをサポートしています。
SQL Server を実行する場合は、Windows プラットフォームに限定されないことにご注意ください。 Linux はオープンソースであるため、低コストの汎用的なハードウェアにインストールでき、オペレーティング システムのライセンス費用が削減されます。 Linux は、メモリ占有領域も小さく、ハードウェア要件も低いため、Windows ベースのサーバーよりも Linux ベースの VM の方がより短時間で起動できます。
SQL Server on Linux では、Ubuntu、Red Hat Enterprise Linux、SUSE がサポートされています。
SQL Server である理由
Wide World Importers 用のデータ プラットフォームとして SQL Server on Linux を選択した場合は、Windows プラットフォームで現在実行されている既存のすべての SQL Server データベースを Linux 上に展開できます。 また、Linux バージョンの SQL Server を使用して既存のアプリケーションを実行することもできます。また、組織は既存のデータベース管理スキルとアプリケーション開発スキルを再利用できます。
新しい Linux 環境へのバックアップと復元は簡単ですが、リスクの低いアプローチは、ビジネスクリティカルでないデータベースを Linux に移行し、その機能とパフォーマンスを Windows と直接比較することです。 実証されたら、データ資産全体を移行するための詳細な移行戦略を作成できます。 この作業を、別のデータベース テクノロジや別のオペレーティング システムに移行するために必要な方法と比較します。
また SQL Server on Linux には、業界トップレベルのパフォーマンスの利点がすべて含まれています。 TPC-E ベンチマークのパフォーマンスで首位に立っており、TPC-H 1 TB、10 TB、および 30 TB のベンチマークでもトップのパフォーマンスを示しています。 米国標準技術研究所 (NIST) は、SQL Server on Linux を最も安全なデータベースと評価します。
SQL Server の使用を検討するもう 1 つの優れた理由は、PolyBase 機能です。 PolyBase を使用すると、外部テーブルにデータを提供する外部データ ソースを設定できます。 クエリを送信すると、SQL Server データベース内の通常のテーブルに格納されているかのように、これらの外部テーブルからデータを返すことができます。 データの外部ソースとして、Hadoop、Azure Blob Storage アカウント、Oracle、PostgreSQL、MongoDB、その他多数があります。 外部テーブルを設定したら、エクスポート、変換、読み込み (ETL) パッケージ、または別のインポートまたはエクスポート ツールを使用しなくても、外部テーブルを使用して SQL Server からまたは SQL Server にデータをエクスポートまたはインポートすることもできます。 PolyBase を使用して、データの外部ソースを SQL Server のビジネス インテリジェンス ツールに統合することもできます。
Wide World Importers には、SQL Server に加えて、Oracle と SAP HANA にデータベースがあります。 あなたは、ETL ツールを使用して、これらすべてのソースのデータをデータ ウェアハウスに保管し、レポートを作成できるようにすることを検討しています。 SQL Server を PolyBase と共に配置する場合は、Oracle と SAP HANA を外部データ ソースとして SQL Server に追加し、3 つのシステムを統合することを検討してください。 そうすることで、レポートはすべてのクエリを SQL Server に送信できますが、Oracle と SAP HANA に格納されているデータは引き続き含まれます。 この構成では、SQL Server はデータ仮想化ハブとして機能します。
共有コードベース
Linux と Windows の両方で、SQL Server は SQL Platform Abstraction Layer (SQLPAL) を使用します。これにより、サポートされているすべてのオペレーティング システムで SQL Server を実行できます。 そのため、開発者は好みの言語 (.NET、PHP、node.JS、Java、Python など) を使用してアプリケーションを記述できます。 また、Windows、Linux、Linux コンテナー、Azure SQL Edge、Azure SQL Database で実行されている SQL Server を使用しているかどうかに関係なく、アプリケーションはどこでも同じように実行されることを期待できます。
コンテナー
VM を使用する場合の欠点は、実行しているサービスに必要であってもなくても、それぞれにオペレーティング システムのすべてのリソースが必要なことです。 コンテナー化された仮想化システムでは、個々のアプリケーションとサービスを分離しながら、ホスト オペレーティング システムを共有することで、このような欠点を回避できます。 1 つのコンテナーで実行されているサービスは、サービスから別のコンテナーに分離されています。 これらのサービスは、別々の VM で実行されているように見えますが、1 つのオペレーティング システムのメモリとプロセッサを共有しています。
SQL Server は、Linux コンテナーで実行することができます。 これらのコンテナーを多数管理する必要がある場合は、Kubernetes や Docker Swarm などのオーケストレーション ツールを使用できます。 高可用性のためにコンテナーを使用したり、DevOps チームがコンテナーに新しいコードをデプロイして継続的インテグレーションや継続的デリバリーを実装できるようにしたりできます。