2010-07-21 6 views
1

사용자가 이미지와 같은 콘텐츠를 업로드 할 수있게 해주는 웹 사이트에서 본 패턴입니다.왜 해시를 기반으로 자동 생성 된 파일을 정렬합니까?

예를 들어 http://upload.wikimedia.org/wikipedia/commons/Example.png 대신에 http://upload.wikimedia.org/wikipedia/commons/7/70/Example.png을 사용해야하는 이유는 무엇입니까?

실용적인 이유가 있습니까? 아니면 카고 컬트입니까?

답변

3

동일한 디렉토리에 수십만 개의 파일이있는 경우 많은 파일 시스템이 제대로 작동하지 않으므로 파일을 찾기 위해 시간이 오래 걸립니다.

이 문제를 방지하려면 파일이 폴더 계층 구조로 배포됩니다. 균등 한 배포를 얻으려면 파일 이름이나 내용 (파일을 식별하는 것)을 해시하고 해당 해시 부분을 사용하여 파일을 저장할 폴더를 결정하십시오. 7/70의 출처는 다음과 같습니다. 해시의 접두사를 두 단계로 나누어서 두 단계의 계층을 만듭니다. 따라서 파일은 256 개의 서로 다른 폴더에 분산되어 있으므로 각 폴더에 파일 수가 훨씬 적어 파일 시스템 성능이 향상됩니다. 두 가지 분명한 이유가 있습니다

0

:

  • 는 하나의 디렉토리에로드 너무 많은 파일을 방지하려면
  • 그것은 쉽게 원본 파일
이름을 변경하지 않고, 파일 이름의 충돌을 방지 할 수 있습니다
관련 문제