연재/하이브리드 MM DBMS - 2회
지난 호에서 MMDBMS의 등장 배경에 대해 살펴본 데 이어, 이번 호에서는 MMDBMS가 DRDBMS에 비해 얼마만큼의 성능 우위를 가지고 있는지, MMDBMS를 이용한 시스템 구성으로 얻을 수 있는 혜택을 실제 적용 사례를 통해 살펴보는 시간을 갖고자 한다.
MMDBMS, 기존 DRDBMS 대비 약 10배 빠른 성능 제공
MMDBMS가 DRDBMS보다 월등히 높은 성능을 제공한다는데 이견이 없을 것이다. MMDBMS가 높은 성능을 보장하는 이유는 의외로 간단하다. 저장 장소가 DRDBMS와는 다르기 때문이다. 즉, 데이터베이스 전체를 물리적인 메모리에 모두 상주시켜 운영하므로 응용 프로그램에서 요구하는 데이터를 메모리에서 직접 읽어 보내줄 수 있기 때문이다. MMDBMS는 성능만 빠른 것이 아니라, DRDBMS와 동등한 수준의 데이터베이스를 관리하는 기능도 제공한다.
그렇다면, 실제 MMDBMS와 DRDBMS의 성능 차이를 다음에 제시하는 세 가지 도표를 통해 살펴보기로 하자. <표 1>은 단순 트랜잭션 성능 측정을 위한 벤치마크 도구인 TPC-B 벤치마크 suite를 이용해 DRDBMS와 MMDBMS의 성능을 비교 평가한 자료인데, 데이터 건수에 관계없이 MMDBMS가 DRDBMS보다 약 9배 이상의 빠른 성능을 제공하고 있음을 보여준다.
<표 1> MMDBMSMS의 기본 성능 비교
<표 2>는 지난 해 대만의 모 증권사에서 MMDBMS의 도입을 검토하면서 실시한 기존 DRDBMS와 ALTIBASE 3의 성능을 비교 테스트한 자료이다. TPC-B 보다 더 큰 성능 격차가 있음을 살펴볼 수 있다. 테스트 방법이나 장비, sql문 등에 따라 지표 차이가 발생할 수 있음을 충분히 고려한다고 하더라도 MMDBMS가 DRDBMS에 비해 월등한 성능 우위를 갖고 있음을 재확인할 수 있다.
<표 4> A사의 액티브 디렉토리 VS MMDBMS를 이용한 인증 서비스 성능 비교표
<표 4>에서 살펴볼 수 있듯이 조회만을 처리하는(물론, 고객정보의 변경도 동시에 수행되지만 조회에 비해 많은 양이라고 보기는 어렵다) 업무에 있어서 A사는 MMDBMS 도입을 통해 장비의 효율성을 극대화한 것은 물론, 성능 측면에서도 3배 이상의 개선 효과를 볼 수 있었다.
[빌링/과금 분야]
국내 최대 트랜잭션을 처리하는 B 통신사는 서비스 플랫폼의 변화 및 사용량의 증가, 다양한 요금체계, 비즈니스 모델의 효과적인 IT 지원, 고객 요구를 만족시키기 위해 실시간 과금 처리가 가능한 빌링 인프라 구축이 필요하다고 판단하고, 관련 계획을 수립했다. 특히 효과적인 구현을 위해 요구되는 처리 성능은 일일 최대 4억 Call에 대한 과금 처리(초당 5,000Call)가 가능해야 하고, DBMS측면에서 20-30억/일 처리를 할 수 있어야 한다는 것이 전제 조건이었다.
이를 염두에 두고 DBMS 검토에 들어간 B 통신사는 DRDBMS나 별도의 방안을 고려해도 일일 20-30억이라는 트랜잭션 처리는 불가능하다고 판단하였고, 엄격한 벤치마크 테스트를 거쳐 MMDBMS 도입을 결정하게 되었다. 현재 A 통신사는 다시 별도의 분리된 MMDBMS와 4웨이로 이중화를 구성하여 서비스를 운영 중에 있다.
<그림 4> A 통신사의 차세대 빌링 시스템
<표 5>는 A 통신사가 기존 방식과 MMDBMS 도입 후 거두고 있는 효과를 도표화한 것이다.
| 기존 HOST 방식 | MMDBMS 도입 후 | |
| 처리방식 | Batch 처리 | 실시간 처리 |
| 일처리량 | Max 1.5억 Call/일 | Max 4억 Call/일 |
| 일평균처리량 | X | 1.5억 Call/일 |
| 월평균처리량 | X | 1.5억 Call/월 |
| 개발환경 | HOST COBOL | C++, JAVA 등 다양함 |
| 시스템상태 | 시스템의 한계상황 | 시스템의 50% 유지 |
우선 개발자 입장에서 살펴보면 과거의 COBOL 등으로 현재의 다양한 구현기법들을 적용하기 어려워 소스자체에 대한 개선/유지 보수 등이 상당히 쉽지 않았음을 짐작할 수 있다. 또한 운영자 입장에서 보면 과거 빈번한 시스템 한계 상황을 맞음으로써 장애에 대한 불안감을 갖고 있어야 했을 것이다(물론 운영자에게 있어 장애란 늘 인지되는 사항이겠지만). 업무/서비스 개발자의 입장에서 보면 일 처리량의 한계로 인해 다양한 수익모델을 창출할 수 있음에도 불구하고 IT 환경으로 인한 이익/서비스모델 창출에 매우 제한적인 요소가 되었음을 알 수 있다. 그러나 MMDBMS 도입을 통해 이러한 문제들을 일거에 해결함으로써 적용 단계에서 갖고 있던 문제점들을 해결할 수 있었다.
MMDBMS는 ‘하이브리드 MM DBMS’로 진화중
MMDBMS는 위에서 언급한 인증, 빌링/과금, HTS 등 이외에도 포탈 사이트에 접속하거나 핸드폰 통화를 시도할 때에도 사용되고 있으니 우리 생활과 매우 밀접하게 관련을 맺고 있다고 해도 과언이 아닐 것이다. 다만 우리가 인식하지 못할 뿐이다.
이렇게 폭넓게 사용되고 있는 MMDBMS이지만, 그 동안 많은 기업들은 검토나 응용 단계에서 다음의 2가지 문제로 인해 도입을 꺼려해 왔던 것이 사실이다.
1. 메모리에 적재되는 데이터 처리로 안정성을 보장할 수 있을까?
2. 물리적 메모리의 공간제약으로 인한 확장성은 어떻게 해결할 것인가?
1번에 대한 의문은 이제 더 이상 MMDBMS를 적용하는 단계에서 문제시 되지 않는다. 이미 많은 레퍼런스 사이트들이 이를 입증해 주고 있기 때문이다. 이미 언급한 것처럼 MMDBMS는 DRDBMS와 유사한 복구 기법 등을 사용하고 있을 정도로 상당히 진보하였고, 만일 안정성의 문제가 제기되었다면 이미 시장에서 사장되어 자취를 감췄을 것이다. (성능이 안정성보다 우선시되어 도입하는 IT담당자는 없을 것이다.)
그러나 2번에 대한 의문은 여전히 제기되고 있는 문제점이기도 하다. 실제 확장성의 문제로 기존 DRDBMS와 동시에 연동하는 서비스를 구축한 고객사도 다수 있는데, 이로 인해 중복 투자에 따른 비용 부담과 이기종 DBMS에 대한 데이터 일관성 보장으로 인한 적용 어려움을 겪고 있기도 하다. 그러나 최근 등장한 하이브리드 MM DBMS가 이에 대한 해답을 제시할 것으로 보여진다. 하이브리드 MM DBMS는 빈번한 액세스를 요하는 테이블은 메모리에 상주시키고, 히스토리 테이블 등과 같이 대량의 데이터이지만 접근이 빈번하지 않는 테이블들은 디스크에 상주시키고 하나의 DBMS로 통합관리하면서 서비스가 가능하도록 구현하는 DBMS이기 때문이다.
이제 MMDBMS는 확장성의 제약을 뛰어 넘어 하이브리드 MM DBMS로 진화하고 있다. 즉, 메모리의 빠른 처리성능과 무제한적인 디스크 공간의 저장성을 동시에 갖춘 형태로 발전되어 가고 있다는 것이다. 다음 장에서는 MMDBMS의 발전된 형태인 하이브리드 MM DBMS에 대해 좀 더 자세히 알아보도록 하겠다.
* 이 글은 IT 전문 월간지 <온더넷> http://www.ionthenet.co.kr에도 게재된 내용입니다.