IMDG Overview

IMDG(In-Memory Data Grid)란?

일반적인 Legacy 구조는 WEB-WAS-RDBMS 계층의 구조이며 RDBMS는 데이터를 하드디스크에 적재하였습니다. 하지만 나날이 늘어가는 데이터의 양과 사용자의 폭발적인 증가로 인해 기존의 Legacy 구조에서는 WAS 또는 AP를 병렬적으로 확장하더라도 RDBMS의 병목으로 인해 처리량 향상의 한계에 다다르게 되었습니다.

그로 인해 메모리 캐시를 활용하는 것을 뛰어넘어 메인 메모리에 데이터를 보관하는 IMDG와 IMDB가 등장하게 되었습니다.

전통적인 하드디스크에 데이터를 적재하는 구조에서 벗어나 메인 메모리에 데이터를 적재하는 점은 IMDB(In-Memory Database), MMDB(Main Memory Database)와 유사하지만 아래의 차이점이 있습니다.

  • 다수의 서버를 클러스터링하여 데이터를 분산, 복제 보관
  • Active/Standby 관계가 아닌 모든 서버가 활성화 되어 고가용성(High Availability) 및 확정성(Scalability) 보장
  • 비 관계형, 객체지향의 NoSQL기반(Key, Value) 데이터 구조
  • 메모리 기반 연산(Computing)

IMDG가 각광 받기 시작한 것은 최근 수년동안이지만 메모리 저장소 개념이 등장한 것은 꽤 오래된 개념입니다. 과거에는 고가의 메모리를 저장소로 사용하는 부분에 가격적인 부담이 크고 메모리에 데이터를 보관하면서 발생할 수 있는 데이터 정합성, 지속성 문제로 인해 단순히 Buffer 개념의 캐시 서버(Cache Server)로 사용 하였지만 근래 들어 메모리 가격의 인하, 컴퓨팅 파워의 획기적인 증가, 분산Lock등의 데이터 정합성 유지를 위한 기능들로 인해 다시 주목을 받게 되었습니다.

IMDG(In-Memory Data Grid)의 종류

다양한 제품군이 존재하며 대부분 오픈소스와 상용제품군 투트랙으로 서비스 하고 있습니다. 제품 종류는 아래와 같습니다.

  • Hazelcast
  • Ignite / GridGain
  • infinispan / Red Hat JBoss Data Grid
  • Terracotta
  • Oracle Coherence
  • VMware Gemfire
  • IBM eXtreme Scale

IMDG 적용 분야

IMDG는 IMDB와 달리 IMDG 내부에 처리 로직(Processing Logic)을 적재하여 저장 또는 수정되는 데이터를 통해 해당 작업을 수행 하며 기존의 3 Tier 구조의 한계를 뛰어넘는 초고속의 비즈니스 로직 구현이 가능합니다. 적용 가능한 대표적인 분야는 아래와 같습니다.

  • 빅데이터 분석 플랫폼(Hadoop)
  • AI / ML
  • 이상 거래 탐지(Fraud Detection)
  • Session Clustering
  • 기타 복잡한 데이터 전처리가 필요한 모든 분야

※ 각 밴더별 IMDG 제품 자료는 정리될 때마다 올리도록 하겠습니다…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.