セクションを選択

Microsoft SQL Server を Linux 上で動作させる理由

URL をコピー

この数十年にわたり、Microsoft SQL Server は多くの組織が効果的にデータを管理し、アクセスするための重要な役割を果たしてきました。しかしテクノロジーが発達してきた今では、処理負荷の大きいワークロードを扱う HPC (高性能計算) のニーズが大きくなってきています。Linux システムで実現可能なスピードとパフォーマンスは、Microsoft SQL Server を動作させるのに理想的なプラットフォームとなります。

SQL (Structured Query Language の略。「シークエル」と読まれることもあります) はリレーショナル・データベースでデータの格納や処理を行うのに使用されるプログラミング言語です。Microsoft SQL Server は Microsoft Windows 用に開発され、1993 年にリリースされました。簡単な管理、共通のセキュリティおよび認可設定、一元的なツール群などの理由から、世界トップクラスのデータベース管理システムとなっています。SQL Server のよく使用されているバージョンには SQL Server 2017 (mssql-server-2017) と SQL Server 2019 (mssql-server-2019) があります。

SQL Server は構造化データの処理に使用されます。構造化データとは、さまざまなデータ要素のプロパティやデータ同士の関係性などがモデルによって定義されているデータのことを言います。このようなアプローチでデータモデルを扱うことで、複雑なデータを明確に管理することが可能なので、SQL データベースは現在でも多くの組織で主流の実装となっています。SQL Server には、Enterprise、Standard、Web、Developer、Express という複数のエディションがあります。

SQL 言語には Transact SQL (T-SQL) という拡張機能があり、SQL Server でも使用できます。T-SQL のステートメント、手続き、ファイルは sqlcmd コマンドラインツールを導入すると使えるようになります。ほとんどのデータベースは別に用意された設定ツールを使用して管理されているため、データへのアクセスと管理には他のツールやアプリケーションのレイヤーが必要となります。しかし、T-SQL 拡張機能を使用すると SQL Server 独自の機能へのアクセスやデータベースそのものの管理が可能です。マイクロソフトのこのアプローチにより、アプリケーションとサーバーの両方を同じツール (mssql-tools) で管理でき、リモート管理が単純化されます。また、共通の認可およびアクセス制御を適用できるので、データベースのセキュリティを簡単に定義および管理できます。

ストレージの管理、ファイルシステムの定義、ユーザーと運用の管理を行う方法は、Windows Server と Linux オペレーティングシステムで大きく異なります。管理のアプローチも Linux 環境と Windows 環境では異なっており、Linux は構成やサービス設定を直接操作できることを重視し、管理者用に強力なコマンドライン操作や機能が用意されています。一方の Windows では、グラフィカルなユーザー・インタフェースと使いやすいワークフローが重視されています。

ほとんどの組織は、Windows 派と Linux 環境派のいずれかに分かれます。しかし過去 10 年の間にテクノロジーの世界は全体的に大きな変化を見せており、優れたユーザーエクスペリエンスと豊富な機能に加えて、負荷の大きいワークロードを高速に処理する高可用性 (HA) とパフォーマンスも求められるようになっています。そのため、Linux 上で動かす SQL Server が注目されるようになりました。

Linux システムはマルチタスクかつマルチユーザーであり、複数のユーザーが同時に複数の処理を実行することができます。Windows のアプローチはこれとは異なり、複数スレッド間を高速で切り替えるという方法を採っています。しかしこの方法だと、データワークロードの量や複雑さが増すにつれてパフォーマンスに影響が及び始めます。

組織がデータ主導型の経済についていくために、Linux の多用途性、クラウドサービスのスケーラビリティと信頼性、SQL Server データベースの能力がどのように役立つのかをご覧ください。

マイクロソフトは 2016 年に SQL Server のアーキテクチャを再構築してコア OS 独自の依存関係のほとんどをコンパートメント化し、マルチプラットフォームに対応できるようにしました (マイクロソフトはこれをプラットフォーム抽象化レイヤーと呼んでいます)。このプロジェクトは単に MS SQL Server を Linux に移植するだけのものではなく、Linux にデプロイした SQL Server と Windows にデプロイした SQL Server の間に互換性 (同じリリースおよび更新サイクル、同じパフォーマンス、品質、セキュリティ、スケーラビリティ) が求められました。

その結果、MS SQL Server は複数の Linux ディストリビューションでサポートされ、Linux (Red Hat Enterprise Linux、SUSE Enterprise Linux、Ubuntu) だけでなく Docker コンテナ (および Red Hat OpenShift)、AWSKubernetes での実行に対応したほか、Azure 上の専用仮想マシンでも動作するようになりました。

Linux システムで動作する SQL データベースは Microsoft SQL Server だけではありません。それぞれ 1990 年代中ごろにリリースされたオープンソース・リレーショナル・データベースの PostgreSQL と MySQL があるのに加え、2009 年にリリースされた大規模プロジェクト MariaDB など、新しいプロジェクトがいくつも開発されています。これらのオープンソース・プロジェクトはすべて、Red Hat Enterprise Linux で利用できます。

Red Hat Enterprise Linux は費用対効果に優れた効率的でスケーラブルな基盤を Microsoft SQL Server に提供し、環境全体をサポートする主要なメリットもあります。

細かい調整なしでも優れたパフォーマンス

SQL Server は Linux で動作するだけでなく、パフォーマンスも向上します。マイクロソフトは最近のベンチマーク調査でさまざまなサイズのデータベースを使用してパフォーマンスを測定し、Red Hat Enterprise Linux はすべてのレベルで最高速でした。Red Hat Enterprise Linux は処理速度だけでなく、全体的なトランザクションあたりのコストでも優れていました。さらに、Red Hat Insights は SQL Server の個々のデプロイメントに対しパフォーマンスチューニング情報を提供します。パフォーマンスチューニング情報はクラウド環境やオペレーティングシステムそのものなど、関連するその他のシステムについても提供されます。

パフォーマンステストは、変化する要求に合わせてパフォーマンスの課題に対処しつつコストの増大も抑えなければならないという、多くのデータベース管理者や IT 部門が直面している主要なニーズを示しています。

ブログ:SQL Server データベースのベストプラクティスが Red Hat Insights から利用可能に 運用効率の向上

SQL Server を Linux にインストールした組織の半分以上は、運用コストの削減を目的としてそのプラットフォームを選択しています。データベースのサイズが大きくなればそれに比例して IT リソースは圧迫され、より熟練した管理者やより高価なハードウェアまたはソフトウェア・デファインドのソリューションが必要となり、可用性に関する複雑性も高まっていきます。それに関連して、IT 部門はテクノロジースタックについて単一ベンダーへの依存を減らし、必要に応じて環境間を移動させられる柔軟性を実現しようと努力しています。

Red Hat Enterprise Linux は、主要なクラウド市場において、競争力の高い価格設定でさまざまな柔軟なサブスクリプションの選択肢を提供します。TPC-H ベンチマークによると、オンプレミスハードウェアの場合、Red Hat Enterprise Linux は SQL Server でのトランザクションあたりのコストが最も低く、すべてのカテゴリで他に先行しています。

管理と標準化を単純化

Red Hat Enterprise Linux を SQL Server のプラットフォームとして使用することには、Linux システムの使用によるスピードとスケーラビリティの他にも複数のメリットがあります。Red Hat Enterprise Linux には、自動的にシステムを構成してパフォーマンスとセキュリティを向上させる (チューニングされた mssql プロファイルを使用)、SQL Server 環境専用のデフォルトプロファイルが付属しています。

既存のアプリケーションとチーム構成によっては、ワークロードを Windows システムと Linux システムで分割するのではなく、Red Hat Enterprise Linux で統合および標準化することも可能です。標準化は、ますます複雑化していく環境を単純化して管理する方法の 1 つですSQL Server Management Studio (SSMS) を使用すれば SQL Server コンポーネントの統合管理ができます。

Linux を初めて使う場合も問題ありません。Red Hat Enterprise Linux Web コンソールは、デプロイ、日常管理、複雑なタスクを単純化する Web ベースの管理インタフェースです。Web コンソールの直感的で使いやすい Web インタフェースにより、経験のない管理者にとって複雑な操作が単純化され、コマンドラインの知識がなくてもタスクを実行でき、一元化された Web インタフェースから便利なシステム概要をすばやく取得できます。

ハイブリッドクラウドの一貫性

Red Hat Enterprise Linux はコンテナクラウド環境の全体に一貫したセキュリティ、パフォーマンス、機能などを提供します。また、SQL Server の動作について認証を取得済みです。クラウドで SQL Server のデプロイメントが拡大していく中で、このレベルのパフォーマンスと柔軟性はワークロードをより効率的に管理するのに役立ちます。

組み込みのセキュリティと高可用性 (HA)

SQL Server のセキュリティ機能と Red Hat Enterprise Linux の強化されたコードにアクセスできます。Red Hat Enterprise Linux では OS レベルでセキュリティが組み込まれており、ワークロードごとに個別に管理する必要がなく、共通脆弱性識別子 (CVE) から保護します。

Red Hat Enterprise Linux は、Red Hat High-Availability Add-On によってビジネスクリティカルなアップタイム、高速フェイルオーバー、管理性の向上を提供し、SQL Server の可用性グループおよびバックアップツールとの組み合わせにより、予期せぬ障害が発生した場合に迅速に復旧します。

Linux 環境の機能強化

メリットは一方通行ではありません。Red Hat Enterprise Linux は Windows 管理者に優れたコスト効率と運用効率を提供します。しかし逆に Microsoft SQL Server も、アプリケーションがオープンソースの SQL データベースにはない機能を必要とする場合に、新しい機能とワークフローを Linux 管理者に提供することができます。

自動化によるサポート

Red Hat Enterprise Linux 上で SQL Server を動作させると、パフォーマンスが向上し、時間を節約できますが、自動化によって組織の運営がさらに効率的になります。Red Hat® Ansible® Automation Platform を使用すると、ベアメタル環境、仮想環境、プライベートクラウド環境およびパブリッククラウド環境上で、一貫した信頼性の高い方法で SQL Server をインストールして管理できます。Ansible Automation Platform は、SQL Server のインストールをわずか数分に短縮し、高度な分析を統合してインテリジェント・アプリケーションの構築を支援し、トランザクションシステムとデータウェアハウスのパフォーマンスを向上させることができます。 

Ansible Automation Platform を使用したインフラストラクチャ自動化の詳細

Ansible Automation Platform のサブスクリプションをお持ちでない場合も、Red Hat Enterprise Linux システムロールによる自動化を利用できます。これは、サポートされている Ansible ロールのコレクションであり、一貫したワークフローを提供し、手動タスクの実行を最適化します。最もよく使用するワークロードをデプロイの時点で容易に最適化し、ワークロード固有のタスクを自動化して継続的な管理を単純化します。 

Red Hat Enterprise Linux の Microsoft SQL Server システムロールにより、Microsoft SQL Server をエンタープライズ Linux 環境に推奨されるデフォルト値でインストール、構成、調整できます。SQL Server のカスタム・ネットワーク・パラメーターを使用し、SQL Server エージェント、全文検索 (FTS)、PowerShell、強制ユニットアクセス (FUA)、TLS 暗号化などの高度な SQL Server 機能を有効にすることができます。SQL Server ロールは、Red Hat High Availability Add-On を使用した SQL Server Always On 可用性グループの構成もサポートします。この構成では、SQL Server は稼働時間の向上とスケールアウト・パフォーマンス機能を提供できます。

すでに Red Hat Enterprise Linux を使用している場合は、チュートリアルを読み、マイクロソフトのクイックスタートを参照しながら今すぐ Microsoft SQL Server (mssql-conf) のインストールと設定を行っていただけます。SQL Server Configuration Manager はデータベースエンジンに同梱されています。

Red Hat Enterprise Linux を使用したことがない場合は、製品ページをご覧になるか、無料のトライアル版をお試しください

関連資料

記事

Linux とは

Linux は、OS の基本コンポーネントであるカーネルと、そこにバンドルするツール、アプリケーション、サービスで構成されるオープンソースのオペレーティングシステムです。

記事

SELinux とは

SELinux (Security-Enhanced Linux) は、管理者がシステムにアクセスできるユーザーをより詳細に制御できるようにする Linux® システム用のセキュリティ・アーキテクチャです。

記事

Linux カーネルとは

Linux カーネルとは、Linux オペレーティングシステム (OS) の主要コンポーネントで、コンピュータのハードウェアとプロセスとの間のコアインタフェースです。

Linux の詳細はこちら

製品

新しいアプリケーションの展開、環境の仮想化、より安全なハイブリッドクラウドの作成などに適した汎用性を誇る、安定性に優れた実績ある基盤です。

リソース