SA.02.3 ストレージとアクセスプロトコル (重要度: 3)

各々のストレージ提供形態の特徴・制約条件

ブロックストレージ

  • 特徴・制約条件:ブロックストレージはデータを固定サイズ(ブロック)のチャンクに分割し、各ブロックには一意の識別子が割り当てられます。ブロック単位での読み書きが可能で、ランダムアクセスが可能です。ただし、データに対するアクセス制御やメタデータの管理には別途対応が必要です。
  • 用途:データベースや仮想化環境など、高速でランダムアクセスが必要なアプリケーションに適しています。

ファイルストレージ

  • 特徴・制約条件:ファイルストレージはデータを階層的なファイル構造として管理します。ファイル単位での読み書きが可能であり、一つのファイルに対して複数のプロセスが同時にアクセスできます。また、セキュリティやアクセス制御、バージョン管理なども容易に実施することができます。
  • 用途:ドキュメント共有、ファイルバックアップ、ウェブサーバーのコンテンツ配信など、ファイルベースのアプリケーションに適しています。

オブジェクトストレージ

  • 特徴・制約条件:オブジェクトストレージはデータをオブジェクトとして扱います。各オブジェクトにはメタデータ(情報の特徴や属性など)が含まれ、オブジェクトに一意の識別子が付与されます。オブジェクトは階層的なディレクトリには配置されず、スケーラビリティや耐久性に優れています。データは一度書き込まれると変更できないイミュータブルな特性があります。
  • 用途:大容量のデータ保管、バックアップと復元、クラウドストレージ、メディアファイルの配信など、大規模でスケーラブルなデータアクセスが必要なアプリケーションに適しています。

それぞれのストレージ提供形態は、異なる利点や適用範囲を持っており、アプリケーションの要件に応じて適切な形態を選択することが重要です。

主要なデータ共有プロトコル

SMB(Server Message Block)

機能

  • ファイルおよびリソースの共有およびアクセスを可能にするプロトコル。
  • ファイルの暗号化および認証機能のサポート。
  • オフセットキャッシュなど、高速ファイル転送を提供するための最適化。

制約条件:

  • 主にWindowsベースの環境で使用されるが、LinuxやUNIX系システムにも実装されている。
  • Windows 10やWindows Serverなどの最新バージョンでは、より高度なセキュリティが提供されている。

NFS(Network File System)

機能

  • クライアントがリモートのファイルシステムをマウントしてアクセスする。
  • ファイル共有を非常に高速かつ効率的に実行。
  • クライアントとサーバの間でのファイルロックや排他的アクセスの管理。

制約条件:

  • ネイティブにUNIXおよびLinux環境でサポートされる。
  • オプショナルなセキュリティメカニズムで認証機能を追加できる。

WebDAV(Web-based Distributed Authoring and Versioning)

機能

  • クライアントがエンドポイント(Webサーバなど)に対してファイルやリソースを読み書きする。
  • HTTPプロトコルを使用して、リモートでのファイルの作成、編集、削除を提供。

制約条件:

  • WebサーバにアクセスできるHTTPまたはHTTPS経由でのみ利用可能。
  • ファイルレベルのロックおよび排他制御が制約されている。

HTTPS + REST API のファイル転送

機能

  • HTTPプロトコルのセキュリティバージョンであるHTTPSを使用したファイル転送。
  • クライアントはREST API経由でファイルのアップロードやダウンロードを行う。

制約条件:

  • クライアントとサーバ間の認証とセキュリティ機構を確立する必要がある。
  • サーバ側で特定のレスポンス形式や認証メカニズムを実装する必要がある。

以上のプロトコルは、異なるネットワークやセキュリティの要件に基づいて選択されることがあります。要件に応じてセキュリティ、パフォーマンス、互換性などの側面を検討することが重要です。