본문 바로가기

Server Oriented/DB-Oracle

[방법론] DB 에 LongRaw 나 Blob 으로 들어 있는 이미지를 어플리케이션 서버에 생성


어플리케이션 서버가 중간에 없는 2 Tier 방식의 CS 시스템은,

Client 가 Server 에 붙어서 바로 작업을 하고 이때 서버는 DB 서버가 되기 쉽습니다.

Client 프로그램이 수정되면 DB 서버에서 수정된 프로그램 모듈을 다운로드 받고,

데이타도 DB 서버에서 제공받는 식입니다.

이런 방식이 다른 건 다 좋은데, 두가지 어려운 점이 있습니다.

하나는, 원격지에서 접속을 하는 것.. (대신 보안성은 웹 방식 보다 높지요)

하나는, 이미지 등의 대용량 정보를 다루는 것입니다.

이미지 등의 대용량 파일은 그래서 오라클의 경우 LongRaw 를 사용합니다.

최근에는 Blob 과 Clob 도 사용하지만, LongRaw 보다 다루기 쉽지 않다는 점이 문제가 되겠지요.

 

어플리케이션 서버가 중간에 있는 3 Tier 방식의 Web 시스템은,

2 Tier 방식의 CS 시스템의 상기와 같은 2가지 문제점을 한방에 해소할 수 있습니다.

그런데, 문제는.. 두가지 시스템이 혼용되어 있고 대용량 데이타가 DB 서버에 들어 있는 경우입니다.

 

사진을 예로 들다면..

관리자 개인의 PC(클라이언트)에만 담아 두면 다른 사람은 이를 사용할 수 없기 때문에,

DB 에 사진 정보를 담아 두는데.. 이를 조회할 때, DB 의 Hit Rate 를 떨어뜨리는 원인으로 작용합니다.

SGA 의 저장 공간을 상당히 많이 차지하기 때문에,
이런 대용량 정보 몇개만 차지하면 꽉 차 버려서 재사용성을 떨어뜨리는 거죠.

사진 뿐만 아니라 첨부파일 등의 대용량 데이타가 DB 서버에 부하를 주게 마련이지요.

이런 부하를 어플리케이션 서버에 분산하는 것이 작업의 포인트 입니다.


해당 파일이 어플리케이션 서버에 생성되어 있지 않다면.. DB 에서 호출해 와서 생성을 하고,
파일이 수정되면 어플리케이션 서버에서도 수정이 되도록 하는 것이 주안점이지요.