2010-12-28 8 views
6

이 가능한 중복 :
Storing Images in DB - Yea or Nay?저장 이미지는

가 더 빠르고 신뢰할 수있는 파일 시스템에 이미지를 저장하는 것입니다 또는 나는 데이터베이스에 저장한다 ?

이미지의 크기가 200MB를 초과하지 않는다고 가정 해 보겠습니다. 목표는 빠르고 안정적인 액세스입니다.

일반적으로 파일 시스템이나 데이터베이스에 파일 (예 : 이미지, PDF)을 저장하는 방법을 결정하는 방법은 무엇입니까?

+1

"Crashalot"이라는 별명을 가진 프로그래머를 좋아합니다. :-) –

답변

13

개인 의견 : 나는 항상 파일 시스템에 이미지를 저장하고 데이터베이스에 파일 경로 만 저장합니다. 많은 경우 데이터베이스는 빠른 (읽기 : 비싼 스토리지, 15k RPM 또는 SSD 드라이브) 스토리지에 저장됩니다. 이미지 또는 다른 파일은 일반적으로 느린 (읽기 : 저렴한 드라이브, 7.2k RPM 드라이브) 저장 장치에 저장할 수 있습니다.

데이터베이스 크기를 작게 유지할 수 있으므로이 방법이 가장 좋습니다. 일반적으로 데이터베이스는 "데이터"를 잘 저장합니다. 그들은 적은 양의 데이터를 빠르게 검색하고 검색 할 수 있습니다. 파일 시스템은 "파일"을 잘 저장하므로 더 큰 비트의 데이터를 빨리 찾아서 검색 할 수 있도록 최적화되어 있습니다.

분명히 두 가지 접근 방식 모두 절충점이 있으며, 모두 한 가지 크기가 될 수는 없습니다. 그러나 데이터베이스에 이미지를 저장하는 것이 좋을 수도 있습니다. 아주 작고 많은 이미지를 예상하지 않으며 데이터베이스가 파일 공유와 동일한 저장 매체에있는 경우가 있습니다 , 아마도 이미지를 데이터베이스에 직접 드롭하는 것이 좋습니다.

참고로 SQL Server 2008R2에는 FileStream 필드 유형이 있습니다.이 유형은 두 가지 모두에서 가장 좋은 기능을 제공 할 수 있지만 아직 사용하지 않았으므로 작동 방법을 잘 알 수 없습니다.

+0

잘 쓰여지고 일부 데이터베이스에는 데이터베이스 외부 데이터에 액세스하기위한 조항이 있음을 지적합니다. –

1

데이터베이스 접근 방식을 사용하면 연결할 대상이 하나뿐입니다. 사용자가 분산되어 있다면 더 간단 할 수 있습니다. 이미지에 너무 자주 액세스하지 않으면 효율성 문제가 중요하지 않을 수 있습니다.

4

저장 파일/다음 필요한 경우 데이터베이스에서 이미지 :

  • 액세스 제어
  • 버전
  • 체크인/체크 아웃
  • 이 메타 데이터가

을에 기반 검색 SharePoint와 같은 주요 CMS의 디자인되었습니다.

그러나 콘텐츠가 훨씬 정적이고 시간이 지남에 따라 변경되지 않으면 ystem 파일로 이동하여 웹 서버에서 최적화/캐시를 사용할 수 있습니다.

0

우선 데이터베이스의 파일 크기가 8 메가 바이트 이상이므로 파일을 저장할 수 없다는 것을 알아야합니다. 따라서 시스템에 파일을 저장하는 것이 더 좋습니다. 데이터베이스의 이미지는 작은 것이 좋습니다.

+2

이것은 데이터베이스에 따라 다릅니다. SQL Server는 최대 2GB (또는 "단지"1GB?)를 저장할 수 있습니다. –

+0

나는 몰라 생각한다. –

관련 문제