전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

메모리 DB의 등장

전문가칼럼
DBMS별 분류
Sybase
작성자
dataonair
작성일
2003-01-01 00:00
조회
11069





메모리 DB의 등장

김일환/삼성SDS 부장

인터넷 사용자가 늘어나고 이에 따른 서비스 속도 저하를 막기 위해 빠른 인증, 빠른 처리 등을 목적으로 하는 DB들이 등장하고 있다. 그 중의 하나가 바로 메모리 DB이다. 즉, 기존 DB처럼 하드에서 구축 운영되는 것이 아니라 메모리상에서 운영되는 것을 말한다

서버의 임시 저장장치인 메모리 속에 DB를 구현하여 컴퓨터를 부팅하면 DB가 메모리에 올라와 빠른 서비스를 가능하게 하는 것이 메모리DB이다.

실제 하드디스크 액세스 속도는 5∼10ms(밀리세컨드) 수준이지만 S램의 경우는 8∼35ns(나노세컨드), D램은 90∼120ns로 빠르다. 이 때문에 메모리DB는 오라클, 사이베이스 등 기존 하드디스크 기반 DB에 비해 처리속도 월등하게 나을 수밖에 없다. 기존의 RDBMS가 100% 메모리 버퍼를 이용한 상태에서 비교한 벤치마킹 결과에 의하면 메모리DB를 이용하였을 때 특정 제품의 경우 최소 10배의 속도 향상을 보여주고 있다. 따라서 통신장비나 금융거래용 장비 등 대용량 데이터를 고속으로 처리해야 하는 곳에 적합하다.


통신·금융권 중심 급확산

현재 메모리DB는 통신서비스 사업자와 금융권을 중심으로 급속히 확산돼 CDMA 기지국 가입자 정보의 실시간 조회, 무선 인터넷 사용자를 위한 실시간 서비스, 사이버 트레이딩, 사이버 뱅킹, 실시간 원투원 마케팅 등 각종 인터넷 서비스, 공장 자동화에서 실시간 데이터 수집·제어 등의 업무에 사용되고 있다. 이처럼 단독으로 사용할 수도 있지만 오라클 등 기존 DB에 덧붙여 액세스 빈도가 많은 데이터의 처리를 전담하는 캐싱DB로 사용할 수 있어 쓰임새가 더 크다고 할 수 있다.

한국통신과 SK텔레콤, LG텔레콤, 한국통신프리텔 등 주요 통신서비스 회사들이 지능망서비스 등 네트워크 서비스와 관련해 가입자관리·인증관리·가입자 성향 분석 등에 메모리DB를 적용하고 있다. 또 대우증권 등 주요 증권사들이 시세처리와 사이버증권시스템에, 그리고 일부 은행들이 외환업무와 인터넷뱅킹에 메모리DB를 적용하기 시작했다. 이에 삼성전자와 제너시스템 등 커뮤니케이션용 장비 개발업체들은 메모리DB를 적용한 제품을 개발해 영업에 나서고 있다.

2001년 현재 1TB의 메모리로 시스템을 구성할 경우 약 5억원이 든다. 그러나 메모리의 가격이 계속 하락 추세여서 3년 후에는 같은 1TB를 구축하는데 약 3천만원 이하가 예상돼 충분한 TCO를 보장해 줄 수 있을 것이다.

국내 메모리DB시장을 공략하고 있는 업체는 지난해 9월경 ETRI로부터 기술이전을 받은 알티베이스와 미국의 타임스텐, 한국오피스컴퓨터가 있다. 이밖에도 리얼시스텍·아크시스 등도 자체 개발 제품을 내놓고 시장개척에 나설 방침이다.

메모리DB는 일반 하드디스크를 기반으로 트랜잭션을 처리하는 일반 상용DB와는 달리 주메모리 상에 상주하는 DB로 트랜잭션 처리속도가 빠른 것이 특징이다.

액세스 빈도가 80%에 이르는 20%의 데이터를 메모리DB로 관리하는 등 메모리DBMS가 고성능을 요하는 애플리케이션이나 활용빈도가 높은 데이터 트랜잭션을 고속으로 처리해줄 수 있는 하나의 대안으로 떠오르고 있다.


실시간 DBMS(RTDB: Real Time DataBase)

D램 부분의 대용량 메모리 칩 개발과 비휘발성 반도체 메모리 부분 상품화 등 하드웨어 발전으로 인해 주기억장치 상주 DBMS의 현실성이 대두됐다. 또한 빠른 속도를 필요로 하는 산업현장의 실시간 처리를 효과적으로 지원하는 실시간 DBMS에 대한 대응기술로 주목을 받게 되었다. 따라서 메모리DB는 실시간 DBMS의 대표적 솔루션으로 이해되고 있기도 하다. 실시간 DBMS 개발은 기존 디스크 상주 RDBMS를 실시간 환경에서 사용할 수 있도록 확장하는 방식과 주기억 상주 DBMS(메모리DB)를 개발하는 방식으로 접근할 수 있다.

▲확장 RDBMS 방식

RDBMS를 확장하는 접근방식은 일반적으로 주기억장치 버퍼를 매우 크게 확장함으로써 실시간 성능의 병목이 되는 디스크 입출력 횟수를 줄이는 방법이고, 주기억 상주 DBMS 접근방식은 전체 DB를 주기억장치에 구축하고 운영함으로써 디스크 입출력으로 인한 부담을 없애 고성능 실시간 요구조건을 만족시켜주는 방식이다. 메모리DB 개발방식 보다 상대적으로 구현하기 쉬운 장점이 있으나 주기억장치 버퍼를 크게 늘려도 DBMS가 디스크의 특성에 맞추어 최적화돼 있기 때문에 응용이 요구하는 실시간 성능을 만족시키는 데 근본적인 한계를 가지고 있다.

▲메모리DB 방식

메모리DB 방식은 탁월한 실시간 성능을 제공한다. 현재 하드디스크의 접근속도는 보통 5∼10ms이나 S램의 접근속도는 8∼35ns, D램 접근속도는 90∼120ns이므로 주기억 상주방식이 제공하는 성능이 탁월함을 알 수 있다. 그러나 이 방식은 DBMS를 주기억장치의 특성에 맞게 새롭게 설계해야 하므로 구현하기 어려운 면이 있으며 주기억장치가 휘발성이어서 시스템 오류 회복이 매우 중요한 과제로 부상하게 된다. 따라서 차세대 실시간 DBMS는 실시간 응용 요구를 만족시킬 수 있는 주기억장치 상주형 DBMS 방식을 채택한다. 이때 실시간 DB가 사용할 공간을 물리적 기억장치(피지컬 메모리)에 미리 할당하고, 이들 실시간 DB가 저장된 페이지들이 운용체제에 의해 스와프되지 않도록 보장해야 한다.

eceo200201006_01.gif

메모리DB는 다양한 실시간 응용분야와 운용환경에 적응하기 위해 다음과 같은 특징을 가진다.

▲유연성

메모리DB는 지금까지 특정한 응용들만의 필요를 충족시킬 목적으로 DBMS를 전문으로 하지 않는 사람들에 의해서 독자적으로 개발됐다. 이러한 이유로 다른 응용들에 사용하기에는 큰 제약이 따랐으며 그들의 성능이 특정 하드웨어의 성능에 크게 의존하기 때문에 이식성이 부족하게 됐고 이로 말미암아 널리 사용되지 못했다. 따라서 응용분야의 특성에 따라서 쉽게 커스터마이즈되고 목표 운영환경에 쉽게 이식될 수 있도록 융통성 있는 시스템 구조를 가져야 한다.

▲가변성

시스템 환경 측면에서 부착형 운영구조와 독립형 운영구조로 구분할 수 있다. 부착형은 DBMS 자체의 다양한 기능보다는 매우 빠른 저장과 검색을 주목적으로 하는 실시간 검색 시스템 사용 응용환경을 위한 것이다. 이 구조의 DBMS는 기존 범용 DBMS와 연동해 동작하는 것이 일반적이다.

독립형은 실시간 성능 요구조건을 만족시킬 뿐만 아니라 범용 DBMS의 고유한 기능들도 완벽하게 갖춰 기존 범용 DBMS와 연동될 필요없이 독립적으로 운용될 수 있는 구조로 부착형에 비해 상대적으로 복잡하고 규모가 큰 DBMS가 된다. 실시간 DBMS는 기본적으로 독립형 구조를 가지면서도 경우에 따라 불필요한 모듈을 제거한 가벼운 구조의 부착형으로도 운영될 수 있도록 개발해야 할 것이다.

▲표준화

메모리DB의 문제점 중 하나가 표준화된 프로그래밍 인터페이스를 제공하지 못한다는 것이다. 이는 응용 프로그램 작성을 어렵게 할 뿐만 아니라 기존 DB 프로그램들과의 호환성에도 문제가 된다. 표준 SQL 질의어를 포함해 ODBC, JDBC 같은 표준 사용자 인터페이스를 제공해야 한다.

▲안정성

상용 DBMS의 경우 동시 대량의 데이터에 접근을 보장하면서 데이터의 무결성, 일관성, 영속성을 보장한다. 그동안 메모리DB의 확산에 가장 큰 장애중의 하나가 바로 이러한 상용 DBMS가 제공하는 안정성 측면이었다. 서비스 안정성을 위해 시스템의 무정지 기능과 복구 일관성이 제공돼야 한다. 이 같은 안정성을 위해서는 서버의 메모리와 디스크 또도록 하는 것이 중요한 과제가 된다.


메모리DB의 다양한 응용

▲인터넷 서비스 분석

인터넷포털, 게임, 채팅 사이트들의 페이지 뷰나 방문자 수는 인터넷서비스 업체를 평가하는 중요한 기준이다. 하루에 수백만에서 수천만 페이지 뷰가 발생하는 사이트에서 이 수를 정확히 파악하는 일은 기존의 디스크 기반 DBMS로는 처리하기가 곤란하다. 그리고 이같은 일은 아직 웹 서버의 로그 파일을 분석하는 방식을 사용하고 있는데 이 방법은 방문 데이터를 실시간으로 처리할 수 없을 뿐만 아니라 웹서버를 탑재한 시스템에 부하를 줌으로써 서비스 전체 성능을 저하시키고 있다.

웹로그 방식이 아닌 웹서버에 전혀 부하를 주지 않으면서 페이지 뷰나 방문자 데이터를 실시간으로 트래킹하고 각 웹 사이트의 상태를 실시간으로 분석하기 위해서는 무엇보다도 빠른 트랜잭션 처리가 요구된다. 따라서 웹 트래킹 분야에 메모리DB를 활용하면 효과적으로 처리할 수 있다. 이렇게 함으로써 각 인터넷사이트에 대한 실시간 인증은 물론 실시간 빌링 조회도 가능해 진다.

▲이동통신 서비스

이동통신시스템이나 PCS에는 가입자의 위치정보를 관리하는 데이터베이스 시스템인 위치 레지스터라는 가입자 위치관리 시스템으로 HLR/VLR가 있다. 이동통신에서는 가입자가 수시로 관할구역을 이동하면서 전화 서비스를 요청한다. 즉, 망내 위치 레지스터간의 데이터 이동이 빈번하고 이동교환기와 위치 레지스터의 데이터 전송이 신속하게 이뤄져야 하므로 실시간 처리가 필요하다. HLR/VLR는 모든 가입자 또는 방문 가입자를 인증하는 데 필요하게 된다. VLR는 보통 교환기 내부에 들어 있으나 HLR는 중앙에 하나 존재하게 되므로 메모리DB를 적용하기에 적당한 응용 분야다.


제공 : DB포탈사이트 DBguide.net