このページの本文へ

ポイントを速習!「Azureの基礎(AZ900)」をみんなで学ぶ 第8回

保存するデータの種類/用途に最適なストレージ/データベースサービスを選ぶ

Azureのストレージサービスを理解し「SQL Database」に触れてみる

2020年10月07日 08時00分更新

文● 南條祐輝/FIXER 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

さまざまなAzureストレージサービスの紹介

 次に、さまざまなAzureストレージサービスについて解説しましょう。先ほど説明した3つのデータの種類をふまえて、どの種類のデータを保存するのにどのサービスを利用するかというかたちで理解しておくと、実際に利用する際にもサービスを選択しやすくなると思います。

Azure SQL Database

 SQL Databaseは、リレーショナルデータベース(RDB)のサービスです。データの種類としては構造化データを扱うことができます。

 SQL Databaseサービスの内部では、オンプレミス環境でもよく使われるRDB「Microsoft SQL Server」が動いています。ただし、サーバーの導入やメンテナンス(バージョンアップなど)などの作業はすべてAzure側で行ってくれますし、設定すればデータベースのチューニングやバックアップも自動化できます。

 これにより、RDBを利用するユーザーの側ではさまざまな手間やコストから解放され、開発するアプリケーションやデータベースで保持するデータの内容など、作ろうとしているサービスそのものに注力することができます。

 SQL Databaseのリソース作成時には、用途に応じてデータベースの容量やコンピューティングリソースのサイズを決めます。利用料金はそのグレードに応じて1時間単位で発生しますが、リソース作成後でも必要に応じてグレードを動的に変更することができます。

Azure Cosmos DB

 Azure Cosmos DBは、Azureが提供するNoSQLデータベースサービスです。データの種類としては半構造化データを扱うことができます(実はそのほかのデータの種類も扱えるマルチモデルデータベースですが、ここでは割愛します)。その特徴は、なんといってもSLA(サービス可用性)の高さと応答速度の速さです。

 Cosmos DBでは、データの読み取り/書き込みの両方で「99.999%」の可用性SLAを掲げています。Azureサービスの標準的なSLA(99.9%)よりも高く、さらに前述のSQL Serverをゾーン冗長化するBusiness CriticalレベルオプションのSLA(99.995%)よりも高い数字です。わかりやすく言えば、Cosmos DBでは「1年間にダウンタイムがおよそ5分以内」という稼働率を保証しています。

 また、応答速度も非常に高速です。Cosmos DBでは待機時間(レイテンシ)のSLAも規定されていますが、Azure上のアプリケーションからの99%の読み取り/書き込み操作が「10ミリ秒未満」で行われることを保証しています。

 このように、非常に高い稼働率と応答速度が保証されているため、Cosmos DBはNoSQLデータベースとしてだけでなく、絶対に止まってはいけない、しかもリアルタイムで高速な処理を行わなければならないようなビジネスクリティカルなデータを保存するためのサービスとしても利用されています。

Azure Files

 Azure Filesは、Azureのファイルストレージサービスです。その名のとおり“クラウド上にあるファイルサーバー”として、お手元のPCからAzure上の仮想マシン(VM)まで、どこからでもアクセスしてファイルの保存や取り出しができます。SMBやNFS、HTTPSといった一般的なファイルアクセスプロトコルに対応しています。

 ほかのストレージサービスと同様に、Azure FilesもAzure側で構築やメンテナンスの作業を行ってくれるフルマネージドのサービスであり、サーバーOSのアップデートやインフラの管理といった手間が要りません。また、ストレージのスナップショットやバックアップを作成することもできます。

 利用料金は、保存しているファイル容量と読み書きの回数に応じて課金されます。利用開始時の初期費用がかかりませんので、導入コストを押さえてファイルサーバーを利用できるのが魅力です。

Azure Blob Storage

 Blob Storageは、Azureが提供するオブジェクトストレージサービスです。さまざまな種類、かつ大量の非構造化データを「Blob(ブロブ)」という形式で保存します。Blobは「Binary Large Object」の略で、テキストや画像、音声などのデータをBlob Storageに保存する際、内部的にはこのBlob形式で保存されます。

 ファイルを保存できる点ではAzure Filesと同様ですが、ファイルストレージのAzure Filesがフォルダの階層構造によりファイル管理を行うのに対して、オブジェクトストレージのBlob Storageは名前空間を用いて階層構造を作り、それぞれファイル管理を容易に行うことができるようになっています。

 また、Web API経由でファイルを直接取得できたり、各種開発言語用のSDKが用意されていたりと、Webアプリケーションに組み込んで利用するストレージとしての側面が強いです。具体的には、アプリケーションで使う画像ファイル、アプリケーションが出力するログファイル、そのほかの各種バックアップファイル、VMのイメージファイルといったものの保存先などに利用されます。

 Blob Storageの面白い使い方の一つとして、静的なWebサイトをホスティングするというものがあります。特定のディレクトリにindex.htmlファイルを配置するだけで、レンタルサーバーを利用するようなWebサイトのホスティングが簡単にできます。

カテゴリートップへ

この連載の記事