こんにちわ! クラウドサービス初学者向けの連載企画第五回目です。今回はアプリケーションのデータ保存に関するお話です。
アプリのデータはどこにある?
世の中の多くのアプリケーションは必要なデータを保持する能力を持っています。メールアプリを開けば今まで届いたメールの一覧が見れますし、ショッピングサイトにアクセスすればこれまでの購入した物品の履歴があります。
利用者の立場からすればアプリケーション自身がこれらのデータを記憶しているような印象を受けますが、大抵の場合アプリケーションはあたなのことを何も覚えていません。御幣を恐れずに言えばデータの保管・管理はデータベースと呼ばれる別のシステムが担っており、皆さんが利用しているアプリはデータベースにデータ管理を委託しているだけなのです。
データベースの種類
データベースにはいくつか種類があります。代表的なものは次の二つです。
- リレーショナルデータベース
表形式でデータを保存し、SQLと呼ばれる特別な言語でデータの管理や検索などを行います。あらかじめどんなデータを格納するか完全に決めておく必要があるため堅牢ですが、柔軟性に欠けます。 - 非リレーショナルデータベース
リレーショナルデータベースの厳密さを一部犠牲にして、データ検索処理や大規模データの処理を高速化したもので拡張性に優れています。特にビックデータやクラウドと組み合わせて利用することに向いています。
どちらのデータベースが優れているかという質問の明確な答えはありません。データ形式・データの利用用途・求められる処理速度の程度など、アプリケーションが何を実現したいかによって適切に選定される必要があります。
Azureが提供するサービス
MicrosoftのクラウドサービスであるAzureでは、リレーショナルデータベースとしてAzure SQL Databaseが、非リレーショナルデータベースとしてAzure Cosmos DBがそれぞれ提供されています。また写真や画像と言った表で表せないようなデータ(※)を格納する先としてはAzure Blob Storageがあります。
どのサービスを利用すべきかを見極めるのが難しい時は、Microsoftの学習サイトで実際のユースケースに基づいた選定手順が紹介されているので覗いてみてください。選ぶべき理由と、逆に選ぶべきではない理由が網羅的に説明されているため理解を深めるのに役立ちます。
※ 表に落とし込めるデータ(構造化データ)に対して、非構造化データと呼ばれています。
私の学習サイト
Microsoft Learnでは最初に自分が興味があるテーマや分野を選択できます。選択内容に応じて自動で関連する学習項目が表示されるので指示に従うだけで効率的に学習を進めていくことができます。しかも無料ですのでぜひご利用ください。
まとめ
今回はクラウド学習の第五回目として、データベースの基本とAzure上で展開される関連サービスについてさくっとご紹介しました。次回以降の記事ではAzure Cosmos DBなど魅力的なサービスについて深堀していこうと思いますのでお楽しみに!
この記事が面白かった、参考になったと感じた方は是非「いいね」お願いします!