IMDG (In-Memory Data Grid)

1. IMDG(In-Memory Data Grid)의 개요

(1) IMDG의 개념

  • 대용량 데이터 관리 위해 다수의 컴퓨터 메모리를 그리드로 연결하여 주 데이터 저장소로 활용하는 고가용성 및 확장성 제공 분산 메모리 시스템

(2) IMDG의 특징 및 요구사항

특징요구사항세부 사항
고가용성복제데이터 복제를 통한 이중화 구성
지속적 관리Write-through, Write-behind, DRM
확장성파티셔닝데이터 분할 규칙에 따른 분산 저장
이벤트분산 저장소에 대한 데이터 동기화
데이터 일관성트랜잭션ACID 트랜잭션 보장
락킹트랜잭션 보장을 위한 락 관리 기능
고성능분산 데이터베이스코드/데이터의 분산저장 및 활용
Map-ReduceMap-Reduce 방식의 데이터 병렬 처리
관리 효과성보안성 확보접근 보안암호화
콘솔 제공모니터링 및 관리 툴 제공
호환성NoSQL 연동빅데이터 DBMS와 연계
쿼리 언어SQL 같은 스크립트 언어 지원
  • DBMS에서 발생하는 부하를 IMDG 서버로 분산하여 병목 구간 해소

 

2. IMDG의 아키텍처 및 기술요소

(1) IMDG의 아키텍처

  • 데이터를 다수 서버 메모리에 분산 저장하여 Replication과 Synchronization을 통해 고가용성, 확장성 및 READ/WRITE 성능 확보

(2) IMDG의 기술요소

구분기술요소역할
데이터
처리
Key-Value키(Key) 기반 데이터 분산 저장
Collection API다수 노드 대상 HashMap, HashSet 사용
트랜잭션 기술Distributed EventPublish 순서 보장 Topic 읽기 가능한 분산 메시지 큐
Distributed Lock다수 분산 시스템에서 단일 Lock 기반 동기화
Transactions신뢰성 확보를 위한 Commit/Rollback
Off-heap MemoryFull GC 처리시간 향상을 위한 JVM 메모리
분산 기술Clustering다수 서버 메모리를 단일 메모리 저장소로 구성
Replication다수 서버에 데이터 분산하여 데이터 유실방지/복구기능
Synchronize사용자 요청은 다수 서버에서 병렬 처리
  • Memory 제한을 High Scalability 기반 극복하여 고가용성과 확장성 보장

 

3. IMDG와 데이터베이스/캐시 시스템 비교

(1) IMDG와 데이터베이스 비교

비교 항목IMDGRDBMSNoSQL
Scale-Out(확장성)가능불가가능
Availability(가용성)높음낮음높음
Consistency(일관성)확보확보미확보
Persistence(영속성)미확보확보확보

(2) IMDG와 캐시 시스템 비교

항목IMDG캐시 시스템
Read항상 IMDG에서 Read하므로 성능 향상데이터가 캐시에 존재 시 성능 향상
데이터가 캐시에 미존재 시 성능 향상 없음
WriteAsynchronous Write 지원 시 성능 향상영구 저장소에 Write하므로 성능 향상 없음

 

[참고]

  • LGCNS, “In-Memory Computing 기술현황 및 전망”, 2013.1
  • 삼성SDS, “시스템 성능 개선을 위한 In-Memory 기술 활용 ‘In-Memory Data Grid 활용 사례'”, 2018.9
One Comment

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^