IMDG란?
In-Memory Data Grid(IMDG)는 RAM(Random Access Memory)에 상주하는 데이터 구조로, 여러 서버에 분산되어 존재한다. 최근의 64비트 및 멀티 코어 시스템의 발전으로 하드 디스크와 같은 전기 기계식 대용량 저장 매체의 필요 없이 수 테라바이트의 데이터를 RAM에 완전히 저장하는 것이 실용화되었다.
업계 분석 회사인 Gartner Inc.에 따르면 IMDG는 속도(velocity), 가변성(variability) 및 용량(volume)과 같은 빅 데이터의 “Big-Three V’s”를 처리하는데 적합하다고 한다. IMDG는 초당 수십만 건의 메모리 내 데이터 업데이트를 지원하며 대량의 데이터를 지원하는 방식으로 클러스터링하고 확장할 수 있다.
IMDG의 구조
어플리케이션 서버(AS)에는 IMDG가 제공하는 클라이언트 라이브러리가 있고, 이 라이브러리를 이용해 IMDG에 접근한다. IMDG에서 사용하는 데이터 모델은 Key-Value 모델이며 키를 이용해 데이터를 분산시켜 저장할 수 있다.
IMDG의 특징 및 장단점
- 데이터가 여러 서버에 분산되어 저장된다.
- 각 서버는 active 모드로 동작한다.
- 데이터 모델은 보통 객체 지향형(serialize)이고 non-relational이다.
- 필요에 따라 서버를 추가하거나 줄일 수 있는 경우가 많다.
- 테이블과 같은 전통적인 데이터베이스 특징이 아니다.
- Lock, Transaction, Sharding을 지원한다.
장점
- 하드 디스크로 데이터를 메모리에 쓰고 읽을 수 있기 때문에 성능이 향상된다.
- 데이터 그리드는 쉽게 확장 가능하고 업그레이드를 쉽게 구현할 수 있다.
- 관계 구조보다 Key-Value 데이터 구조가 어플리케이션 개발자들에게 유연성을 제공한다.
- 기술적 이점으로 더 빠른 의사결정과 더 높은 생산성, 향상된 고객 서비스를 제공한다.
- DBMS의 부하를 IMDG 서버로 분산함으로써 고질적인 병목구간을 해소한다.
- 자주 변경되거나 조회가 발생하는 정보를 메모리에 상주시켜 성능을 높이는 캐시 서버로 활용할 수 있다.
단점
- IMDG 클라이언트 사용으로 인한 메모리 샤용량 증가
- 데이터 변경으로 인한 무효화(invalid)가 발생이 잦을수록 성능 저하
- 데이터 일관성이 깨질 수 있음
IMDG Platform
IMDG Platform은 다음과 같은 기능들을 제공한다.
Management Center : 관리자 콘솔에서 메모리 내의 데이터 그리드 전체를 제어하고 모니터링할 수 있다.
이를 통해 네트워크에 있는 모든 IMDG 인스턴스를 관리할 수 있다.
Extended and standard query : 표준 보고 도구에서 메모리 내의 데이터 그리드에 접근할 수 있다.
JDBC와 호환되는 데이터베이스에 접근하는 것과 유사한 IMDG에 접근할 수 있다.
기본적으로 SQL을 기반으로 하며 표준 JDBC 커넥터를 사용하여 IMDG를 연결할 수 있다.
Mirror service : 기존의 back-office 보고 시스템과의 원활한 통합이 가능하다. 전체 IMDG에서 기존 데이터베이스 또는 기타 데이터 소스에 이르기까지 투명한 데이터 지속성을 지원한다.
SQL-based continuous query support : 적절한 데이터를 해당 어플리케이션 로컬 메모리 근처로 가져온다.
Real-time event notification : FIFO, 느린 클라이언트 지원, 컨텐츠 기반 라우팅, pub/sub, batching 등 메세징 시스템에서 제공하는 기능을 제공한다.
참조
predictiveanalyticstoday.com : https://www.predictiveanalyticstoday.com/top-memory-data-grid-applications/
'Others' 카테고리의 다른 글
IMDG Platforms(제품) (0) | 2019.09.25 |
---|