36

Object Storage と File Storage の違いを誰か説明してもらえますか?

私はwikiでObject Storage について読み、 http://www.dell.com/downloads/global/products/pvaul/en/object-storage-overview.pdfも読み、Amazons docs(S3)、openstack swift も読みました。などしかし、誰かがよりよく理解するための例を教えてもらえますか?

すべての違いは、「オブジェクト ストレージ」オブジェクトにメタデータを追加することだけですか?

たとえば、プログラミング言語 (Python など) を使用してオブジェクトのような画像を保存する方法を教えてください。

ありがとう。

4

10 に答える 10

18

IMO、オブジェクト ストレージはスケールとは関係ありません。単一のディレクトリであっても、膨大な数のファイルを格納できる FS を構築できるからです。

また、アクセス方法に関するものでもありません。ファイルシステム内のデータへの HTTP アクセスは、よく知られている多くの NAS システムで利用できます。

OID によるストレージ/アクセスは、データの名前付けを気にせずにデータを処理する方法です。ファイルでも実行できます。これを可能にする NFS プロトコル拡張があると思います。

私はこれを集めます:オブジェクトストレージは、データ、そのアクセス、および管理に関する(新しい/異なる)「オブジェクト中心」の考え方です。

次の点について考えてください。

現在のスナップショットとは これらは、ボリュームのポイント イン タイム コピーです。スナップショットが作成されると、ボリューム内のすべてのファイルもスナップされます。彼ら全員がそれを好むと好まざるとにかかわらず、彼ら全員がそれを必要とするかどうかにかかわらず。完全なボリューム スナップショットに多くのスペースが使用される (無駄になる?) 可能性がありますが、スナップする必要のあるファイルはわずかです。

オブジェクト ストレージ システムでは、ボリュームのスナップショットが表示されることはほとんどなく、オブジェクトはおそらく自動的にスナップショット化されます。これがオブジェクトのバージョン管理です。すべてのオブジェクトをバージョン管理する必要はありません。個々のオブジェクトごとに、バージョン管理されているかどうかがわかります。

ファイル/ボリュームは災害からどのように保護されていますか? 通常、ディザスタ リカバリ (DR) セットアップでは、ボリューム/ボリューム セット全体が DR サイトへのレプリケーション用にセットアップされます。繰り返しますが、個々のファイルが複製されるかどうかは問題ではありません。災害対策の単位はボリュームです。ファイルは小さなフライです。

オブジェクト ストレージ システムでは、DR はボリューム中心ではありません。オブジェクトのメタデータは、存在するコピーの数と場所 (地理的位置/障害ドメイン) を決定できます。

他の機能についても同様です。

  1. 階層化 - 他の無関係なオブジェクトから独立したメタデータに基づいて、ストレージ階層/クラスに配置されたオブジェクト。

  2. ライフ - オブジェクトは、グループとしてではなく、個別に階層間を移動したり、コピーの数を変更したりします。

  3. 認証 - 必要に応じて、個々のオブジェクトを異なる認証ドメインから認証できます。

ご覧のとおり、考え方の変化は、オブジェクト ストアではすべてがオブジェクトに関するものであるということです。

これを、ボリューム (ファイルを含む) などのより大きなコンテナーについての従来の考え方と管理およびアクセスとは対照的に、オブジェクト ストレージではありません。

上記の機能とそのオブジェクト中心性は、非構造化データの要件によく適合し、したがって関心があります。

ストレージ システムの考え方がボリューム中心ではなくオブジェクト (またはファイル) 中心である場合、(アクセス プロトコルや規模に関係なく) それはオブジェクト ストレージ システムです。

于 2013-06-22T13:51:17.703 に答える
13

File Storage と Object Storage には、非常に根本的な違いがいくつかあります。

ファイル ストレージは、ディレクトリ、サブディレクトリ、およびファイルを含むファイル システム階層として表示されます。ファイルの数がそれほど多くない場合、それは素晴らしく、美しく機能します。また、ファイルの保存場所が正確にわかっている場合にもうまく機能します。

一方、オブジェクトストレージは通常、それ自体を提供します。RESTful API。ファイルシステムの概念はありません。代わりに、アプリケーションはオブジェクト (ファイル + 追加のメタデータ) をオブジェクト ストアに保存します。PUT API とオブジェクト ストレージは、システム内のどこかにオブジェクトを保存します。オブジェクト ストレージ プラットフォームは、アプリケーションがアプリケーション データベースに格納するオブジェクトの一意のキー (バレット チケットに類似) をアプリケーションに提供します。アプリケーションがそのオブジェクトを取得したい場合は、GET API の一部としてキーを指定するだけで、オブジェクトはオブジェクト ストレージによって取得されます。

これが明確になったことを願っています。

于 2013-03-27T01:40:43.783 に答える
4

簡単な答えは、オブジェクト アクセス ストレージ システムまたはサービスは、従来のファイルや NAS とは対照的に、API やその他のオブジェクト アクセス方法を利用してデータを保存、取得、検索するということです。たとえば、ファイルまたは NAS では、NFS (ネットワーク ファイル システム) または CIFS (Windows ファイル共有など) 別名 SMB 別名 SAMBA を使用してストレージにアクセスします。ファイルには、ファイル システムによって決定される関連付けられたメタ データを持つ名前/ハンドルがあります。

メタ データには、作成、アクセス、変更日、その他の日付、アクセス許可、セキュリティ、アプリケーションまたはファイルの種類、またはその他の属性に関する情報が含まれます。ファイルは、ファイル システムごとのファイル数だけでなく、サイズもファイル システムによって制限されます。同様に、ファイル システムは、ファイル システム内のスペース容量とファイル数に関して、合計または集合サイズによって制限されます。

オブジェクト アクセスは、ファイルまたは NAS フロントエンドまたはゲートウェイまたはプラグインが多くのソリューションまたはサービスで利用できるという点で異なりますが、プライマリ アクセスは、オブジェクトが任意のサイズ (オブジェクト システムの最大値まで) である API を介して行われます。可変サイズのメタ データ (オブジェクト システム/サービスの実装によって異なります)。ほとんどのオブジェクト ストレージ システム/サービスでは、数キロバイトのユーザー定義のメタ データまたはギガバイトから任意の場所を指定できます。GBytes のメタデータを何に使用しますか? 通常の情報に加えて、ポリシー、管理、他のコピーが配置されている場所、ビデオ、オーディオのサムネイルまたは小さなプレビューなどのデータを追加するのはどうですか.

オブジェクト アクセス API またはインターフェイスの例としては、アマゾン ウェブ サービス (AWS) の単純なストレージ サービス (S3) や、その他の HTTP および REST ベースのもの、SNIA CDMI などがあります。さまざまなソリューションが、IOS (例: iphone/ipad) アクセス、SOAP、Torrent、WebDav、JSON、XAM、および NFS/CIFS もサポートします。さらに、オブジェクト ストレージ システムやサービスの多くは、特に Python のプログラムによるバインドをサポートしています。API を使用すると、基本的にストリームを開き、API/システムでサポートされている get または put、リスト、およびその他の関数を使用して、それをどのように使用するかを決定できます。

たとえば、データのバックアップ、保存、およびアーカイブに、Rackspace Cloud ファイルと Amazon S3 (EBS と Glacier に加えて) の両方を使用しています。ファイルのバックアップと同期に使用するジャングル ディスク (JD) などのツールまたは Web ブラウザーを介して保存されたオブジェクトにアクセスできます。JD はオブジェクト管理を処理し、Rackspace と Amazon の両方にデータを移動します。気が向いたら、API を使用してプログラミングを行い、セキュリティ資格情報を提供するこれらのサイトのいずれかに直接アクセスして、保存されているオブジェクトを処理することもできます。

これは、昨年オランダで行ったセッションのオブジェクトとクラウド ストレージの入門書へのリンクで、オブジェクトとアクセスの簡単な例がいくつかあります。 http://storageio.com/DownloadItems/Nijkerk_Nov2012/SIO_IndustryTrends_CloudObjectStorage.pdf

プログラムによるバインディングを使用して、プログラムでデータ構造またはオブジェクトを定義し、API または呼び出しを使用して、データの保存、取得、リスト、メタデータ アクセスなどを行います。特定のオブジェクト ストレージ システム、ソフトウェア、またはサービスがある場合、プログラミングの方法を知りたい、または知る必要がある場合は、彼らのサイトにアクセスして、サンプル付きの SDK または API 情報を見つける必要があります。オブジェクトを使用すると、サービスまたは製品/システムで最初のバケットまたはコンテナーを作成したら、追加のオブジェクトを作成して保存するだけです。

AWS S3 API/プログラミングへの例としてのリンクは次のとおりです: http://docs.aws.amazon.com/AmazonS3/latest/API/IntroductionAPI.html

理論的には、オブジェクト ストレージ システムは無制限の数のオブジェクトまたはオブジェクト サイズを持つと言われています。 5GByte 以上のオブジェクト サイズ。実際にテストされ、サポートされているものと、アーキテクチャ上可能なもの、または webex やパワーポイントに実装されているものについて、特定のサービスまたは製品の制限に注意してください。

ここでも、オブジェクトの数、オブジェクトのサイズ、メタデータのサイズ、および API を介して移動できるデータの量に関して、そのサービスと製品/サービス/ソフトウェアに依存しています。ただし、一般に、オブジェクト ストレージは (実装によっては) ファイル システムよりもはるかにスケーラブルである (グローバル ネーム スペース、フェデレーション、ファイル仮想化、またはその他の手法を使用しない場合) と考えるのが安全です。

また、私の著書 Cloud and Virtual Data Storage Networking (CRC Press) という Intel 推奨の読み物にも、クラウドとオブジェクト ストレージに関する詳細情報が記載されています。

近々、関連資料を www.objectstorage.us に追加する予定です。

乾杯

于 2013-02-24T00:18:53.093 に答える
3

この回答では、違いについては何も説明されていません。

File Storage と Object Storage には、非常に根本的な違いがいくつかあります。

ファイル ストレージは、ディレクトリ、サブディレクトリ、およびファイルを含むファイル システム階層として表示されます。ファイルの数がそれほど多くない場合、それは素晴らしく、美しく機能します。また、ファイルの保存場所が正確にわかっている場合にもうまく機能します。

一方、オブジェクトストレージは通常、それ自体を提供します。RESTful API。ファイルシステムの概念はありません。代わりに、アプリケーションはオブジェクト (ファイル + 追加のメタデータ) をオブジェクト ストアに保存します。PUT API とオブジェクト ストレージは、システム内のどこかにオブジェクトを保存します。オブジェクト ストレージ プラットフォームは、アプリケーションがアプリケーション データベースに格納するオブジェクトの一意のキー (バレット チケットに類似) をアプリケーションに提供します。アプリケーションがそのオブジェクトを取得したい場合は、GET API の一部としてキーを指定するだけで、オブジェクトはオブジェクト ストレージによって取得されます。

これで大部分が説明されました。しかし、あなたはメタデータについて議論しました。

オブジェクトストレージには、フォルダーの意味や、人間が簡単に整理できるような組織構造はありません。もちろん、ファイル ストレージには、人間が簡単に整理してシャッフルできるようにするすべてのフォルダがあります。天文学的な規模のファイル数を持つサーバー環境では、フォルダは単なるスペースの無駄です。そして時間。

あなたが言うデータベース?彼らはオブジェクト ストレージ自体について話しているのではなく、http サービス (php、webmail など) のデータベースには、人間が認識できる名前を持つ可能性のあるファイルを参照するための一意の ID があると言っています。

メタデータ、このファイルはどこに保存されていますか? それがメタデータの目的です。1 つのファイルが多数の小さな断片に分割され、地理的な場所、サーバー、およびハード ドライブに分散されます。これらの小さな断片には、より多くのデータも含まれており、他のデータの断片のパリティ情報が含まれているか、完全に重複している可能性さえあります。

メタデータは、さまざまな地理的場所、データ センター、サーバー、およびハード ドライブにあるそのファイルのすべてのデータを特定するために使用されるだけでなく、ハードウェア障害によって破壊された部分を復元するためにも使用されます。これは自動的に行われます。これらのピースを流動的に動かして、より良い広がりを持たせます。なくなった部分を再作成し、新しい良好なハード ドライブに保存することもできます。

これは簡単な説明かもしれません。しかし、理解を深めるのに役立つと思います。ファイル ストレージでもメタデータを使用して同じことができると思います。ただし、ファイル ストレージは人間として整理できるストレージ (フォルダー、階層など) であるのに対し、オブジェクト ストレージには階層もフォルダーもなく、単なるフラット ストレージ コンテナーです。

于 2014-06-21T21:08:11.457 に答える
3

オブジェクト ストレージ = ブロック ストレージ + リッチ メタデータ - ファイル階層

Block Storage はファイルシステムを使用して、コンテンツの保存場所を指定します。Object Storage は識別子を使用して、コンテンツとそのコンテキストを示します。これは、コンテンツアドレス対ロケーションアドレスの読み取りに関する私の理解です

ブロック ストレージにはファイル システムと構造化が必要なため、ファイル システムが大きいほどオーバーヘッドが大きくなります。オブジェクト ストレージには、ファイルに関する多くのコンテキストがあり、ファイル階層は必要ありません。Dell の論文の 7 ページにある説明は、これを明確に示しています..私を悩ませたのは、ハードディスク自体の規模では説明されていないことでした。ハードディスク自体は常にブロックストレージメカニズムを使用していることがわかりました(変更されているようですが)(変更されているようですが)

他のいくつかの洞察はここで見つけることができます

于 2017-02-06T10:49:28.457 に答える
2

実際には、バケット/コンテナーをマウントして、Linux からオブジェクトまたはサブフォルダー (およびそのオブジェクト) にアクセスできます。たとえば、Ubuntu に s3fs をインストールして、S3 バケットの 1 つにマウント ポイントをセットアップし、別のファイル システムであるかのように通常の cp、ls、およびその他の機能を実行できるようにしました。重要なのは、バケット/コンテナをマッピングしてマウント ポイントとして提示できるソフトウェア ツールを入手することです。NAS としてだけでなく、iSCSI 経由で S3 やその他のバケット/コンテナにアクセスできるソフトウェア ツールもあります。

于 2015-04-12T02:34:38.287 に答える
0

このホワイト ペーパーでは、オブジェクト ストレージの概念が非常によく説明されていると思います。ユーザー アプリケーションから (SCSI OSD の意味で) オブジェクト ストレージ デバイスを使用する標準的な方法を知りません。

オブジェクト ストレージは、 Panasasのストレージ アプライアンスのような一部の大規模ストレージ製品で使用されています。ただし、これらのアプライアンスはファイル システムをエンド ユーザーにエクスポートします。T10 OSD のアイデアが勢いを増したことは決してないと言っても過言ではありません。

OSD 標準に関連するアイデアは、S3RADOSなどのクラウド ストレージ システムで見つけることができます。

于 2013-02-19T22:34:44.767 に答える