2013-10-23 2 views
8

我々は以前のディレクトリ構造のこの種を踏襲している可能性のある画像の何百万人をサポートするために:Amazon S3/Cloudfrontに何百万ものイメージを格納するディレクトリ構造ロジックが必要ですか?

/profile/avatars/44/f2/47/48px/44f247d4e3f646c66d4d0337c6d415eb.jpg

ファイル名はMD5ハッシュ化され、文字列の最初の6文字を抽出し、それからフォルダ構造を構築します。

したがって、上記の例では、ファイル名:私たちは常に、任意の単一のディレクトリ内の写真の数を最小限にするために、これをしなかった

/44/f2/47/ 

44f247d4e3f646c66d4d0337c6d415eb.jpg

は、のディレクトリ構造を作成します最終的にファイルシステムのパフォーマンスを支援します。

しかし、私たちの新しいアプリでは、私の理解では、あなたがAmazon S3の上で作成したフォルダは実際にちょうど参照であり、ファイルシステム上のディレクトリではないということであるCloudFrontは

でアマゾンS3を使用しています。

これが正しい場合は、上記のフォルダ/ディレクトリまたは同様の方法に分割することをお勧めしますか?それとも、単に私たちのアプリケーションコードで、この複雑さを取り除き、そのような画像へのリンクを提供することができます

/profile/avatars/48px/filename.jpg 

は、このアプリは、写真の何百万人の10年代にサービスを提供することを目的としていることを念頭に置いてむき出しに。

ご指摘いただければ幸いです。

答えて

9

がないことのほかにキーの名前を書くのは基本的にもう一つの方法です(@EJBrennanはすでに彼の答えで言いました)。の "フォルダ"の命名構造について考える理由です。

あなたの現在の写真数とアクセスパターンによっては、写真の操作が複数のパーティションに分散されていることを確認して、S3キー名の検索を高速化する方法について考えるのは理にかなっています。すべての詳細を説明するgreat article on the AWS blogがあります。

+1

真剣に助けて歓声 – gordyr

+1

徹底的にその記事を読んだ後、それに掲載されたアドバイスがE.J。ブレナンはそれ自身に答える。したがって、私はあなた自身に答えを再度授与しました。うまくいけば彼は気にしない:)再びありがとう! – gordyr

+0

これは印象的なことです。ありがとうございました。ところで、彼らは記事を[個別のドキュメントページに移動して更新しました](http://docs.aws.amazon。com/AmazonS3/latest/dev/request-rate-perf-considerations.html) –

3

自分の便宜のために行っていない限り、s3でその構造を設定する必要はありません。 s3で作成したすべてのフォルダは本当に錯覚です。ファイルは1つの大きな連続したコンテナに格納されるため、疑似フォルダ階層でファイルを整理する必要がない場合は、気にしない。あなたに基づいて

あなたは人々の異なるグループへのアクセスを制御するために必要な場合は、構造を維持する理由であるかもしれないカルコゲノフルバレン骨格を、フォルダ、おそらくS3フォルダが、利益/

+0

パーフェクト、私はそれが事実だったと思っていた...多くの感謝 – gordyr

関連する問題