간단한 미들웨어를 구성하려 하는데...
글쓴이: fresian / 작성시간: 목, 2008/09/18 - 2:14오후
다수(수십에서 수백까지)의 클라이언트와 하나의 DB서버가 존재하는 C/S구조에서, 이 둘을 연결하는 데이터베이스 미들웨어 서버를 중간에 추가하려고 합니다.
미들웨어가 특별한 기능을 요구하지는 않으며, 실질적으로 필요한 이유는 5-client 패키지로 구매한 오라클 서버에 클라이언트의 쿼리를 중계해서 전달하는 미들웨어를 연결해 1 Client처럼 처리하기 위해서입니다. (편법이긴 합니다만, 어쨌든 이렇게 해야 한다고 하네요)
이러한 구조에서 쓸 수 있는 간단한 데이터베이스 미들웨어가 오픈소스 혹은 상용화된 소프트웨어로 있을까요? 비싸고 복잡한 미들웨어가 필요한 구조는 아니고, 회사에 네트워크 프로그래머가 없는 상황에서 프로젝트 중간에 갑작스럽게 추가된 요구사항이라 자체제작은 힘듭니다. 둘 다 없다면, 이런 류의 개발을 맡길 수 있는 업체라도 알려주시면 감사하겠습니다 ㅠㅜ/
Forums:
지금 쓰고 계시는
지금 쓰고 계시는 클라이언트의 행동 양식에 해결책이 의존할것 같습니다.
단속적인 요청만을 한다면 Connection Pooling 을 구현하는 것이 좋은 해결책이 될 것이고,
클라이언트 마다 DB 세션을 길게 유지하는 것이 필요하다면 오라클 동시 접속수를 늘리지 않고서는 해결이 힘들 것 같습니다.
--
말할 수 있는 것은 분명하게 말해질 수 있다;
말할 수 없는 것에 대해서는 침묵해야한다.
논리철학논고 - 루드비히 비트겐슈타인
--
말할 수 있는 것은 분명하게 말해질 수 있다;
말해질 수 없는 것에 대해서는 침묵해야한다.
논리철학논고 - 루드비히 비트겐슈타인
대단한 요구사항을 받아 버리셨네요.
DB를 이용하는 이유는 말그대로 영속적인 데이터 유지 뿐아니라 자체에서 제공하는 커넥션, 동기화, 어느 정도의
쿼리 성능 향상의 알고리즘... 등등을 이용하기 위함인데...
간단히 미들웨어를 추가하는 것처럼 보이는 요구사항이 데이터 영속적을 제외한 부분을 모두 건드리네요.
쉽게보면 중간에서 Relay만 해주는 것처럼 보이지만...
윗분 말씀대로 Client의 성격에 따라 지옥과 천당이 와따가따 할 것 같습니다.
-------------
포탈이는 불사신
-------------
포탈이는 불사신
답변 감사합니다.
답변 감사드립니다.
질문에 깜빡하고 올리지 않은 부분이 있었는데.. DB 서버에 접속하는 클라이언트는 C++, C#, Java의 3개 언어를 사용합니다. 그래서 단순히 소켓 통신으로 쿼리를 relay하는 것으로는 구현하기가 힘듭니다.
그리고 일정과 인력 관계상 직접 구현하는 것보다는 아웃소싱이나 솔루션 구매로 해결해야 하는 상황이라는 것..
(그러고보니 프로그래밍 QnA란에는 조금 맞지 않는 내용일 수도 있겠군요 OTL)
간단한 미들웨어가 아닌것 같은 ....
중간에 갑작스럽게 추가된 요구사항치고는 너무 심하네요..
커넥션, 트랜잭션 관리만 해도 머리가 아프겠네요..
댓글 달기