2010-04-29 6 views
1

이 문서와 관련된 많은 수의 문서와 메타 데이터 (XML 파일)가 있습니다. 그들을 구성하는 가장 좋은 방법은 무엇입니까? 우리는 우리의 시스템에서 문서에 대한 고유 식별자로 경로를 사용많은 수의 개체를 구성하는 방법

/repository/category/date(when they were loaded into our db)/document_number.pdf and .xml 

:

현재 우리는 디렉토리 계층 구조를 만들었습니다. 평면 구조를 갖는 것이 좋은 옵션이 아닙니다. 또한 경로를 ID로 사용하면 데이터가 데이터베이스/응용 프로그램 논리와 독립적으로 유지되므로 실패 할 경우 쉽게 다시로드 할 수 있으며 모든 문서는 이전 ID를 유지합니다. 그러나 몇 가지 제한 사항이 있습니다. 예를 들어 파일을이 구조에 배치 한 후에는 파일을 이동할 수 없으며 이런 방식으로 파일을 가져 오는 작업도 필요합니다. 모범 사례는 무엇입니까? Scribd와 같은 웹 사이트가이 문제를 어떻게 처리합니까?

답변

0

당신의 접근 방식이 불합리하지는 않지만, 하루에 몇 천 개가 넘는 문서를 추가하면 문제가 발생할 수 있습니다 (파일 시스템은 디렉토리의 매우 많은 파일에 잘 대처하지 못하는 경향이 있습니다).

.pdf 옆에있는 .xml 문서를 저장하는 것이 약간 이상하게 보입니다. 문서에 대한 메타 데이터 인 경우 쉽게 쿼리하고 색인 할 수있는 데이터베이스에 있지 않아야합니다. 기타?

매우 많은 수의 파일을 저장할 때 일반적으로 파일의 키 (예 : URL)를 가져 와서 해시 한 다음 해시의 첫 문자를 기반으로 디렉토리에 X 레벨을 저장합니다.

'How to organize a large number of objects'키로 시작했다고 가정 해보십시오. 그에 대한 MD5 해시는 ... 당신이 그것을 저장할 수 있도록 0a74d5fb3da8648126ec106623761ac5입니다

BASE_DIR/0/A/7/4/HTTP ___ 구성-A-큰 수-의 것은-객체 stackoverflow.com_questions_2734454_how - 투 -

... 또는 시작한 키를 사용하여 쉽게 다시 찾을 수있는 것입니다.

이런 종류의 접근법은 디렉토리가 너무 커지지 않고 매우 큰 수의 문서 (심지어는 하루에도)에 맞게 확장 될 수 있다는 점에서 하나의 장점을 가지고 있지만 다른 한편으로는 직관적이지 않습니다 특정 파일을 수동으로 찾아야하는 사람에게

+0

감사합니다. Matt. 우리가 현재 하루에 많은 수의 문서를 처리하는 방식은 하위 폴더로 분할하는 것입니다. 1/2/3/... 이것이 더 나은 방법이 있어야한다고 생각하게하는 또 다른 이유입니다 ... – shane

관련 문제