SQL Server on Linux とは

完了

Linux を実行する組織は、SQL Server を使用してデータベースをホストすることを検討できます。 同じように、SQL Server を実行する組織は、サーバーを Linux オペレーティング システムに移行することを検討できます。 しかし、なぜこのような変更を行う必要があるのでしょうか。

あなたは World Wide Importers のシステム管理者として、すべてのフロントエンド Web サーバーとバックエンド Windows データベース ファームをホストする Linux サーバーを担当しています。 Linux の経験を活用して SQL Server on Linux を展開したいため、SQL Server on Linux を使用する主な利点について調べることにしました。 目標は、CTO に対するプレゼンテーションを作成することです。 SQL Server on Linux の利点と、Linux にインストールした場合の影響について説明します。

ここでは、なぜ SQL Server on Linux の実行を検討すべきなのか、その理由について学習します。

SQL Server on Linux を使用する理由

Linux は、Linux カーネルで実行されるオペレーティング システム (またはディストリビューション) のコレクションです。 これは、オンプレミスとクラウドベースの両方の展開で、よく選ばれているオペレーティング システムです。 SQL Server は、一般的なリレーショナル データベース管理システム (RDBMS) で、従来は Windows オペレーティング システムでのみ実行されていました。 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 を使用して既存のアプリケーションを実行することができ、組織は既存の DBA およびアプリケーション開発スキルを再利用できます。

新しい 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 との間でデータをエクスポートまたはインポートできます。 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 はデータ仮想化ハブとして機能します。

共有コードベース

SQL Server により、Linux と Windows の両方で、SQL Platform Abstraction Layer (SQLPAL) を使用して、サポートされているすべてのオペレーティング システムで SQL Server を実行できるようになります。 したがって、開発者は好みの言語 (.NET、PHP、node.JS、Java、Python など) を使用してアプリケーションを記述し、Windows、Linux、Linux コンテナーで実行されている SQL Server、Azure SQL Edge、または Azure SQL Database を使用しているかどうかにかかわらず、アプリケーションがどこでも同じように実行されることが予想できます。

コンテナー

VM を使用する場合の欠点は、実行しているサービスに必要であってもなくても、それぞれにオペレーティング システムのすべてのリソースが必要なことです。 コンテナー化された仮想化システムでは、個々のアプリケーションとサービスを分離しながら、ホスト オペレーティング システムを共有することで、このような欠点を回避できます。 1 つのコンテナーで実行されているサービスは、サービスから別のコンテナーに分離されています。 これらのサービスは、別々の VM で実行されているように見えますが、1 つのオペレーティング システムのメモリとプロセッサを共有しています。

SQL Server は、Linux コンテナーで実行することができます。 これらのコンテナーを多数管理する必要がある場合は、Kubernetes や Docker Swarm などのオーケストレーション ツールを使用できます。 これを行う理由は、高可用性のためであったり、DevOps チームが新しいコードをコンテナーに配置することで継続的インテグレーションまたは継続的デリバリーを実装できるようにするためであったりします。

自分の知識をチェックする

1.

SAP HANA の製品カタログ データと、Linux で実行されている SQL Server の売上データがあります。 あなたは、両方のシステムのデータを使用してすべての製品の利益率を分析するレポートを作成したいと考えていますが、データベース管理者に要求される作業量は最小限に抑えたいと考えています。 何をする必要がありますか?

2.

Python で記述されたモバイル アプリがあるとします。営業チームはそれを使用して注文を記録し、営業実績データを表示します。 最近、あなたは Windows サーバーから Ubuntu Linux サーバーにデータベースを移行しました。 アプリのコードでは、どのような変更が必要ですか?