Windows AzureとAmazonストレージサービスを比較する2番目と3番目の部分。 最後の部分-Windows Azure Blob StorageとGoogle Cloud Storageの比較。
この記事の最初の部分では、Windows Azure Blob StorageとAmazon Simple Storage Service(S3)の比較を開始し、基本概念を確認し、BLOBコンテナーとバスケットに関する価格設定と機能を比較しました。
最初の部分を読んでください 。
この記事のこの部分では、ブロブとオブジェクトに関連する機能を比較し、両方のシステムのストレージサービスの比較を終了して、結果のデータを1つの共通テーブルに取り込みます。
シリーズの最初の部分-Windows AzureテーブルストレージとAmazon DynamoDBの比較パート2-Windows Azure Blob StorageとAmazon Simple Storage Service(S3)を比較する-パートI略語:
Windows Azure Blob Storage -
WABSおよび
Amazon Simple Storage Service -
AS3コンセプトの
関数の詳細な説明の前に、ブロブとオブジェクトの背後にある概念のいくつかを明確にすることが重要だと思います。
BLOB
とオブジェクト :WABS BLOBとAS3オブジェクトは、BLOBコンテナーとバスケットにあるクラウドファイルシステム内のファイルです。
コメント:
- 格納されるBLOBとオブジェクトの数に制限はありませんが、AS3ではこの数は単純に不明ですが、WABSではこの数はストレージアカウントのサイズ(100 Tb)によって制限されます。
- AS3のオブジェクトの最大サイズは5 TB、WABSでは1 TBです。
- WABSには2種類のBLOBがあります:ブロック(ストリーミング(写真、ビデオ、ドキュメントなど)に便利で最大サイズが200 GB)、およびページ(ランダムアクセス/記録操作に便利で最大サイズが1 TB)です。 ページBLOBを使用する一般的なケースは、Windows Azureの役割でVHDをディスクとしてマウントすることです。 AS3にはこのような分離はありません。
- 両方のシステムは、豊富なブロブとオブジェクト管理機能を提供します。 他の操作をコピー、ダウンロード、ダウンロード、および実行できます。
- 両方のシステムは、コンテンツを不正アクセスから保護する機能を提供し、アクセス制御リストメカニズムはAS3でより詳細に構成され、バスケット内の各ファイルに独自のACLを作成できます。 WABSでは、すべてがBLOBコンテナーレベルで発生します。
最も重要な2つの機能はダウンロードとダウンロードです。最初にそれらについて説明し、次に他の機能を比較することをお勧めします。
BLOBとオブジェクトの読み込み
コンテナとバスケットにブロブとオブジェクトをロードすることについて話しましょう。 ロードメカニズムは2つあります。1つのリクエストのフレームワーク内でblobまたはオブジェクトを完全にダウンロードするか、またはAS3のブロックまたはWABSページとパーツに分割することができます。
1回のリクエストでダウンロード
ダウンロードしたデータが小さく、接続速度が良い場合、1回の要求でこのデータを完全にダウンロードできます。 WABSはこれに
Put Blobを使用します。 AS3-
オブジェクトを入れます。
ピースをロードする
単一のリクエストで完全にロードするには非効率的なビッグデータを共有できます。 どちらのシステムでも、データを断片(WABSのブロックまたはページ、AS3のパーツ)に分割し、徐々にロードすることができます。 WABSでは、ブロックBLOBの場合、ページBLOBの
Put Blockおよび
Put Block Listを使用する必要があります-Put
Page 。 AS3では、
マルチ パート アップロードの
開始 、
パートの アップロード 、および
マルチ パート アップロードの完了または
マルチ パート アップロードの 中止機能がこれに使用されます。
チャンクでデータをロードすることを決定する理由はたくさんあります。
- 非常に大きなデータをロードする必要があります。 WABSでは、1ブロックBLOBが200 GB、ページ-1 TBに制限されていることに注意してください。AS3では、最大5 TBのオブジェクトを1つ持つことができます。 このようなボリュームは、1つの要求でロードするのは実用的ではありません。
- 接続速度が遅い。
- 両方のシステムは、数百および数千のユーザーのリクエストを同時に処理するように設計されたクラウドサービスです。両方のシステムが設定された制限より長く実行されると、リクエストが制限されます-WABSでは、1 MBのデータをダウンロードするのに10分です。
- ビッグデータを断片に分割すると、並列読み込みが可能になります(それぞれ、データの読み込みが速くなります)。
- ピースのロードが破損している場合、そのロードを繰り返すことができますが、単一のリクエストでロードする大きなデータのロードが失敗した場合、すべてを再度ダウンロードする必要があり、非常に非効率的です。
- システムの制限:WABSでは、サイズが64 MBを超える場合、1回の要求でデータをダウンロードできません。 AS3にはそのような制限はありませんが、サイズが100 MBを超える場合、データを分割することをお勧めします。
次に、各システムにデータを断片的にロードする方法について説明します。 たとえば、100 MBのファイルをチャンクでアップロードしたいとします。 各プラットフォームを使用するときに何をする必要があるかを見てみましょう。
綿棒
各ピースのサイズが1 MBであり(同じサイズのピースを持つ必要はないにもかかわらず)、100個のピースをダウンロードする必要があるとします。 ブロックBLOBを取得します。各ブロック(ピース)には一意の識別子(BlockId)があります。 ロードするには、
Put Block関数を使用します。 BlockIdは、最大サイズが64バイトのBase64エンコード文字列です。 すべてのBlockId(この例では100)は同じ長さでなければなりません。 ブロックをロードする順番は関係ありません-並行してロードできます。 ブロックをロードした後、WABSはそれをリポジトリのどこかに置き、7日間保存します。 すべてのブロックをロードした後、
Put Block Listを呼び出して
、これらのブロックを確認(コミット)します。 この関数が呼び出されるまでブロブに連絡することはできません。また、7日以内にブロックを確認しないと、システムによってブロックが削除されます。 BlockIdリストの順序に基づいて関数を呼び出した後、WABSはblobを再作成し、利用可能としてマークします。 BlockIdの値は関係ありません(すべてGUIDにすることができます)が、Putブロックリストを使用するときにBlockIdを送信する順序は重要です。
制限事項:- Blobは最大50,000ブロックに分割できます。
- BLOBには、常に100,000の未確認ブロックを含めることができます。
- 未確認のブロックのセットは、サイズが400 GBを超えることはできません。
- 1つのBLOBのすべてのBlockIdブロックは同じ長さでなければなりません。 それらの値がblock8、block9、block11と等しくなる状況は許容されません。
- BlockIdの最大長は64バイトです。
AS3
各ピースのサイズが5 MBだとします。 各ピースには一意の識別子(パーツ番号)が割り当てられます。これにより、ピースが識別され、元のオブジェクトでの位置が決まります。 この番号は1から10000までの任意の番号にすることができますが、並べ替える必要があります。つまり、状況に応じて、0〜5 MBの部分に1、5〜10 MB-2などの番号を付ける必要があります。 ただし、これらのパーツのダウンロードを開始する場合、最初に
Initiate Multipart Upload関数を呼び出す必要があります
。これにより、オブジェクトを分割して転送するプロセスが開始されたことがAS3に通知されます。 この関数は、アップロードIDを返します。 次に、各ピースに対して、
Upload Part関数を呼び出して、
Upload Idとピースの番号を渡す必要があります。ピースがダウンロードされる順序は関係ありません(並行してアップロードできます)。 すべてのピースをロードした後、
Complete Multipart Upload関数を呼び出して、ピースを確認する必要があります。 プロセスをキャンセルするには、
マルチパートアップロードを中止します。
制限事項:
- ピース番号は1〜10,000でなければならないという事実から判断すると、オブジェクトは最大10,000個のパーツに分割できると思います。
- 番号はオブジェクト内のピースの位置を決定するため、その値は重要です。
- 各ピースは、サイズの制限がないシーケンスの最後のピースを除き、少なくとも5 MBのサイズを持っている必要があります。
BLOBとオブジェクトをダウンロードする
BLOBとオブジェクトをダウンロードするには、2つのメカニズムがあります。BLOBまたはオブジェクトを1つのリクエストで、またはピース単位でダウンロードします。
各システムには、WABSで
Blobを
取得し 、AS3で
オブジェクトを
取得するダウンロード機能が1つだけあります。
1回のリクエストでダウンロード
データが小さく、接続速度が良い場合は、WABSの
Get BlobとAS3の
Get Objectを使用してオブジェクトを完全にダウンロードできます。
分割してダウンロードする
オブジェクトが大きく、一度にダウンロードできるかどうかわからない場合は、同じ機能を使用して、Rangeヘッダーを追加し、ダウンロードに必要なバイト範囲を決定して、ピースをダウンロードできます。
ダウンロードプロセス:
- オブジェクトのサイズを決定します。 たとえば、100 MBの「重さ」があります。
- ピースのサイズを決定します。 たとえば、1 MBのピースをダウンロードすると便利です。
- Get BlobまたはGet Objectを呼び出し、対応する値をRangeヘッダーに渡します。 連続してダウンロードする場合、最初のリクエストにはこのヘッダーの値「0-1048575」(0-1 Mb)、2番目のリクエスト-「1048576-2097151」(1-2 Mb)などが含まれます。
- ダウンロードしたら、作品をどこかに置きます。
- すべてのピースをダウンロードした後、空の100 MBファイルを作成し、このファイルにダウンロードしたピースを入力します。
機能
両方のシステムが提供する機能を下の表にまとめています。
これらの機能について詳しく説明します。
| 綿棒
| AS3
|
Blob / PUTオブジェクトを配置
| はい
| はい
|
この関数は、ブロブをブロブコンテナーに、オブジェクトをバスケットに追加します。
コメント:
- 両方のシステムで、関数は既存のオブジェクトを指定された名前で上書きします。 バスケットでバージョン管理が有効になっているAS3では、オブジェクトのコピーが作成されます。 WABSは、 Snapshot Blobを使用して独自にバージョニングを処理する必要があります。
- どちらのシステムでも、オブジェクトのプロパティ(キャッシュコントロール、コンテンツタイプなど)を定義できます。
- どちらのシステムでも、MD5コンテンツのハッシュを送信してデータの一貫性を確認できます。
- AS3では、オブジェクトを作成するときに、そのオブジェクトにACLを設定できますが、これはWABSでは実行できません。
- AS3では、限られた冗長性でオブジェクトを保存できます。 この関数を呼び出すとき、オプションのパラメータを使用して、冗長性を制限したオブジェクトを保存するかどうかを決定します。 パラメータを省略すると、オブジェクトは標準の冗長性で保存されます。
- どちらのシステムでも、BLOBとオブジェクトのメタデータをキーと値のペアのコレクションの形式で指定できます。 両方のシステムで、このメタデータの最大サイズは8 Kbです。
- この関数を使用してページBLOBを作成する場合、ページBLOBを開始するだけで、そこにデータを入れません。 データを挿入するには、ページ配置機能を使用する必要があります。
- AS3でブロックBLOBまたはオブジェクトを作成するとき、データはリクエストで送信されます。
- この関数を使用して作成されるブロックBLOBの最大サイズは64 MBです。 サイズが大きい場合は、ブロブをブロックに分割し、Put BlockおよびPut Block Listを使用してロードする必要があります。
- WABSでは、この関数が正常に完了するために満たす必要がある前提条件を決定できます( If - Modified - Since 、 If - Unmodified - Since 、 If - Match 、 If - None - Match )。
- AS3はサーバー側のオブジェクトの暗号化をサポートしているため、要求時にオブジェクトを暗号化するかどうかを決定できます。 WABSはサーバー側の暗号化をサポートしていないため、オブジェクトを自分で暗号化する必要があります。
この関数は、HTMLフォームを使用して、指定されたバスケットにオブジェクトを追加します。 POSTはPUTの代替であり、ブラウザを使用してオブジェクトをロードできます。 HTTPヘッダーを使用してPUTに渡されるパラメーターは、POSTの場合、暗号化されたmultipart / form-dataメッセージの本文として渡されます。
| 綿棒
| AS3
|
Get Blob / GET Object
| はい
| はい
|
この機能により、コンテナまたはバスケットからblobをダウンロードできます。
コメント:
- Rangeヘッダーにバイト数を指定して、ピースをダウンロードできます。
- WABSでは、この関数はダウンロードされたblobのメタデータも返します。
- WABSでは、この関数が正常に完了するために満たす必要がある前提条件を決定できます( If - Modified - Since 、 If - Unmodified - Since 、 If - Match 、 If - None - Match )。
- AS3では、要求パラメーターを使用して特定の応答ヘッダーの値をオーバーライドできます(匿名要求を除く)。 リクエストはAuthorizationヘッダーで署名するか、提供されたURLを使用する必要があります。
- この関数を使用して、ブロブとオブジェクトのバージョンを取得できます。ブロブのバージョンを取得するには、ブロブのスナップショットの日付/時刻を指定し、AS3のオブジェクトのバージョンを取得するには、バージョンIDを指定します。 これらのパラメーターを省略すると、オブジェクトの現在のバージョンが返されます。
AS3では、BitTorrentプロトコルを使用してオブジェクトを使用できます。これにより、送信されるトラフィックの量を減らすこともできます。 BitTorrentとAS3の使用の詳細については、
こちらをご覧ください 。
この関数は、サイズが5 GB未満のオブジェクトでのみ呼び出すことができます。
AS3では、個々のオブジェクトレベルでACLを指定できます(WABSでは、blobコンテナーレベルでのみACLを指定できます)。 この関数は、オブジェクトに指定されたACLに関する情報を取得するために使用されます。
興味深い点は、オブジェクトの異なるバージョンを使用する場合、各バージョンには個別のACLがあるということです。 オブジェクトの特定のバージョンのACLを取得するには、バージョンIDバージョン関数を関数に渡す必要があります。
この関数を使用すると、オブジェクトのACLを指定できます。 前述のように、オブジェクトの各バージョンには独自のACLがあります。 オブジェクトの特定のバージョンのACLを指定するには、そのバージョンのバージョンIDを渡す必要があります。
| 綿棒
| AS3
|
Blobプロパティの取得/ HEADオブジェクト
| はい
| はい
|
この関数は、BLOBプロパティとオブジェクトメタデータを取得するために使用されますが、BLOBコンテンツを返しません。
コメント:
- WABSのGet Blob Propertiesは、ユーザー定義のメタデータ、標準HTTPプロパティ、blobのシステムプロパティのセットを返しますが、AS3のHEAD Objectはオブジェクトメタデータのみを返します。
- WABSでは、この関数が正常に完了するために満たす必要がある前提条件を決定できます( If - Modified - Since 、 If - Unmodified - Since 、 If - Match 、 If - None - Match )。
- この関数を使用して、特定のバージョンのblobまたはオブジェクトのプロパティを取得できます。 この情報を取得するには、WABSのスナップショットBLOBの日付と時刻、およびAS3の必要なバージョンのバージョンIDを指定する必要があります。 これらのパラメーターを省略すると、現在のバージョンに関する情報が返されます。
この関数は、WABSのブロブシステムプロパティを決定します。 AS3では使用できません。 オブジェクトを作成するときは、システムプロパティのみを指定できます。
定義に使用できるプロパティには、キャッシュ制御、コンテンツタイプ、コンテンツMD5、コンテンツエンコーディング、コンテンツ言語が含まれます。 これらのプロパティをblobスナップショット用に再定義する権利はないことに注意してください。
WABSでは、この関数が正常に完了するために満たす必要がある前提条件を決定できます(
If- Modified- Since 、
If- Unmodified- Since 、
If- Match 、
If- None- Match )。
| 綿棒
| AS3
|
Blobメタデータ/ヘッドオブジェクトを取得する
| はい
| はい
|
この関数は、ユーザー定義のメタデータを返します。 この関数を使用して、特定のバージョンのblobまたはオブジェクトのプロパティを取得できます。 この情報を取得するには、WABSのスナップショットBLOBの日付と時刻、およびAS3の必要なバージョンのバージョンIDを指定する必要があります。 これらのパラメーターを省略すると、現在のバージョンに関する情報が返されます。
この関数は、WABSのBLOBのキーと値のエントリのコレクションとしてメタデータディクショナリを指定するために使用されます。
コメント:
- この関数は既存のメタデータを上書きするため、1つのキーと値のペアを更新することはできません。
- 最大メタデータサイズは8 Kbです。
- メタデータ名は有効なC#識別子でなければなりません。
| 綿棒
| AS3
|
Blobの削除/オブジェクトの削除
| はい
| はい
|
この関数は、BLOBまたはオブジェクトをリポジトリから削除します。
コメント:
- AS3では、関数はオブジェクトのnullバージョン(存在する場合)を削除し、削除マーカーを挿入します。削除マーカーはオブジェクトのバージョンになります。 NULLバージョンがなかった場合、オブジェクトは削除されません。
- WABSでは、この機能を使用して、ソースを削除せずにスナップショットのみを削除できます。 ソースが削除されると、そのスナップショットもすべて削除されます。
- 私が理解しているように、AS3では、オブジェクトを削除するとき、そのすべてのバージョンは変更されずに残ります。
- この関数を使用して、特定のバージョンのblobまたはオブジェクトを削除できます。このためには、WABSでスナップショットblobの日付と時刻を、AS3で必要なバージョンのバージョンIDを指定する必要があります。
・WABSでは、この機能を正常に完了するために満たす必要がある前提条件を決定できます(
If- Modified- Since 、
If- Unmodified- Since 、
If- Match 、
If- None- Match )。
- AS3では、セキュリティの追加レベルを提供するMulti Factor Authentification(MFA)Deleteを使用できます。 MFAの詳細については、 こちらをご覧ください 。
この関数を使用すると、1つのHTTPリクエストでゴミ箱から複数のオブジェクトを削除できます。このためには、削除するオブジェクトのキーを知る必要があります。 1つ以上のオブジェクトの特定のバージョンを削除することもできます。 1回のリクエストで最大1000個のオブジェクトを削除できます。
| 綿棒
| AS3
|
Blobのコピー/オブジェクトの配置-コピー
| はい
| はい
|
この関数は、ブロブを元の場所からコピーします。
コメント:
・両方のシステムでは、この機能を正常に完了するために満たす必要がある前提条件を決定できます(
If- Modified- Since 、
If- Unmodified- Since 、
If- Match 、
If- None- Match )。 これらの条件は、WABSのソースと最終コピー、およびAS3のソースの両方で定義できます。
・WABSでは、1つのストレージアカウント内でのみ、コンテナーからコンテナーにオブジェクトをコピーできます。 AS3にはそのような制限はありません。 交換が行われるバスケットが同じアカウントに属している場合、オブジェクトがコピーされます。 ただし、APIを使用してチャンクをロードするオブジェクトを作成した場合、オブジェクトをリージョン間でコピーすることはできません。
・両方のシステムでは、既存のメタデータをコピーするか、最終コピーのメタデータを指定できます。
・AS3は、
GET Objectと
PUT Objectの組み合わせとしてこの機能を実装します。
- この関数は、サイズが5 GB以下のオブジェクトで使用できます。 サイズが5 GBを超える場合は、分割してダウンロードする必要があります。
- AS3では、コピー時に特定のACLが削除され、オブジェクトがプライベートとして設定されます。
役に立つヒント:- 両方のシステムは 、オブジェクトの名前変更をサポートしていません 。 オブジェクトの名前を変更するには、最初にオブジェクトをコピーしてから削除します。
- Blobまたはオブジェクトバージョンを「現在の」バージョンに「アップグレード」することもできます。 これを行うには、バージョン管理されたblob(スナップショットを指す)またはオブジェクト(バージョンIDを指す)と最終コピーをバージョン管理されていないblobまたはコピー元として指定します。
この関数は、blobの読み取り専用コピーを作成します-これがWABSのバージョン管理の実装方法です。 前の記事で述べたように、AS3はバージョン管理を独立して実装しています。 WABSでは、バージョニングは特定のblobのレベルで実装されており、このblobのバージョニングは開発者の責任です。
コメント:
- この関数は、blob-スナップショットの読み取り専用コピーを作成します。 スナップショットはダウンロード、コピー、または削除できますが、変更はできません。
- バージョンIDがオブジェクトのバージョンに割り当てられるAS3とは異なり、各スナップショットには、そのスナップショットを一意に識別する日付/時刻の値が割り当てられます。
・WABSでは、この機能を正常に完了するために満たす必要がある前提条件を決定できます(
If- Modified- Since 、
If- Unmodified- Since 、
If- Match 、
If- None- Match )。
- Copy Blob機能を使用して、スナップショットをソースBlobのバージョンに「増やす」ことができます。
この関数を使用すると、ブロブを1分間ロックして、変更できないようにすることができます。 この機能は、多くのワーカーが同じ操作を実行しようとしている状況では非常に便利ですが、そのうちの1人だけが変更を加えたいと考えています。 詳細:
http :
//blog.smarx.com/posts/managing-concurrency-in-windows-azure-with-leasesこの関数は、データのロードを断片的に開始するために使用されます。
| 綿棒
| AS3
|
ブロックを入れる/パートをアップロードする
| はい
| はい
|
この関数は、データの一部(WABSのブロックとAS3のパーツ)をロードするために使用されます。
| 綿棒
| AS3
|
ブロックリストの配置/マルチパートアップロードの完了
| はい
| はい
|
この関数は、対応するストア内のBLOBまたはオブジェクトを確認するために使用されます。 関数は、すべてのブロックまたはパーツをロードした後に呼び出すことができます。
| 綿棒
| AS3
|
ブロックリスト/リストパーツの取得
| はい
| はい
|
この関数は、ロードされたブロックまたはパーツのリストを返します。
コメント:
- WABSには、ブロブの2つのブロックリストがあります。正常に確認されたブロックのリストと、ダウンロードされたが確認されていない未確認のブロックのリストです。
- 1つの機能要求で、AS3は最大1000個の部品番号を返します。 さらにパーツが残っている場合、AS3は継続トークンを返します。 返される数字の数を指定できます。
・WABSでは、この機能を正常に完了するために満たす必要がある前提条件を決定できます(
If- Modified- Since 、
If- Unmodified- Since 、
If- Match 、
If- None- Match )。
| 綿棒
| AS3
|
マルチパートアップロードを中止する
| いや
| はい
|
この機能は、進行中の起動プロセスをキャンセルするために使用されます。
この機能がWABSに実装されているフォームでは、必要ありません。 WABSでは、起動プロセスを中断することはできません。 塊の断片のダウンロードを開始し、7日以内にPut Block Listを呼び出さなかった場合、ダウンロードされたブロックは削除されます。
コピーしようとしているオブジェクトのサイズが5 GBを超える場合、オブジェクトの配置-コピー機能を使用できません。 チャンクをロードしてこのオブジェクトをコピーする必要がありますが、この関数はそのためだけのものです。 この関数とアップロードパートの違いは、リクエスト本文でデータを送信する代わりに、
source_bucket / source_objectの形式でソースオブジェクトを指定し、コピーするバイト範囲を指定することです。 したがって、コピーされたオブジェクトのすべての部分を処理する必要があります。 この関数を呼び出す前に、ダウンロードを分割して開始し、関数に渡す必要があるアップロードIDを取得する必要があります。 コピーを完了するには、「Complete Multipart Upload」または「Abort Multipart Upload」を呼び出す必要があります。
Put Blobを使用してページBLOBを作成する場合、その作成を開始するだけです。 コンテンツのない空のページBLOBを作成します。 この関数を使用すると、ページBLOBにデータを挿入/更新できます。データを確認する必要はありません。この関数を呼び出した後、データは自動的に確認されます。
コメント:
- blobにデータを配置するには、Byte Rangeバイト範囲のヘッダーの値を指定する必要があります。 初期範囲オフセットは、512-1の絶対値である必要があります。 許可されるバイト範囲の例は、0〜511、512〜1023などです。
- この関数を使用すると、ページBLOBにデータを書き込むか、データから特定の範囲のバイトを消去できます。
・WABSでは、この機能を正常に完了するために満たす必要がある前提条件を決定できます(
If- Modified- Since 、
If- Unmodified- Since 、
If- Match 、
If- None- Match )。
ブロックBLOBとページBLOBの重要な違いは価格設定です。フルBLOBに対して支払いますが、ページBLOBの場合は、ビジーな(ゼロ以外の)ページに対してのみ支払います。 たとえば、2 GBのブロックBLOBと2 GBのページBLOBを作成し、両方が空(0バイトを含む)の場合、2 GBのBLOB BLOBの料金はかかりますが、ページBLOBの料金はかかりません。 次に、Putページを使用して1024バイトをページBLOBに書き込み、それらの1024バイトの支払いを開始します。
この関数は、ゼロ以外のページのソートされたリストを返します。
この関数にはもう1つの利点があります-ページBLOBをダウンロードするときにこの関数を呼び出すと、データがBLOBのどこに保存されているかが保証されます。その後、BLOB全体をダウンロードできなくなりますBlobを取得します。
まとめ
どちらのシステムも同様の機能セットを提供します。 各システムには、別のシステムでは使用できない独自の機能セットがありますが、一般に、機能の違いはBLOBコンテナーやバスケットの場合と同じではありません。
Windows Azure Blob StorageとAmazon Simple Storage Service(S3)の比較–概要
Windows Azure Blob StorageとAmazon Simple Storage Serviceを比較した詳細な記事(S3は
こちらと
こちらで読むことができ
ます 。この記事では要約します。
略語:
Windows Azure Blob Storage- WABSおよび
Amazon Simple Storage Service -
AS3この表は、WABSとAS3の機能を比較した結果をまとめたものです。
| 綿棒
| AS3
|
サービスの現在のバージョン
| 2011-08-18
| 2006-03-01
|
保管制限
| 最大100TB
| 無制限
|
クラウドファイルシステム
| はい
| はい
|
ドライブを転送して大量のデータを転送する機能
| いや
| はい
|
サポートされているプロトコル
| HTTP / HTTPS
| HTTP / HTTPS / BitTorrent
|
データに対して顧客に請求する機能
| いや
| はい
|
サーバー側の暗号化サポート
| いや
| はい
|
限定冗長サポート
| いや
| はい
|
サポートされている階層レベル
| 2
| 2
|
ブロブ容器とバスケット
|
BLOBコンテナーとバスケットの作成
| はい
| はい
|
コンテナの数blobovとバスケット
| 無制限
| 無制限
|
バスケットまたはブロブコンテナーの名前の最小/最大長
| 3/63
| 3/63
|
BLOBおよびバスケットコンテナー名の大文字と小文字の区別
| 小文字
| 小文字
|
BLOBおよびバスケットコンテナー名に使用できる文字
| 英数字、ハイフン(-)
| 英数字、ハイフン(-)、ピリオド(。)
|
共有ホスティングサポート
| いや
| はい
|
ホスティングサポートパススタイル
| はい
| はい
|
作成時にACLを定義する機能
| はい
| はい
|
デフォルトACL
| プライベート
| プライベート
|
独自のメタデータの指定
| はい
| いや
|
BLOBコンテナーとバスケットのリストを取得する
| はい
| はい
|
単一の関数呼び出しによって返されるblobまたはバスケットコンテナーの最大数
| 5000
| 指定なし
|
プレフィックスフィルタリングを使用してBLOBおよびバスケットコンテナーのリストの一部を返す
| はい
| はい
|
BLOBコンテナーとバスケットの削除
| はい
| はい
|
ブロブコンテナまたはバスケットは、削除する前に空にする必要があります
| いや
| はい
|
BLOBまたはオブジェクトのリストを取得する
| はい
| はい
|
1回の関数呼び出しで返されるBLOBまたはオブジェクトの最大数
| 5000
| 1000
|
1回の関数呼び出しで返されるBLOBまたはオブジェクトの数の上限を指定する機能
| はい
| はい
|
フォルダー階層の錯覚を作成するためのセパレーターのサポート
| はい
| はい
|
返されたブロブまたはオブジェクトのリストをプレフィックスでフィルタリングする
| はい
| はい
|
バージョン管理されたブロブまたはオブジェクトのリストを取得する
| はい
| はい
|
未確認のblobまたはオブジェクトのリストを取得する
| はい
| はい
|
BLOBまたはオブジェクトへのリクエストのロギング
| はい
| はい
|
特定のBLOBまたはオブジェクトへの要求を記録する
| いや
| はい
|
BLOBまたはオブジェクトへのロギングリクエストの設定を取得する
| はい
| はい
|
BLOBコンテナーまたはバスケットのACL定義
| はい
| はい
|
可能なACL値
| コンテナ、ブロブ、プライベート
| 読み取り、書き込み、READ_ACP、WRITE_ACP、FULL_CONTROL
|
ユーザーごとに異なるACLを定義する
| いや
| はい
|
BLOBコンテナーまたはバスケットの独自のメタデータを定義する
| はい
| いや
|
BLOBコンテナーまたはバスケットのユーザー定義メタデータの取得
| はい
| いや
|
バージョン管理オブジェクト
| はい
| はい
|
システムによって制御されるバージョン管理
| いや
| はい
|
BLOBコンテナーまたはバスケットのバージョン管理セットアップ
| いや
| はい
|
BLOBコンテナーまたはバスケットのバージョニング構成の取得
| いや
| はい
|
一定期間後のBLOBコンテナーまたはバスケットの内容の自動削除
| いや
| はい
|
一定期間後にBLOBコンテナーまたはバスケットの内容を自動的に削除する設定
| いや
| はい
|
一定期間後のBLOBコンテナーまたはバスケットのコンテンツの自動削除の設定を取得する
| いや
| はい
|
一定期間後のBLOBコンテナーまたはバスケットの内容の自動削除の設定の削除
| いや
| はい
|
不正アクセスを防ぐためのBLOBコンテナまたはバスケットのアクセスポリシーの定義
| いや
| はい
|
不正アクセスを防止するためのBLOBコンテナーまたはバスケットへのアクセスポリシーの取得
| いや
| はい
|
不正アクセスを防止するためのBLOBコンテナーまたはバスケットへのアクセスポリシーの削除
| いや
| はい
|
BLOBコンテナまたはごみ箱イベントに何が起こったかについての通知を受け取る
| いや
| はい
|
BLOBコンテナーまたはごみ箱で何が起こったかに関する通知を構成する
| いや
| はい
|
BLOBコンテナまたはごみ箱イベントに何が起こったかについての通知を受け取る
| いや
| はい
|
コンテナからブロブまたはバスケットをダウンロードするために別のユーザーが支払うことができます
| いや
| はい
|
コンテナからブロブまたはバスケットをダウンロードするために支払うユーザーの決定
| いや
| はい
|
,
| いや
| はい
|
| いや
| はい
|
| いや
| はい
|
| いや
| はい
|
| いや
| はい
|
|
| 200 / 1
| 5
|
| ,
| -
|
| はい
| はい
|
,
| 64
|
|
| はい
| はい
|
| 50000
| 10000
|
| いや
| 5
|
| はい
| はい
|
ACL
| N / a
| はい
|
, ,
| N / a
| はい
|
| はい
| いや
|
HTML- POST
| いや
| はい
|
| はい
| はい
|
| はい
| はい
|
| いや
| はい
|
Torrent
| いや
| はい
|
ACL
| いや
| はい
|
ACL
| いや
| はい
|
| はい
| はい
|
| はい
| いや
|
| はい
| はい
|
| はい
| いや
|
| はい
| はい
|
Multi Factor Authentication (MFA) delete
| いや
| はい
|
| はい
| いや
|
| いや
| はい
|
| はい
| はい
|
| はい
| はい
|
read-only
| はい
| いや
|
(lock)
| はい
| いや
|
翻訳者からの注意Windows Azureプラットフォームの若さ(競合他社との関係)にも関わらず、Microsoftは最善を尽くしました-2つのプラットフォームの機能は比較的同等であり、これは朗報です。両方のプラットフォームの開発を観察することは私にとって非常に興味深いものであり、さらに興味深いものになると思います。ちなみに、6月7日にマイクロソフトはグローバルアップデートを公開します。お見逃しなく、非常にクールです。クラウドプラットフォームの競争が新しいラウンドを獲得しているように思えますが、すべては、開発ベクトルがAmazonとMicrosoftによってどのように選択されるかにかかっています。待って、見て。
次の翻訳では、Windows Azure Blob ServicesとGoogle Cloud Serviceの比較に焦点を当てます。UPDは: WindowsのAzureのための信託サービスの外観を逃した:今では、サーバー側で暗号化することが可能である- 以上。