階層型ストレージを使用するための設計戦略

完了

製造会社の例を使うと、プロジェクト リーダーとしてあなたが最初に行う手順は、使用できるオプションを確認することです。 次に、会社のストレージ層の戦略を計画します。

このユニットでは、Azure Storage の階層を確認し、一般的なユース ケースを見ていきます。 また、Azure BLOB に格納されているデータを管理するためにこれらの層をどのように使用できるかについても見ていきます。

Azure Storage

Azure Storage は、高可用性と冗長ストレージを提供する Microsoft のマネージド サービスです。 Azure Storage には複数の種類があります。

  • Azure BLOB: 一般的に、画像、ドキュメント、一般的なデータをアップロードおよび管理するために使われます
  • Azure Files:システムが汎用名前付け規則 (UNC) パスを介してファイルにアクセスできるように、サーバー メッセージ ブロック (SMB) 3.0 を使ってファイル共有を作成できるようにします
  • Azure Data Lake:ビッグ データ分析などのタスクのために、大規模な複合データを格納できるようにします

このモジュールでは、Azure Blob Storage の最適化について説明します。

Azure BLOB

BLOB を使うと、テキスト データやバイナリ データなどの大量の非構造化データを、個別のファイルとして格納できます。 BLOB はコンテナーに編成され、1 つのストレージ アカウントで作成できるコンテナーの数に制限はありません。 各コンテナーに保持できる BLOB の数に制限はありません。BLOB はコンテナー内に存在する必要があります。

コンテナーはサブディレクトリをサポートしていませんが、ファイル名に / を追加することで、論理構造を作成することができます。 たとえば、Report.txt というファイルをコンテナーの最上位レベルに /Sales/Report.txt として保存します。 ファイルにアクセスする任意のサービスには、ファイルが Sales というサブディレクトリ内に保存されているように見えます。

Blob Storage のアクセス層

Azure Storage では複数のストレージ層が提供されています。 これらの各層には異なる価格が設定されており、最高のパフォーマンス層では最も多くのコストが発生します。 これらの階層を構成すると、データ アクセスの速度とコストのバランスを最適化することができます。

現在、4 つの BLOB ストレージ層があります。

  • ホット:これは既定の階層で、頻繁にアクセスされるデータに使われます。 ここにデータを格納するのは、クール層やアーカイブ層に比べると高価ですが、アクセスにかかるコストは安くなります。 ホット層では 99.9% の可用性 SLA をサポートしています。 ホット層はアカウント レベルおよびオブジェクト レベルで設定できます。
  • クール:この層は、アーカイブされたファイル、バックアップ、および生データまたは未処理のデータなど、アクセス頻度の低いデータを格納するために使用されます。 クール層は、30 日以上格納される可能性があるデータ向けに設計されています。 クール ストレージの GB あたりのコストは、ホット ストレージよりも安価です。 コストはリージョンによって異なります。 クール層では 99.9% の可用性 SLA をサポートしています。 クール層はアカウント レベルおよびオブジェクト レベルで設定できます。
  • コールド:この層は、アクセスや変更の頻度が低いデータを格納するために最適化されています。 コールド層は、90 日以上格納される可能性があるデータ向けに設計されています。 ストレージ コストは低くなりますが、クール層と比較するとアクセス コストは高くなります。 コールド アクセス層は BLOB レベルで設定できます。
  • アーカイブ:これはデータの格納には最もコスト効率に優れたオプションですが、データ取得には、他の層と比べると一般的に高価になります。 アーカイブ層は、180 日以上格納される可能性があるデータ向け、および取得の待機時間を許容できるシステムまたはシナリオ向けに設計されています。 アーカイブ アクセス層は、BLOB レベルでのみ設定できます。

アカウント レベルで設定できるのはクール アクセス層とホット アクセス層だけです。

ホット層、クール層、アーカイブ層は、汎用 V2 ストレージ アカウントで使用できます。

使用パターンが変わった場合には、アクセス層をいつでも切り替えることができます。 階層間の変更は、アーカイブからデータを移動する場合を除き、即時に行われます。 アーカイブ データはオフラインで、オンライン クエリにはメタデータのみが使用できます。 アーカイブ データにアクセスするには、最初に BLOB をリハイドレートする必要があります。

BLOB のリハイドレート

BLOB のリハイドレートは、アーカイブからデータを取得して、それをオフラインからオンライン ストレージに移動するプロセスです。 データは、ホット層またはクール層にリハイドレートすることができます。 このプロセスを開始するには、BLOB 層をアーカイブからホットまたはクールに変更します。 このプロセスには最大で 15 時間かかります。

価格

ストレージのコストは、使用しているストレージ層によって異なります。

  • データ格納のコストは、ホット層から最も安価なアーカイブ層に移動すると減少します。
  • データ取得のコストは、下の冷却層に行くほど増加します。たとえば、クール層からのデータ取得のコストは、ホット層からのデータ取得コストと比べると高くなります。 アーカイブからの取得が最も高価です。
  • ストレージ層を変更する場合もコストが発生します。

Azure Blob Storage ライフサイクル管理

Blob Storage ライフサイクル管理では、ポリシーとルールを使って階層間でデータを自動的に移動できます。 ポリシーを使用すると、ストレージのパフォーマンスとコストを制御できます。

ライフサイクル管理を使うと、次のことができます。

  • BLOB をクール層またはアーカイブ層に切り替える。
  • BLOB を削除する。

ルールを作成すると次のことができます。

  • X 日後に BLOB をクール層に移動する。
  • X 日後に BLOB をアーカイブ層に移動する。
  • X 日後に BLOB を削除する。

自分の知識をチェックする

1.

有効な Blob Storage のアクセス層ではないのは、次のうちどれですか?

2.

アクセス層間の変更で即時に実行されるのは、次のうちどれですか?