2012-02-02 8 views
1

그래서이 사이트는 asp.net에 있습니다.이 사이트는 중요한 파일을 서버에 업로드하고 저장할 수 있습니다. 사용자의 요청에 따라 (사용자가 자신의 파일과 그의 파일 중 하나를 클릭)을 클라이언트 컴퓨터에 다운로드 할 수 있습니다.
또한 저장할 수있는 파일의 크기가 25MB 미만입니다 (적어도 현재는!). 파일은 .txt, .rtf, .pdf, .doc, .docx 등 모든 형식으로 제한됩니다. , .jpg, .png 등.
그래서 최고의 성능을 고려하여 파일을 어디에 저장해야합니까? (SQL Server 2008을 사용하여 Visual Studio 2008 sp1을 사용하여) SQL Server에 파일을 저장해야합니까? 열 (가능한 BLOB 형식으로?) 또는 서버의 HDD에 저장해야합니까?
또한 최대 크기를 고려하면 10 명의 사용자가 20MB의 파일을 업로드하더라도 200Mb의 용량을 차지합니다. 누군가가 말할 수 있다면,이 파일이 데이터베이스에 저장 되었다면 데이터베이스의 크기가 얼마나 증가할까요?
파일 시스템의 스토리지와 관련하여 데이터베이스의 공간 요구량이 얼마나 증가 할 것인가는 성능면에서 더 좋을까요?SQL에 파일 저장하기 웹 서버의 HDD에 저장하기

+0

저는 개인적으로 파일 시스템에 파일을 저장하고 싶습니다. –

답변

2

이 Microsoft 논문 참조 : To Blob or not

이럴 - 장점과 단점이 많은이 두 가지 방법에있다 - DB에 파일을 저장하고 FS 거기에 SQL 서버 2008

하지만 그들을 저장하기 DBS의 일부로 FileSYstem에 파일을 저장하는 다른 옵션입니다. FILESTREAM overview

0

개인적으로 필자는 개인적으로 이와 같은 파일 데이터에 디스크 저장소를 사용합니다. 데이터베이스는 궁극적으로 추가 비용 및 추상화 계층을 통해 파일 데이터를 디스크에 저장합니다. 추상화는 변함없는 확장과 성능 장벽을 추가합니다. 예를 들어, 로컬 HDD의 파일에서 데이터베이스가 아닌 CDN의 파일로 쉽게 전환 할 수 있으며 데이터베이스 크기를 확장하지 않고도 필요할 때 더 많은 디스크 공간을 더 쉽게 추가 할 수 있습니다.

이전에 설명했던 것과 유사한 시스템을 구축 했으므로 저장소 파일의 추상화에 대해 생각해 볼 가치가 있습니다. 스왑 아웃 또는 업데이트 할 수 있습니다.

+0

동의. 그러나 추가 레이어는 일관된 백업 정책 또는 복제와 같은 동일한 추가 기능을 제공 할 수 있습니다. – mikus

+1

디스크 기반 백업이 비용면에서 효과적 일 수는 있지만 사실입니다. –

+0

하지만 별도로 설정해야합니다 .-) 사람들은 이런 종류의 것을 잊을 것입니다. D – mikus

0

올렉이 제공 한 msdn 문서와 db를 사용하는 작은 파일 (~ 0.25MB 이하)에 사용할 수있는 다른 벤치 마크/의견은 상당히 빠를 수 있지만 극단적 인 근거가있는 용도로만 사용할 수 있습니다. 대부분의 경우 HDD에 파일을 저장하는 것이 더 적합하고 유연하며 자연 스럽다고 말합니다.

그러나 성능 분석을 제한해서는 안됩니다.

  • 보안
  • 백업
  • 확장 성

추가 데이터 소스를 사용하는 경우 보통 기타의주의가 필요합니다 (예 : 복제.) : 같은 계정 다른 측면으로 가라.

관련 문제