database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 7309 게시물 읽기
No. 7309
이런 용도로 사용하기 적합 할까요?
작성자
최명진(choipd)
작성일
2008-01-17 16:35
조회수
5,833

이미지 디비를 구축하려고 합니다.

장당 20~30메가의 고용량 사진들을 기사화 함께 색인을 만들어 분류저장하려고 합니다.

사진의 양이 총 1테라바이트(1,000 기가바이트) 정도 됩니다.

 

이미지 데이터는 썸네일, 중간크기, 원본크기 세가지 형태로 자동저장이 되고,

모든 이미지에는 워터마크가 합성되어 보여져야 한다고 합니다.

 

이런 기능을 위해서 Postgresql를 사용하려고 하는데, 초보인 관계로 고려하지 못한 것이 있을지 궁금합니다.

 

경험이 많은 선배님들의 조언을 구합니다.

 

감사합니다.

 

 

이 글에 대한 댓글이 총 5건 있습니다.

안녕하세요,


이미지 자체 (바이너리)를 데이터베이스에 저장하신다는 말씀이신가요? 만약 그런 경우라면 바이너리 자체를 데이터베이스에 BLOB형태로 저장하는 것은 별로 권하고 싶지 않습니다.


일반적인 이미지 아카이브 구축이라면 이미지를 인덱싱하는 과정에서 생성되거나 필요한 메타데이터만 데이터베이스에 저장하고 파일(바이너리)은 별도 스토리지에 저장하는 방식을 권합니다.


데이터베이스를 활용하느냐 마느냐는 전적으로 애플리케이션이 어떠한 유형이냐에 따라 달려있다고 봅니다. 데이터베이스의 기능들이 구현하고자하는 '이미지 디비'에 적당한지 판단하시는 것이 우선이겠죠.


응용형태나 성격을 자세히 기술해주시면 다른 분들이 조언드리기가 더 쉬울거라 생각합니다.

김영우님이 2008-01-17 19:45에 작성한 댓글입니다. Edit

말씀하신 것만 보고 얘기하자면...

김영우님과 같은 생각입니다..


파일은 스토리지에 넣고 썸네일들도, 워터마크가 합성된 버전도 미리 만들어서 스토리지에 넣는게 나을것 같습니다.

혹여나 [웹]서버들끼리의 파일 공유를 위해서라면 SAN, NAS 뭐 이런 솔루션을 도입하는 것이 앞으로도 좋습니다. 아니면 PVFS2 같은 오픈소스 솔루션도 있고요.


PostgreSQL 뿐 아니라 어떤 DBMS를 사용하시더라도 이렇게 하실것을 추천합니다;;

신기배(소타)님이 2008-01-18 03:19에 작성한 댓글입니다.

감사드립니다.

디비에 바이너리로 저장하는 것에 대해서는 그다지 환영하지 못하는 것 같습니다.

 

파일 시스템에 담아둘 경우에 보안면에서 약간(아주 약간) 더 위험할 것 같습니다. 데이터베이스 전문가가 되어서 디비까지 모두 백업해갈 수도 있겠지만 그래도 파일시스템에 노출되어 있는 것 보다는 안전하지 않을까요?

 

아울러 본 시스템의 목적이 B2B용의 데이터 서비스인 관계로, 일반 유저들의 트래픽이 많이 발생하지는 않습니다.

 

혹시 바이너리를 디비에 대용량으로 넣어본 사례를 공유해주신 다면 큰 도움이 될 것이라 생각합니다.

 

감사합니다.

 

 

최명진(choipd)님이 2008-01-18 16:47에 작성한 댓글입니다.

음.. 네트웍에 물릴 큰 스토리지를 만들때는요 DB의 개념을 포함하는 여러가지가 들어가곤 하거든요..

B2B라 하시니.. 예를 들어 파일 하나를 2~3카피를 보존한다고 하면 파일 하나가 들어가면 파일의 용량에 따라 쪼갭니다(chunk). 그걸 복제해서 각각 다른 디스크(또는 장비)로 보내고 그에 관련된 메타 정보를 DB에 기록합니다. 보통 이렇게 하는 이유는 데이터 유실도 막고 실제로 데이터 전송이 일어날 때 IO문제도 있고 해서 이렇게 합니다.

기술력과 사람이 충분한 회사는 이 과정 자체를 파일시스템처럼 만들어서(구글) 사용하기도 하고요.

이 chunk 사이즈를 조정하거나 저장 시 암호화 해서 데이터의 보안을 꾀할 수 있습니다..


꼭 DBMS에서 하시겠다면 PostgreSQL과 관련된 아래의 문서를 보세요~

http://www.postgresql.org/docs/8.2/static/largeobjects.html

http://www.postgresql.org/docs/8.2/static/datatype-binary.html

신기배(소타)님이 2008-01-20 05:02에 작성한 댓글입니다.

자체 파일 시스템을 만들어서 쓸 정도군요. 대단합니다.

새로운 사실을 알게 해주셔서 감사합니다.

여러분의 의견을 종합해 볼 때, 바이너리 데이터필드에 많은 데이터를 담는 것이 효율적이지 못한 것 같습니다. largeobject쪽으로 구현을 해봐야 할 것 같습니다.

 

조언해주신 모든 분들께 감사드립니다. 꾸벅

 

-- 최명진

최명진(choipd)님이 2008-01-23 15:28에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7312DB복구문제? [2]
초보
2008-01-18
5753
7311PostgreSQL 에들어있는 내용을
대로
2008-01-18
5442
7310[질문] postgres 계정에서만 서버가 실행되는 문제.. [2]
나그네
2008-01-18
5761
7309이런 용도로 사용하기 적합 할까요? [5]
최명진
2008-01-17
5833
7308Array data type 바인딩 [4]
최명진
2008-01-16
5668
7307사용자 생성중 [2]
초짜군
2008-01-16
6412
7306./configure 시 문제가 생깁니다.(다시) [2]
도움좀
2008-01-15
6261
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다