2022年に集計されたDB-Engineランキングによると、SQL Serverは利用率で3位にランクインするなど、多くの企業が導入しているデータベースです。
近年、オンプレミス環境からクラウド環境にシステムを移行する企業が増えています。この記事では、SQL Serverをクラウド上で利用する方法などをご紹介します。
SQL Serverとは?
SQL Serverは、Microsoft社が開発したRDBMS(リレーショナル・データベース・マネジメント・システム)のひとつで、正式名称は「Microsoft SQL Server」です。データを縦横で構成されたテーブルに格納するため、Excelのような見た目をしています。複数の異なる表にあるデータを紐付けて取り出せるというメリットがあり、現在では多くのシステムに採用されています。
また、Microsoft社開発のデータベースなのでWindowsとの親和性が高く、Office製品との連携もできます。システムの基本的な仕組みは他のリレーショナル・データベースと変わりませんが、独自の機能を備えた多機能データベースです。いくつか機能が制限されるものの、Developer、Expressと無料プランも用意されています。
SQL Serverの特徴
SQL Serverの特徴について解説します。
操作が比較的簡単
SQL Serverでは、グラフィカル・ユーザー・インターフェイス(GUI)が無償で用意されているため、キーボードでの操作はもちろん、マウスを使って視覚的にデータベースの操作ができます。コマンドを打ちこむ必要もないので、プログラミング技術を持たない従業員でも、スムーズに操作が可能です。
たとえば「SQL Server Management Studio(SSMS)」と呼ばれる統合管理ツールでは、データベースの参照や更新、バックアップのみならず、テーブルの作成・変更やユーザー管理までを行えます。
これらの作業をコマンド入力で行うには、時間的にも教育資金的にもかなりのコストが必要ですが、SQL Serverならそれらの解決の一助となります。
Windows OSとの相性が良い
SQL Serverは、Microsoft社が提供するツールであることから、Windows OSでの利用がしやすいというメリットがあります(Linux、Dockerでの利用も可)。
たとえば前述したGUIツールです。SSMSのほか「SQL Server Date Tools(SSDT)」は、Windowsのみで利用できるツールです。そのため、管理・開発の利便性を考えると、Windows OSでSQL Serverを使用することをおすすめします。
さらに統合開発環境であるVisual Studio Codeを使用できるのもポイントです。SQLの編集が容易に行える他、テーブルの管理・編集が行えるテーブルデザイナーやUIを使用したデータの編集も可能です。また、Excelデータとのインポート・エクスポートにも対応しており、取得したデータを簡単にコピペできます。
他のリレーショナル・データベースと比べても有用で、Windows OSと利用すれば、さまざまなシステムと連携が可能です。このようにWindowsでの利用メリットが大きいため、最近ではWindows Serverと併用されることが多くなっています。
拡張機能が使える
拡張機能として、Transect-SQL(T-SQL)が利用可能です。これは通常のSQLに「変数」「制御構文」「UPDATE・DELETEステートメント」「数値関連ファンクション」などを追加したものです。変数の代入や制御構文が使えるので、繰り返し処理や条件分岐などが使用できます。
通常のプログラミング言語のように扱えるため、データ処理を効率的に行えます。前述したSSMSやSSDTのほか、Azure Data Studioでも使用できるので、設計・開発・展開も簡単に行えます。
セキュリティの信頼性が高い
SQL Serverには、セキュリティを向上させるための機能が複数備わっています。これらを活用することで、大切なデータをサイバー攻撃から防ぐことが可能です。特に「アクセス権限の付与」「バックアップの暗号化」「認証モードの選択」「ポリシーベース管理」において高い効果が得られます。
たとえば、アクセス権限の付与では、ユーザーごとにアクセスできるシステムを分けることで不正やトラブルの防止が可能です。この機能で重要なデータへのアクセスを管理者など特定のユーザーのみにすれば、情報漏洩リスクの軽減が図れます。
また、不正アクセス対策には、バックアップファイルの暗号化がおすすめです。データを暗号化しておけば、ファイルを不正に取得されてもリストアを防げます。
豊富なエディション
SQL Serverでは構築するデータベースの規模によってエディションを選択できます。エディションは、以下のように無償版と有償版で5つに分かれています。
- Express:無償版
- Developer:無償版
- Web:有償(要問い合わせ)
- Standard:CAL:$230、 サーバー:$989、 コア単位:$3,945
(サーバーとコア単位は価格レベルなし (NL) の推定小売価格) - Enterprise:$15,123(価格レベルなし (NL) の推定小売価格)
- サブスクリプション
1.Standard:年間$1,418
2.Enterprise:年間$5,434
無償版と有償版の違いは、「データ容量の制限」「機能制限」です。たとえば、無償版のデータベース容量は「10GB」ですが、有償版では「524PB」と比べると大きな違いがあります。機能的な面で言えば、無償版は、「バックアップ機能」や「メンテナンスプラン」が使用できません。
これらの制限を気にしなければ、無償版はコストパフォーマンスの高いツールです。そのため、無償版は個人利用や小規模開発の現場向けとも言えます。
SQL Serverはクラウドでも使える?
SQL Serverは企業内のLAN環境下など、オンプレミスで主に利用されています。
オンプレミスでは、自社のサーバーにインストールして利用するため、構築から運用まで、必要な管理を知識を持ったスタッフが行う必要があります。
SQL Serverは、社内のみで使用するオンプレミス利用だけではなく、クラウド環境での利用も可能です。
クラウド環境で利用する場合、インターネットを介してどこからでもSQL Serverにアクセスできるため、出張先やテレワーク中の自宅など社外からでも利用ができるメリットがあります。
ただし、クラウドプロバイダーによっては、SQL Serverの機能が制限されるケースもあり、クラウドで使用するにはクラウドプロバイダーの選択に気をつける必要があります。
他のクラウドサービスと連携がとれるかなど、目的にあったクラウドプロバイダーの選択が必要になりますが、あらゆるバランスを考慮すると、Microsoft Azureが最適な選択肢となる可能性が高いです。
SQL ServerにMicrosoft Azureがおすすめな理由
種類が豊富
Microsoft Azureは、IaaS、PaaSなど、クラウドでさまざまな種類のSQL Serverの利用が可能です。自社に適した種類を選択できるため、SQL Serverの効率的な活用につながります。
SQL Server on Virtual Machines (IaaS)
SQL Server on Virtual Machines(IaaS)は、Microsoft Azureの仮想マシン(VM)上で利用可能なデータベース形式です。
SQL Server on Virtual Machinesを利用すると、クラウド上の仮想マシン内にオンプレミスで使用していたSQL Serverが構築されている感覚でデータベースの使用が可能です。
オンプレミスのSQL Serverのワークロードと100%の互換性があるため、オンプレミスの利用から機能などを大きく変更せずクラウドへの利用に変えられます。
SQL Serverがクラウド上の仮想マシン内にあるIaaSでは、ハードウェアの管理を自社で行う必要がなく、クラウドベンダーに任せられるメリットがあります。
Azure SQL Managed Instance (PaaS)
Azure SQL Managed Instance(Azure SQL MI)は、インスタンス単位でSQL Serverを利用する、PaaS形式のデータベースです。
オンプレミスのSQL Serverの場合、インスタンス内にある複数のデータベースを利用することがあります。
Azure SQL MIの利用時にも、SQL Serverデータベースが含まれるインスタンスごとに提供されるため、オンプレミスのSQL Serverに近い使用感で利用が可能です。
オンプレミスのSQL Serverとはほぼ100%の互換性があり、同様の操作で使用できるため、既存のSQL Serverと同様の使い方をしたいケースに適しています。
自動データベースバックアップ機能があり、バックアップや24時間のシステム監視、障害発生時の復旧作業などにも対応しているフルマネージドのサービスが受けられます。
クラウドベンダーによって適切に管理されるため、自社で管理の手間をかける必要がありません。利用にはDBが100個までといった制限があります。
Azure SQL Database (PaaS)
Azure SQL Databaseも、前述のAzure SQL MIと同様にPaaSのデータベースです。自社サーバーを構築・管理する必要がないフルマネージドのPaaSで、SQL Databaseをデータベース単位での契約、利用が可能です。データベースはバックアップ、アップグレード、パッチ適用などが自動化されているため、いつでも最新バージョンのSQL Serverが使えます。
Azure SQL Databaseは、クラウド上で新規にシステムを構築するケースでは、クラウド上の新しいデータベースとしてすぐに利用を開始できるメリットがあります。複数のデータベースを利用できる「エラスティックプール」エディションもあり、自社に適したサービスの導入も可能です。
複数のデータベースではなくひとつのデータベースを使用している場合には、オンプレミスからクラウドへの移行がしやすい形式です。オンプレミスのSQL Serverの移行をそっくり移行するよりは、新規で構築するシステムのデータベースとして導入するケースに適しています。
機能が豊富
ほかのクラウドサービスでもSQL Serverのサポートは行われていますが、Microsoft Azureの場合は、同じMicrosoft社のシステムで充実したネイティブサポートが受けられるといった優位性があります。
ここでは、他社との機能の違いについて解説していきます。
【Microsoft Azure(Azure MI/SQL Database)の機能の特徴】
Microsoft Azure(Azure MI/SQL Database)では、割り当てられるVCPU/メモリを4種類のハードウェアと仮想コアから選択できます。また、汎用・ビジネスクリティカルでは最大16TBのストレージを使用可能です。
データ領域の拡張が自動、ポイントインタイムリカバリ、メジャーバージョンアップ・マイナーバージョンアップも自動化されており、数時間ごとにデータの自動バックアップが行われます。
拡張機能があり、SQL Serverとの互換性が高いのはもちろん、Elastic Poolで複数DBを管理できるのはMicrosoft Azureだけです。
【Amazon Web Services(Amazon RDS for SQL Server)の機能の特徴】
Amazon Web Services(Amazon RDS for SQL Server)の場合、vCPUとメモリをそれぞれ選択でき、スタンダード(SSD)とプロビジョンドIOPS(SSD)では最大16TBのストレージを使用可能です。
データ領域の拡張は自動と手動どちらでも選択でき、ポイントインタイムリカバリが可能で、メジャーバージョンアップは手動、マイナーバージョンアップは自動・手動から選べます。
拡張機能も利用可能で、バックアップは自動(日時)/手動です。ただし、SQL Serverとの互換性はMicrosoft Azureほど高くないため機能制限があり、複数DB管理はできません。
【Google Cloud Platform(Cloud SQL for SQL Server)の機能の特徴】
Google Cloud Platform(Cloud SQL for SQL Server)は、94個のCPUと最大624GBのRAMからカスタムで選択できるマシンタイプのサービスです。
最大64TBのストレージは自動で拡張可能、ポイントインタイムリカバリ機能はありません。
メジャーバージョンアップは手動、マイナーバージョンアップは自動で対応可能、バックアップは自動(日時)/手動で行えます。SQL Serverの機能制限があり、複数DB管理がないといった特徴があります。
機能制限がなく複数DB管理が可能なのはMicrosoft Azureだけです。
データ領域の自動拡張やポイントインタイムリカバリ、バージョンアップなど、便利な機能まで網羅しているところから、ほかと比較しても活用しやすいクラウドサービスと判断できます。
コストが安価
3種類のクラウドサービスをコスト面から比較した場合、割引やサービスが充実しているMicrosoft Azureは、ほかのクラウドサービスよりもコストを抑えた利用が可能です。
データ使用量の予測が難しいSQL Databaseでは、ワークロードが必要とする容量を自動的にスケーリングして使用するため、必要最小限のコストしかかかりません。
クラウドサービスの利用にかかる主なコストには、ライセンス料、従量課金分があり、割引額を差し引いた金額で利用料が決まります。
【Microsoft Azure(Azure MI/SQL Database)の料金】
Azureの利用料金は、
- 「DBサービス/4コア/東京リージョン」の場合に月額$794.16、
- 「データストレージ300GB」が月額$41.40、
- 「バックアップストレージ1TB」が月額$122.88
合計月額:$958.44
- 1年割引で合計月額$618.24
- 3年割引で合計月額$517.791
と、低コストで利用ができます。
予約割引は最大80%の割引率です。(ハイブリッド割引適用時)
【Amazon Web Services(Amazon RDS for SQL Server)の料金】
AWSの利用料は合計月額$1297.92です。1年割引を利用できますが、割引適用時の月額利用料は$1078.09で、予約割引は最大65%の割引率です。
【Google Cloud Platform(Cloud SQL for SQL Server)の料金】
GCPの場合の利用料金は月額合計$808.85です。
1年割引で合計月額$571.94、3年割引で合計月額$502.70になります。
ただし、GCPはライセンス料が別途かかることに注意が必要です。
予約割引は最大52%の割引率です。(ライセンスへの適用無し)
このように実際に料金を比べてみると、Microsoft Azureの料金が最もリーズナブルに利用できるサービスと分かります。
SQL Serverの既存システムからの移行
既存システムのSQL ServerをMicrosoft Azureクラウドサービスに移行する場合、オンプレミスで使用していたワークロードがクラウド移行に適しているかを確認しましょう。
移行の際は、前述のSQL Server on Azure VM、Azure SQL Managed Instance、 Azure SQL Databaseの3種類から、目的に応じた移行先を選べます。
自由度の高さを優先したい場合には、SQL Server on Azure VMへの移行がおすすめです。ただし、自由度が高い反面、オンプレミスと同程度の管理をしなければなりません。
SQL Serverとの互換性が100%に近く、機能性の高さを維持しながら一部の運用管理を自動化させたい場合には、Azure SQL MIへの移行が適しています。
100DB以上作成したい場合の移行に適しているのが、Azure SQL Databaseです。フルマネージドなデータベースの利用で、自社で管理する手間を大幅に削減可能です。
Azure SQL MIとAzure SQL Databaseの比較
Azure SQL MIとは、SQL Serverと高い互換性がある、常に最新のサービスを提供しているプラットフォームです。
多数のアプリをオンプレミスなどの環境からフルマネージドのPaaSクラウド環境に手軽に移行したい場合に適しています。
既存のSQL Serverインスタンスを最小限の変更だけでクラウドに移行できるため、SQL Serverとの互換性を残しながら移行が可能です。
Azure SQL MIでは、インスタンス単位でサービスが提供されるSQL Serverとの互換性がほぼ100%です。
DB間のトランザクションもでき、リソースは最大で80個の仮想コアに20TBメモリ、ストレージサイズ16TB、1サービスのDB数は100DBまで使えます。
対して、Azure SQL Databaseは、データベース単位でサービスが提供されるPaaSです。
SQL Serverとの互換性が低く、DB間のトランザクションはできません。
ただし、Azure SQL MIでは利用できない自動スケール、停止・再開などが可能です。
各リソースは、128個の仮想コア、4TBメモリが最大です。
ストレージサイズは1GBから100TB、1サービスにつき1DB利用でき、必要なサービス数を契約して利用可能です。
Azure SQL Databaseへの移行で効率の良いデータ管理を行う
さまざまな恩恵が受けられるSQL Serverは、業務の効率化に役立ちます。
DBの管理にかかる手間の削減を可能にする、Azure SQL Databaseについても解説します。
Azure SQL Databaseの特徴
Azure SQL Databaseは、Microsoft社がシステムの管理を行います。そのため、最新のSQLを堪能できるうえ、ネットワーク・セキュリティやデータの暗号化はもちろん、アクセス、キー管理を含むセキュリティ・コントロールが行われるなど、多層的なセキュリティ環境で大切な情報をしっかり守ります。また、99.99%の可用性を謳っており、システム障害時などにも安心です。この数値を維持できなかった場合には、SLA(サービスレベル契約)に則って対処されます。
24時間365日の稼働を実現しており、安定したサービスが利用できるのもユーザーとしてうれしいところです。テンプレートも豊富に用意されており、業務に沿ったテンプレートを使用することで効率化を図れます。
Azure SQL DatabaseとSQL Serverの違い
Azure SQL Serverは、SQL Serverのクラウドバージョンなので基本的な機能に違いはありません。しかし、サービスの管理において多少の違いが見て取れます。
SQL Serverは、オンプレミス環境で運用されるため、ユーザーが管理を行わなければいけません。その点Azure SQL Serverなら、更新プログラム・修正プログラム、バックアップが永続的に自動で適用されるため、セキュリティやシステムが常に最新の状態に最適化されます。
一方クラウドサービスのデメリットとして、提供されているシステムしか利用できないという点が挙げられます。Azure SQL Database においても、Microsoftが提供しているサービスの範囲内でしかシステム構築はできません。反対にSQL Serverなら、フレキシブルなシステム構築が可能です。
Azure SQL Databaseへ移行するメリット
Azure SQL Serverでは、クラウド上でデータベースを構築・保存するため、ユーザーが物理サーバーを持つ必要がありません。その分、初期費用も抑えられます。
また、物理サーバー上でデータベースを構築するには、多くの環境設定が必要です。しかし、クラウドサービスなら、すでにできあがった環境を利用するだけです。そのため、データベースの導入に日数を要することもなく、すぐにデータベースの運用が開始できます。
アップグレードやメンテナンス、バックアップも不要なので、それらに要していた時間や手間もかからず、安定した運用を実施できます。
まとめ
Microsoft Azureは、SQL Serverをクラウドサービスとして提供しており、クラウド上にデータベースを構築できます。
Microsoft Azureは、アプリケーション制作からデータ分析まで幅広い用途での利用が可能です。オンプレミスでの開発基盤をクラウドに移したい場合は、Microsoft Azureがおすすめです。