蓄積された膨大な顧客データと購買データを解析し、見込み客にアプローチをかけるマーケティング活動においてデータベースは企業の重要な資産です。その資産を活用することによって重要顧客の離反を防ぎ、リテンションを行い、生涯顧客としてLTV(Life Time Value:顧客生涯価値)を高めるアプローチが可能になります。
一方、これまでオンプレミスで運用されてきた財務会計系アプリケーションのクラウド化がめざましくなりました。クラウド上のデータベースの重要性が高まり「DBaaS(Database as a Service)」という言葉も使われています。先端企業では、オンプレミスのデータベースとクラウドを連携したハイブリッドクラウドの運用基盤を拡充させつつある状況です。
ここでは、クラウド上でテータベースを運用するDBaaSの現状と可能性を踏まえつつ、Azure SQL Databaseのメリット、そしてAWSとの比較を解説します。
DBaaSの可能性
企業の扱う情報は年々増加しています。そこでオンプレミスに限らず、クラウド上のデータベースを利用する企業が増加傾向にあります。
2019年6月20日にMicrosoftのブログに投稿された米国調査会社のForresterのレポートでは、グローバルインフラストラクチャービジネスの導入意思決定者の33%は既にDBaaSを運用環境としてサポートし、これから3〜4年後には2倍になると予測しています。また、グローバルなデータおよび分析技術の導入意思決定者の61%は、2020年にDBaaSに対する投資を少なくとも5%増加させる予定で、22%の導入意思決定者は前年と比較してDBaaSを10%以上増加させる予定と報じています。
加えて米国ソフトウェア企業Flexeraの「State of the Cloud Report 2019」によると、大企業におけるリレーショナルDBaaSの利用は2018年の48%から2019年は53%へ、NoSQLのDBaaSについては2018年の35%から2019年の39%に増加しています。また中堅規模の企業(SMB)ではDBaaSの利用は43%にとどまり、企業規模が大きくなるほどPaaSの利用とDBaaSの利用が増えている結果が報告されました。
Azure SQL Databaseの概要とメリット
調査結果からもDBaaSが注目される時代ですが、Azure SQL Databaseの需要のひとつとしてオンプレミスからクラウドへのデータベースの移行があります。このとき、Azure SQL Databaseではコードを変更せずに業界高水準のTCO(Total Cost of Ownership:総所有コスト)で移行できます。まず移行のメリットから解説します。
オンプレミスの SQL Serverを円滑に移行
オンプレミスからクラウドへのデータベース移行は一般的に煩雑な作業ですが、「Managed Instance」によってオンプレミスのSQL ServerをAzure SQL Databaseに速やかに移行できます。コードを書き換える必要はありません。クラウド上では常に最新機能の利用、修正プログラムの適用ができ、アップグレードに煩わされることなく最新のSQL Databaseを利用できます。Elastic Poolによって、柔軟なデプロイが可能です。
機械学習の自動チューニングと監視による、安全で信頼性の高い運用
AIと機械学習で最大のパフォーマンスを持続させるために、自動チューニングを行います。Azure Portalにデータベースを最適化するための推奨事項を自動的に提示し、クエリプランの問題修正、インデックスの作成と削除をします。「Intelligent Insights」でパフォーマンス低下を招くおそれのある破壊的なイベントを監視ならびに検出、「Query Performance Insight」でリソース使用状況の監視ができます。
卓越したスケーラビリティと可用性
コンピューティング能力を追加するスケールアップと、データベースユニットを増やすことによるスケールアウトが簡単にできます。
スケールアップ時には、最適の価格とパフォーマンスの比率を確認できます。また、スケールアウト時には、読み取り専用レプリカの1つの処理能力を使用してSQL Databaseの読み取り専用ワークロードとして負荷を分散します。したがって読み取り専用のワークロードはメインの読み取り/書き込みワークロードから分離されるため、パフォーマンスに影響を与えません。スケーリングは最大99.95%の可用性を確保。最大100 TBをサポートするHyperscaleを活用して、大規模なデータベースもわずか数分で復元が可能です。
高可用性ソリューションとして、データが障害で失われないこと、メンテナンスの操作がワークロードに影響を及ぼさないこと、データベースがソフトウェアアーキテクチャの障害にならないことを保証するように設計されています。データベースのアップグレードやメンテナンス時に、ワークロードの停止やダウンタイムを発生させません。
高度なセキュリティで、データを守る
Microsoftは物理的なデータセンター全体、IaaSとしてのインフラストラクチャー、PaaSとしての運用プロセスで、多層構造のセキュリティを提供しています。
「SQL Server Management Studio(SSMS)」では「Always Encrypted」のデータ暗号テクノロジーで機密データを保護します。Always EncryptedはAzure SQL DatabaseとSQL Serverの新しいデータ暗号化テクノロジーです。サーバーのデータ保存時、クライアントとサーバー間におけるデータの移動中、データの使用中にも機密データを保護できます。きめ細かなアクセス制御により、悪意のある脅威からデータを保護します。
さらにAzure Security Centerから提供される詳細な分析情報で、保護された状態を維持できます。潜在的な脆弱性に関しては、単一の画面で発見、追跡、修復が可能です。
最大 212% の投資収益率を実現
機能に関するメリットを挙げましたが、ビジネスに対する効果についてMicrosoftは米国の調査会社であるForrester Consultingとともにヒアリングを行いました。
そのヒアリングで、オンプレミスのSQL ServerからAzure SQL Database Managed Instanceに移行した4人の顧客にインタビューした結果、3年間の予想投資収益率は212%、IT全体の生産性は20%の向上、データベース管理者の生産性にフォーカスすると40%向上、インフラストラクチャーの継続的なメンテナンスコストでは180万ドルを含む耐久年数を伸ばす資本的経費(CAPEX:Capital Expenditure)と業務費と運営費(OPEX:Operating Expense)のメリットがありました。
Azure SQL DatabaseとAWSの比較
Azure SQL Databaseに対応するAWSのサービスは「Amazon RDS for SQL Server(以下、Amazon RDS)」になります。
レプリケーション(複製と同期)に注目すると、障害時の対応面としては、Azure SQL Databaseは常に3重化が行われます。一方で、Amazon RDSはシングルもしくはMulti-AZの構成を選択してレプリケーションが可能です。しかしスレーブ(待機系)のインスタンスで同期可能とはいえ、料金は2倍になります。さらに、Multi-AZは追加できません。レプリカ数は0~1に限られます。
負荷分散の面では、どちらもリードレプリカ(読み取り専用のレプリカ)に対応しています。Amazon RDSでは、最大5個のリードレプリカを作成できます。Azure SQL Databaseでは、2019年3月に採用された読み取りスケールアウトの機能により、3重化されたインスタンスのうち2つを読み取り専用にすることが可能になりました。このとき費用は発生しません。
Azure SQL Databaseに搭載されていてAmazon RDSにない機能としては、複数のデータベースの統合管理があります。Azure SQL Databaseは、Elastic Poolの機能を用いることによって、複数のデータベースのリソースを確保し、昼夜など時間によって負荷のかかるデータベースをフロント用とバックエンド用に分けて負荷分散する対策が可能です。
非常時を想定すると、データベースのバックアップとリストアも重要な条件になります。いずれも自動バックアップ機能を備えていますが、Amazon RDSは日次であるのに対してAzure SQL Databaseは数時間単位でバックアップします。しかし、ジャーナルファイルを利用するため、24時間のファイルが失われてしまうわけではありません。
課金単位は、Amazon RDSは最低利用10分を条件とした1秒単位の課金です。一方で、Azure SQL Databaseは1時間単位になります。
こうして比較すると、SQLデータベースを負荷分散について考慮しながら運用管理するときに、コスト面ではAzure SQL Databaseに優位性があります。
まとめ
欧米とは異なり、クラウドシフトに抵抗がある日本の企業は少なくありません。しかし、自然災害が深刻化しつつある現在、バックアップの意味を含めて、企業内のオンプレミスやストレージでデータベースを保護するだけでなく、クラウド上のデータベースに複製と同期をさせておくことが安全かつ安心といえるのではないでしょうか。
Azure SQL Databaseは企業の生産性を高めるために高度な機能を備えていますが、その機能はビジネスを安定して継続させるための目的にも活用できます。