2010-03-03 4 views
4

데이터베이스에 이미지를 이진 대형 오브젝트로 저장할 수 있다는 것을 알고 있습니다. 하지만 일부 포럼 웹 응용 프로그램에서는 웹 서버 시스템에 플랫 파일로 저장되어 필요할 때 검색된다는 것을 보았습니다.DB 구조와 폴더 구조로 이미지 저장하기

두 방법 모두 장점과 단점은 무엇입니까?

언제 접근 할 것인가?

+0

이 문제에 대해 많은 논의가 있습니다 ... – Lucas

답변

6

평상시와 같이 다릅니다. 이미지의 사용 패턴과 DBMS가 제공하는 기능을 고려해야합니다. 데이터베이스에

저장 이미지 :

  • 이미지가 데이터베이스에서 엔티티 (예를 들어, 사용자)와 연관 될 경우, 데이터베이스가 있음을 유지 돌볼 수 관계. 반면에 이미지가 데이터베이스의 어떤 것과도 연결되어 있지 않으면 아마 데이터베이스에 이미지를 저장하고 싶지 않을 것입니다.
  • 데이터베이스가 지원하는 경우 트랜잭션 내에서 파일을 처리 할 수 ​​있습니다 (MS SQL 2008이이를 지원하며 다른 서버가 지원하는지는 알 수 없습니다).
  • 각 이미지의 여러 버전을 저장해야하는 경우 (시간이 지남에 따라 변경되기 때문에) 파일 시스템보다 데이터베이스에서 수행하는 것이 더 쉬울 것입니다.

CONS

  • 당신은 데이터베이스에 부담을 많이 넣어됩니다.
  • 데이터베이스를 백업하는 데 시간이 오래 걸릴 수 있습니다. 디스크에

저장 이미지 :

  • 만들기 백업은 파일 브라우저, 데이터베이스 클라이언트
에 대한 필요성을 요구
  • 이미지 등을 검사 사소한

    CONS

    • 이미지 컬렉션에 대한 데이터베이스의보기와 디스크의 실제 내용을 동기화 상태로 유지하는 것은 이미지에서 수행 할 작업에 따라 중요하지 않을 수 있습니다.

    물론 많은 수의 이미지를 저장하는 경우 이러한 모든 문제가 특히 유효합니다.

  • 0

    플랫 파일은 웹에서 이미지를 표현하는 데 더 적합합니다. 즉, 서버에 미치는 영향이 훨씬 적습니다. OTOH 그들은 거래를 지원하지 않습니다 (실제로 이질적인 거래로 거래를 할 수도 있습니다). 귀하의 데이터가 더 이상 한 곳에 있지 않습니다.