オブジェクトストレージとは何ですか?

2012年末までに、1.3兆個のオブジェクトが、世界最大で最も広く知られているオブジェクトストレージシステムであるAmazonS3に保存されました。当時、その数は1日あたり10億個のオブジェクトよりも急速に増加していたため、2兆個のマークがすぐそこにあります。

オブジェクトストレージは非常にシンプルであるため、従来のファイルシステムストレージよりもはるかにスケーラブルです。オブジェクトストレージシステムは、ファイルをディレクトリ階層に整理する代わりに、ファイルをコンテナのフラットな整理(Amazon S3では「バケット」と呼ばれる)に保存し、一意のID(S3では「キー」と呼ばれる)を使用してファイルを取得します。結果として、オブジェクトストレージシステムは、ファイルを保存してアクセスするために必要なメタデータがファイルシステムよりも少なく、メタデータをオブジェクトと一緒に保存することで、ファイルメタデータを管理するオーバーヘッドを削減します。これは、ノードを追加することで、オブジェクトストレージをほぼ無限にスケールアウトできることを意味します。

信頼性は、複数のサーバーと場所にオブジェクトを複製することにより、通常のハードウェアとディスクドライブで実現されます。 OpenStack Swiftなどを使用して独自のソリューションをセットアップする場合は、ニーズに合わせてストレージゾーンとレプリカの数を構成できます。 (OpenStackは、本番システムに少なくとも5つのノードを推奨します。)Amazonは、標準のAmazon S3に対して9つの9の「耐久性」を約束します。これは、1,000億分の1のファイルの損失に相当します。データ保護のニーズがそれほど極端でない場合は、冗長性の低いストレージオプション(耐久性の2つの9)を使用して数ペニーを節約できます。

通常、オブジェクトストレージシステムで利用できる機能は最小限です。ファイルを保存、取得、コピー、削除したり、どのユーザーがどのユーザーに実行できるかを制御したりできます。それだけです。他のアプリケーションが利用できるオブジェクトメタデータの検索または中央リポジトリが必要な場合は、通常、自分で実装する必要があります。 Amazon S3およびその他のオブジェクトストレージシステムは、プログラマーがコンテナーとオブジェクトを操作できるようにするRESTAPIを提供します。 SoftLayerは、オブジェクトストレージの検索をユーザーに提供する珍しいパブリッククラウドです。

最後に、オブジェクトストレージシステムへのHTTPインターフェイスにより、世界中のどこからでもユーザーがファイルにすばやく簡単にアクセスできます。 (たとえば、Amazon S3のすべてのファイルには、Amazonの場所、バケットの名前、ファイルの名前に基づいた一意のURLがあります://s3-us-west-1.amazonaws.com/objectstorage1/object_storage。 rtf。)もちろん、NASからファイルにアクセスするよりも長く待つことになりますが、その利便性に勝るものはありません。

従来のファイルシステムと比較してスループットが大幅に遅いことに加えて、オブジェクトストレージのもう1つの大きな欠点は、データの整合性が最終的にしか達成されないことです。ファイルを更新するときはいつでも、要求が最新バージョンを返す前に、変更がすべてのレプリカに伝播されるまで待たなければならない場合があります。これにより、オブジェクトストレージは頻繁に変更されるデータには不適切になります。ただし、バックアップ、アーカイブ、ビデオおよびオーディオファイル、仮想マシンイメージなど、あまり変更されないすべてのデータに最適です。