2013-02-08 4 views

답변

3

에게 엄지 손가락의 규칙을 의미한다

+0

더 많은 추가 논문 http://research.microsoft.com/apps/pubs/default.aspx?id=64525 – Dave

0

사용 BLOB 데이터 유형은 데이터베이스에 이미지를 저장하지 않아야합니다. 얼룩은 사용할 수 있지만 꽤 엉터리입니다.

바이너리 파일을 데이터베이스보다 몇 배 빠른 파일 시스템에 저장하면 데이터베이스에 경로 또는 링크 또는 파일 이름 만 저장되고 응용 프로그램에 경로에서 이미지가로드됩니다.

이렇게하면 정적 파일에 대해 cdn 또는 san 저장소 등의 항목을 쉽게 구현할 수 있습니다. 심지어는 lighttpd와 같은 것을 사용하여 아파치가 아닌 정적 컨텐츠 이미지를 표시 할 수도 있습니다.

https://blogs.oracle.com/manveen/entry/blob_vs_file_system_storage

좀 더 정보를 제공하지만, 통계 및 데이터의 많은 모양

의 단점에 대한 웹에있다
0

BLOB의 파일 스토리지에 비해 속도가 느려질 수 있지만, 복사, 백업 및 복원하는 것이 훨씬 쉽게 할 수있다 단일 데이터베이스 파일은 파일 구조의 이미지를 관리/유지 관리하는 것보다 훨씬 효율적입니다.

고유 한 데이터베이스에 이미지를 저장하는 것이 좋습니다 (별도의 데이터베이스에 속성/태그 정보 저장).

+0

나는 파일을 다운로드하기가 훨씬 더 복잡하지 않다. 사실, 나를 위해 그것은 더 쉬운 것처럼 보인다. –

+0

아니요. tar -cf/imagefolder/imagebackup.tar 어쨌든 자동 백업을위한 cron으로 설정합니다. 또한 mysqldump를 수행하는 db 서버에 부하를주지 않으면 서 이중성을 사용하는 s3과 같은 것으로 백업하는 것이 훨씬 쉽습니다. db 서버의 성능 저하의 부족으로 데이터베이스 크기가 이미지 저장소에서 커짐에 따라 – Dave

0

이미지를 데이터베이스에 저장하는 것은 매우 나쁜 생각입니다. 데이터베이스는 이미지 나 파일이 아닌 작은 정보를 저장하도록 결정됩니다. 당신은 그 목적으로 HDD를 가지고 있습니다.
대신 이미지를 디스크에 저장하고 파일 이름을 데이터베이스에 저장해야합니다. 이와 같이 :

$name = uniqid(); 
file_put_contents($name.".png",$image_data); 
mysql_query("INSERT INTO `images` (image) VALUES ('$name.png')") or die(mysql_error()); 

DB에 이미지를 저장하려고한다면 BLOB을 사용하십시오.

0

단순한 & 최적화 된 옵션은 서버에 이미지를 업로드하고 "url of the image"문자열을 데이터베이스에 저장하는 것입니다.

Incase에서는 실제 이미지 파일 만 저장 한 다음 Blob 데이터 유형을 사용하려고합니다.

관련 문제