Azure SQL Databaseの特徴|Serverとの違い
- システム
エンジニア - Azure SQL DatabaseとSQL Serverの違いってどんなところがあるんですか?
- プロジェクト
マネージャー - 機能面についてはほとんど差がありませんね。それ以外に焦点を当てて違いを見ていきましょう。
Azure SQLとは?
Azure SQLとは、Microsoftが提供している「Microsoft Windows Azure」の一部である関係データベースサービスです。Azure SQL Databaseはほぼすべてのデータベース管理について、ユーザー自身での作業を必要としないフルマネージドのPaaSとなっています。
本記事ではAzure SQL Databaseについて紹介していきます。
Azure SQL Databaseの特徴6つ
Azure SQL DatabaseはSQL Serverのような関係データベースとなっており、機能としてもほぼ同じです。それでは、具体的にどのような特徴を持っているのでしょうか。
ここではAzure SQL Databaseの特徴6つをそれぞれ紹介しますので、ぜひ参考にしてみてください。
1:クラウド上で提供されるサービスである
Azure SQL DatabaseはクラウドコンピューティングサービスであるMicrosoft Windows Azureの一角をなすサービスです。そのため、Azure SQL Databaseもクラウドサーバー上で構築されており、クラウド上で提供されています。
また、クラウドサービスであることから、一般的なデータベースサービスよりも管理がシンプルに行えます。
2:性能や機能が異なるサービスがある
Azure SQL Databaseには「BASIC」「Standard」「Premium」という3つの可用性モデルがあります。これらはそれぞれ性能や機能に違いがあり、バックアップ保有期間はBASICは1週間、StandardとPremiumは35日間保管することができます。
また、ハードの性能としてはCPUやIPOS、IO待機時間などに違いがあり、CPU性能の場合はBASICが低、Standardは低、中、高から選択、Premiumは中、高から選択することができます。
最大ストレージに関してはBASICは2GB、StandardとPremiumは1TBとなっており、メンテナンス中のパフォーマンスに関しては、特にBASIC、Standard、Premiumでパフォーマンスの低下に違いが現れます。
3:メンテナンスはすべてMicrosoft側で実施される
一般的なデータベースを利用する場合、ユーザー側でシステムのバージョンアップなどのメンテナンスを行う必要があります。しかしAzure SQL Databaseの場合、定期的なメンテナンスはすべてサービスを提供しているMicrosoftが実施してくれます。
そのため、ユーザー側でメンテナンス作業を行う必要はありません。
4:自動データベースバックアップ機能がある
データベースを利用する場合、定期的なデータのバックアップが必要です。その点、Azure SQL Databaseの場合は自動データベースバックアップ機能があるため、手動でのバックアップをする必要はありません。
Azure SQL Databaseで行われるバックアップは、完全バックアップは毎週、差分バックアップは半日~1日で行われます。また、長期的なバックアップ保有期間ポリシーを有効にすることで、最長で期間を10年間設定することができます。
5:トラブルに強い機能がある
Azure SQL Databaseにはセキュリティ面での脅威やトラブルに対するさまざまな機能が用意されています。ここではAzure SQL Databaseが持つ機能について紹介していきます。
多重バックアップ構造
Azureは多くの地域にデータセンターを設置していますが、災害などによってデータセンターが停止した場合、データが失われる可能性もあります。そのため、大規模災害のリスクを想定し、拠点間の複製によって多重のバックアップが取れる構造になっています。
そのため、他のデータベースよりも安心して利用することができます。
Geoレプリケーションの設定
Azure SQL DatabaseにはアクティブGeoレプリケーションという機能があります。アクティブGeoレプリケーションを設定することにより、同一または異なるデータセンター内のサーバー上に読み取り可能なセカンダリデータベースを作ることが可能になります。
そのため、災害などによって機能が停止してもディザスターリカバリーを迅速に実行でき、ビジネスを継続できるようになります。
リアルタイムなアラート通知
Azure SQL Databaseではセキュリティ機能が組み込まれており、さまざまな脅威からデータを保護します。また、リアルタイムな脆弱性評価アラートによって、潜在的に潜んでいる脅威を修復することができます。
6:多様なテンプレートがある
Azure SQL Databaseにはさまざまなテンプレートがあらかじめ用意されており、ユーザーはいつでも必要なものを利用することができます。たとえば、基本的な単一データベースを作成したい場合には、「ARM」というテンプレートを使用すればプログラミングなどを行わずに簡単にデータベースが作成できます。
また、テンプレート以外にも便利なサンプルが用意されているため、サンプルをもとにデータベースを作ることもできます。
Azure SQLのDatabaseとServer両方に共通する機能
Azure SQL DatabaseとSQL Serverの機能について、基本的なデータベースとしての違いはほぼ無いといえるでしょう。ただ、一部互換性が無い部分もあるので、丸々置き換えができない場合もあります。
管理に関わる機能を比較すると、Azure SQL Databaseはデータベースの機能以外はAzure側が管理することになるので、メンテナンスをする手間はSQL Serverと比べて格段に楽です。
Azure SQL Databaseはサービスとしてデータベースの機能をユーザーに提供しており、OSのアップデートやデータベースのバックアップも設定に従って自動で行います。
Azure SQL Serverの特徴から見るSQL Serverとの違い3つ
Azure SQL DatabaseもSQL Serverは同じ関係データベースとなっており、どちらもMicrosoftが提供しているサービスです。しかしそれぞれ違った特徴を持っています。
ここではAzure SQL Serverの特徴から見るSQL Serverとの違いについて、それぞれ3つ紹介していきます。
1:セルフメンテナンスが必要
本記事でもご紹介したとおり、Azure SQL Databaseの場合はメンテナンスをすべてMicrosoftが行ってくれます。しかしSQL Serverの場合はユーザー自身でメンテナンスを行う必要があります。
そのため、Azure SQL Databaseと比較するとSQL Serverの方が管理コストがかかると言えます。
2:自分でカスタムできる要素が多い
SQL Serverはセルフメンテナンスを行う必要はありますが、その分ユーザー自身でカスタマイズできる要素が多いです。
Azure SQL DatabaseではできないようなシステムのカスタムもSQL Serverであれば可能になるため、ユーザー自身で自由なデータベース設計を行いたい場合にはSQL Serverを選ぶ方が良い場合があります。
3:オンプレミスも可能
Azure SQL Databaseはクラウド上で構築したデータベースサービスですが、SQL Serverの場合はクラウドとオンプレミスどちらも用意されています。そのため、SQL Serverであればオンプレミスで社内にデータベースを構築することもできます。
このことから、SQL Serverの方が融通の利くサービスだと言えるでしょう。
Azure SQL Databaseの使い方6STEP
ここまでAzure SQL Databaseの特徴について解説してきましたが、実際にAzure SQL Databaseを使う場合には、どのような手順を踏めば良いのでしょうか。ここではAzure SQL Databaseの使い方6STEPを順番に紹介していきます。
1:新規データベースの作成
Azure SQL Databaseで新しくデータベースを作成する場合、Azure Portalを利用しましょう。Azure PortalでSQL Databaseを選択し、「追加」をクリックすることで新規データベースが作成できます。
なお、作成作業を行ってから数分後には接続できるようになります。
2:作成したデータベースを取り扱う
作成したデータベースを取り扱うには、データベースだけでなくサーバーも用意する必要があります。サーバーとはデータやサービスなどを提供するもので、データベースを擁するものです。
実際に利用者がAzure SQL Databaseを使用しているアプリケーションを利用する場合、直接データベースにアクセスするのではなく、サーバーのFQDNに接続してデータベースへアクセスすることになります。
3:接続文字列を選択する
データベースの接続子は利用する環境によってそれぞれ異なります。作成したデータベースの設定メニューにある接続文字列を選択することで、データベースへの接続子がチェックできます。
そのため、環境に合わせて必要な接続文字列をコピーして使用するようにしましょう。
4:テーブルの作成
接続文字列の設定を行ったら、続けてテーブルを作成しましょう。クエリエディタで「CREATE TABLE」というテーブル作成のクエリを記述し、実行を行うことでテーブルが作成できます。
また、テーブルができたら行を挿入するクエリを記述し、実行しましょう。うまくテーブルが作成できているかどうか確認する場合は、SELECT文を使ってテーブルをSELECTしてみるとわかります。
5:データの登録
データベースとテーブルの用意ができたら、必要なデータを登録していきます。登録するデータ数にもよりますが、多い場合は一度に登録するのではなく、1000件や3000件などある程度の数にわけてバッチで登録していくと良いでしょう。
6:DTUの設定
DTUとは「データベーストランザクションユニット」を略した言葉で、Microsoftにおける相対的なデータベースの性能を意味する概念です。DTUはデータベースのパフォーマンスの指標となっており、DTUが2倍になればデータベースのパフォーマンスも2倍になります。
単一データベースの場合、最大DTUはBasicであれば5、Standardなら3000、Premiumは4000となっています。
テストアプリケーション
作成したデータベースのパフォーマンスを確認するために、テストアプリケーションとしてサンプルコードを実行してみましょう。コードを実行結果、リソース使用率が高い場合はデータベース上にボトルネックとなる部分があるということがわかります。
ボトルネックを改善するには、DTUを高いプランに変更することによってデータベースの性能をアップさせる方法があります。
DTUをスケールアップ
DTUをスケールアップする場合、Azure SQL Databaseの設定画面にあるDTUを変更し、決定ボタンをクリックするだけで設定変更できます。DTUをスケールアップしたら、同じようにサンプルコードを実行してみましょう。
Azure SQL Databaseの注意点
Azure SQL Databaseは、料金プランによってトランザクション量(データ通信量)に差があります。当然ですが、過剰なリクエストが発生した場合、データベースで受けきれずにエラーとなる可能性があるので、運用していく上では十分な負荷に耐えられるか検証が必要になってくるでしょう。
ハード面で機能向上を自分でできないという点では、メンテナンスが面倒でもSQL Serverの方が融通を利かせることが可能といえます。
- システム
エンジニア - サービスとして利用するかどうかが両者の大きな違いなんですね。
- プロジェクト
マネージャー - そうなりますね。どちらにも良いところがあるので、利用するときには特性を十分に活かしたいところでしょう。
Azure SQL Databaseの特徴や使い方を理解しよう
ぜひ本記事でご紹介したAzure SQL Databaseの特徴やSQL Serverとの違い、Azure SQL Databaseの使い方などを参考に、Azure SQL Databaseについて理解を深めてみてはいかがでしょうか。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
Azure新着案件New Job
-
クラウドサービスを利用したインフラ基盤構築/Azure/東京都大田区/【WEB面談可】
月給60万~70万円東京都大田区(大森駅) -
クラウドサービスを利用したインフラ基盤の運用保守/Azure/東京都大田区/【WEB面談可】
月給50万~60万円東京都大田区(大森駅) -
決済システム保守開発/東京都渋谷区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】
月給45万~50万円東京都渋谷区(渋谷駅) -
決済システム保守開発/東京都渋谷区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】
月給31万~34万円東京都渋谷区(渋谷駅) -
資格試験用システム開発/Azure/東京都渋谷区/【WEB面談可】/テレワーク
月給45万~60万円東京都渋谷区(渋谷駅) -
Azure開発サポート/神奈川県横浜市/【WEB面談可】/テレワーク
月給33万~48万円神奈川県横浜市(横浜駅)