2012-07-15 2 views
3

나는 Paperclip gem으로 Rails 3 앱을 가지고 있습니다. 사실, 내 로컬 디렉토리 구조는 스톡 이미지 내 기록 UUID를 기반으로 :Amazon S3로 마이그레이션 - 계층 적 디렉토리를 유지 하시겠습니까?

5D5E5641-FCE8-4D0B-A413-A9F993CD0E34 

가된다 :

5/D/5/E/5/6/....... 3/4/full/image.jpg 
5/D/5/E/5/6/....... 3/4/thumb/image.jpg 

그래서를, 나는 디렉토리 개 이상의 32000 개 노드가 없습니다.

S3로 마이그레이션하고 싶습니다. 1) S3에서이 디렉토리 구조를 유지할 수 있습니까? 그것은 perf 문제가 될 수 있을까요? 2) Amazon S3에는 버킷 당 자체 디렉토리 관리가 있습니까?

감사합니다.

답변

0

Amazon S3에 폴더와 같은 물건이 없습니다. 그것은 "평면"파일 시스템입니다. 폴더에 가까이 갈수록 파일 이름에 5/D/image.jpg라고 말한 것과 같은 접두어가 추가됩니다. 이 경우 5은 접두어이며 5/D도 접두사입니다. 반면에 구분 기호는 / 일 수 있습니다.

비록 몇 개의 S3 도구가 마치 폴더 안에 들어있는 것처럼 보이지만이 개념은 S3에는 존재하지 않습니다. thisthis 관련 스레드를 참조하십시오.

당신이 제안한 패턴을 확실히 사용할 수 있습니다. 그렇게하지 않으면 성능 저하가 발생할 것으로 생각하지 않습니다.

+0

감사합니다. Viccari! –

+0

계층 적 구조를 사용하면 퍼포먼스가 증가 할 것이지만, 유닉스 기반 파일 시스템이 있기 때문에 누군가가 나에게 말했다. 따라서 파일 이름에 슬래시를 사용하면 S3는 실제로 해당 경로가있는 디렉토리에 저장합니다. 그렇게하면 너무 많은 파일이있는 디렉토리를 피할 수 있습니다. 그게 사실이야? –

+2

@OtavioMacedo 나는 그렇게 생각하지 않는다. 해당 문서에는 이러한 종류의 정보에 대한 참조가 없습니다. 또한 http://stackoverflow.com/questions/394198/max-files-per-directory-in-s3을 살펴보십시오. – Viccari

관련 문제