2020. 10. 8. 15:33ㆍ기타
IMDG란
In-Memory 기술의 필요성
In-Memory 기술은 방대한 양의 데이터를 하드디스크가 아닌 메모리에서 관리하고 실시간으로 분석할 수 있게 함으로써 데이터 처리시간을 단축하고 빠른 의사결정을 지원합니다. 일반적으로 하드디스크(SATA, SSD) 성능 대비 메모리(SDRAM)의 데이터 처리 속도는 수십 ~ 수백 배 이상 빠르며, 이러한 메인 메모리의 성능을 활용하여 어플리케이션 데이터를 신속하게 처리하고 관리할 수 있습니다.
메인 메모리는 탁월한 성능을 제공하지만 영구적으로 데이터를 관리하기 어렵고 용량이 제한적이라는 단점이 있습니다. 하지만 IMDG 기술의 등장으로 기존 메모리가 가지고 있던 제약이 극복되었고, 현재는 대용량 고성능 데이터 저장소로 발전했습니다.
IMDG의 개념
IMDG는 고가용성과 확장성을 제공하는 분산 메모리 시스템입니다. 메모리를 주 데이터 저장소로 활용하기 위해서는 대용량 데이터 관리를 위한 신뢰성이 보장되어야 합니다. 이를 위해 IMDG는 분산 클러스터 기술을 활용하고 있습니다. 다수의 컴퓨터 메모리를 그리드로 연결하여 하나의 큰 메모리 저장소를 구축합니다. 서버를 동적으로 추가하여 용량을 증설할 수 있으며, 장애시 복구를 위한 데이터가 여러 서버에 분산 곤리됩니다.
IMDG의 특징
- 다수의 컴퓨터 메모리(RAM)를 클러스러링하여 하나의 큰 메모리 저장소로 구축
- 데이터 유실방지 및 복구를 위해 여러 서버에 데이터를 분산, 복제 관리
- 메모리(RAM) 클러스터의 수평적 확장이 가능하여 무제한 용량 지원
- 데이터는 객체 지향 및 비 관계형 데이터 모델로 관리
- 사용자의 데이터 요청은 다수의 컴퓨터에서 병렬로 처리
- 메모리(RAM) 외 디스크, DBMS 등의 저장소에서 데이터 영구 보관 가능
IMDG의 활용
IMDG 기반의 In-Memory 분산 스토리지
초당 수백만 건의 사용자 요청을 처리하기 위해서는 디스크가 아닌 메모리 기반의 스토리지가 필수적으로 요구됩니다. In-Memory 분산 스토리지는 어플리케이션의 캐시 또는 공유 데이터 저장을 위해 활용될 수 있으며, DBMS, No-SQL 등의 주 데이터 저장소를 고성능으로 대체하거나 보완할 수 있습니다. 특히 DBMS 병목으로 인한 어플리케이션 성능 저하나 장애 현상이 발생할 경우 In-Memory 분산 스토리지는 좋은 해결방안을 제공합니다.
- 다양한 클라이언트 환경을 지원하기 위한 사용자 API 지원
- ANSI SQL 기반의 DML, DDL 지원
- RDBMS와 실시간 데이터 동기화 지원
- Off-heap 메모리를 사용하여, GC 소모시간 최소화
- 글로벌 원격지의 IMDG 클러스터 간의 데이터 동기화 지원
- 사용이 용이한 관리/모니터링 도구 제공
IMDG 기반의 In-Memory 데이터베이스
금융서비스의 경우에는 수 많은 트랜잭션과 데이터의 중요도로 인해 데이터 처리의 일관성, 연속성이 절대적으로 요구되며 항상 최적의 성능을 유지해야 합니다. 기존 RDBMS 기반의 2티어 아키텍처에서는 스케일 업으로 성능을 확장할 경우 많은 비용이 발생하며, 스케일 아웃은 어려운 것이 현실입니다. 이에 은행 및 투자관리 회사와 같이 빅데이터를 실시간으로 다루어야 하는 금융 서비스 조직에서는 In-Memory 데이터베이스를 활용하는 것이 필수적입니다.
기존 RDMBS, NoSQL 등의 데이터 관리 시스템은 하드디스크에서 데이터를 관리하기 때문에 성능 제약과 디스크 I/O 부하로 인한 장애가 발생할 수 있습니다. In-Memory 데이터베이스는 In-Memory를 기반으로 분산된 노드에서 병렬 처리하기 때문에 속도가 매우 빠르고 용량과 성능을 쉽게 확장할 수 있습니다. 일부 서버에 장애가 발생할 경우, 다른 서버들이 해당 서버의 데이터를 백업하고 있다가 이를 즉시 제공하기 때문에 중단 없는 서비스가 가능합니다. 게다가 In-Memory 데이터베이스는 표준 SQL을 지원하기 때문에 기존의 아키텍처 수정을 최소화하여 RDBMS와 통합할 수 있습니다. 기존 데이터베이스의 스키마와 쿼리를 그대로 사용할 수 있어, 최소의 비용으로 최고의 성능 향상을 이룰 수 있습니다.
참조: https://www.samsungsds.com/kr/insights/In-Memory-Data-Grid.html?referrer=https://www.google.com/
'기타' 카테고리의 다른 글
Cron 표현식 (0) | 2021.01.29 |
---|---|
Container와 VM의 차이 (0) | 2020.12.10 |
Event Loop (0) | 2020.09.27 |
Local Storage와 Session storage (0) | 2020.09.19 |
HATEOAS (0) | 2020.09.11 |