2011-03-10 4 views
2

(.net) 웹 응용 프로그램의 경우 사용자가 많은 문서 (pdf, .docx 등)를 저장할 수 있어야합니다. 첫 번째 생각은 SQL (Express) 데이터베이스에 BLOB로 모든 문서를 저장하는 것이 었습니다.SQL 또는 파일 시스템에 BLOB로 문서 저장

하지만 데이터베이스가 어떻게 커질까요? 모든 문서를 파일 시스템에 저장하는 것이 더 좋습니까?

개인적으로 나는 여전히 성능 때문에 데이터베이스에 문서를 저장하는 것이 더 좋습니다. 그러나 나는 당신이 생각하는 것이 확실하지 않고 호기심이 많습니다.

편집 - 내 결론 : 파일 크기가 1Mb보다 작고 파일이 거의 편집되지 않으면 성능 때문에 SQL 서버에 파일을 저장해야합니다. 파일을 많이 편집하거나 1Mb보다 크면 파일을 파일 시스템에 저장해야합니다. 많은 감사와 함께 a_horse_with_no_name;)

답변

3

데이터베이스의 BLOB가 기본 파일 시스템보다 느리거나 빠르 든간에 BLOB의 크기에 따라 다릅니다.

Microsoft에서이 문서에 대한 흥미로운 일이 될 수 있습니다

http://research.microsoft.com/apps/pubs/default.aspx?id=64525

+0

매우 유용한 자료입니다. 링크 해줘서 고마워. –

0

나는 과거와 특히 SQL Express를 데이터베이스로 사용하여 파일 시스템에 저장하는 것에 대해 더 많이 생각하고 싶을 것입니다. SQL Express의 최대 데이터베이스 크기는 4GB입니다. 문서의 수와 크기에 따라 문제가 될 수 있습니다.

사용자가 데이터베이스에 문서를 업로드하고 첨부 할 수있게 한 후 일부 데이터베이스가 매우 빠르게 증가하는 것을 보았습니다. 사용자는 사진의 크기를 확인하거나 파일이 이미 시스템에 없는지 다시 확인하지 않고 추가하기 만하면 크기가 계획되어야합니다.

0

데이터베이스가 빠르게 커집니다. 파일 시스템은 파일을 관리하도록 설계되었으므로 파일 시스템을 사용하여 파일 저장 및 검색 작업을 수행하고 데이터베이스를 사용하여 데이터를 검색하고 저장할 수 있습니다.

0

그것은 우리 many documents (pdf, .docx etc.) 여기에 키 것처럼 보인다. 많은 사람들이 데이터가 매우 빠르게 커질 것이라고 생각할 수 있습니다. 기술적으로 두 가지 접근 방법을 모두 사용할 수 있습니다. 데이터베이스 백엔드를 스토리지에 사용하고 데이터베이스 백엔드를 SQL 익스프레스로 사용하는 경우 걱정할 데이터베이스의 크기 제한이 있음을 고려해야합니다. 그래서 이것을 피하려면 SQL Server Professional 또는 Enterprise를 사용해야합니다. 또한 데이터베이스를 사용해야하는 경우 기본 데이터베이스가 아닌 별도의 데이터베이스를 사용하십시오. 내 추천은 다음과 같습니다
1. 파일 시스템 파일에 대한 데이터베이스에만 저장 링크
2. 3. 백업 파일 시스템에 파일을 정기적으로뿐만 아니라 데이터베이스 4. 디렉토리 당신을 확보 파일을 무단으로 읽거나 다운로드하지 못하도록 파일을 저장하십시오.

데이터베이스를 사용하는 경우 데이터베이스를 백업 할 때 모든 것이 백업되므로 데이터를 쉽게 마이그레이션 할 수 있지만 저장의 이점은 있습니다 귀하의 요구 사항이 그러한 장점보다 중요하다는 점을 감안할 때 파일 시스템에

관련 문제