23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
In-Memory Data Grid (IMDG)란 computing engine이 탑재된 In-memory distributed caching software 기술이다.
IMDG 기술을 활용하여 다수의 물리 서버들이 서로 연결되어 클러스터가 구축되면 대용량 memory pool이 형성되고, memory 안에 대용량 데이터들이 적재 혹은 caching 이 이루어진다.
IMDG는 IMDB(In-Memory Data Base) 기능을 기본적으로 탑재하고 있으며,
Disked 기반 이기종 DB 들에 이미 저장되어 있는 데이터들을 memory에 caching함으로써 기존 시스템을 그대로 유지하면서 고성능 big data processing 서비스 제공할 수 있는 장점을 지니고 있다.
아래는 IMDG 플랫폼 구조의 예시를 나타낸다.
이번 블로그에서는 IMDG 플랫폼 글로벌 선도 업체인 Hazelcast의 IMDG 기술에 대해 소개하고자 한다.
Hazelcast는 IMDG 플랫폼 SW로서 서버마다 Hazelcast Member라는 Java process가 생성되고, Hazelcast Member들이 network으로 서로 연결되어 클러스터를 생성하게 된다.
이렇게 구성된 Hazelcast 클러스터는 Java/.NET/Node.js/Python/C++/Go와 같이 다양한 언어의 클라이언트들과 연결될 수 있다.
더불어 다양한 Disk기반 DB들(RDBMS, MongoDB, …)과 연동되어 기존 대용량 데이터들을 메모리에 caching 함으로써, 다수의 클라이언트들에 대해 빠른 응답으로 대응할 수 있다.
Hazelcast는 Map, MultiMap, Queue, Set, List와 같은 다양한 Java data structure를 지원한다.
특히 Hazelcast의 주요 data structure인 Map을 IMap이라 부르고, IMap은 정해진 정책에 따라 partitioning 되어 서버 별로 흩어져 있는 Hazelcast Member들에 분산 저장된다.
SW stack 중 Engine은 Node/Partition/Network 관리하는 부분으로 나뉘어 각 역할을 수행한다.
다이어그램에는 생략이 되어 있는데, Hazelcast Member process에는 SQL engine인 Apache Calcite가 내장되어 있어서 ANSI SQL 지원 등 SQL query를 처리한다.
Hazelcast에서는 Dataset들이 In-Memory에 Key/Value로 저장되며 그에 따른 In-Memory Storage로 On-Heap store와 High-Density Memory Store가 있다.
On-Heap store는 단어와 유사하게 dataset들이 Java의 On-heap 영역에 저장되며, High-Density Memory Store는 Java GC(Garbage Collection)에 영향 받지 않는 Java Off-heap 영역에 저장된다.
추가로 장애 발생 시 복구 기능인 Hot Restart store 를 지원한다.
앞에 언급했듯이 Hazelcast는 JVM에서 동작하는 Java process이며, Linux, Windows 등 다양한 OS에서 동작한다.
구축 환경은 On-premise와 더불어 Kubernetes/Docker Container 같은 가상화 환경에서도 동작한다.
더불어 AWS, Azure와 같은 Public cloud 환경에서 deploy하여 활용할 수 있다.
다음 블로그에서는 Hazelcast IMDG SW 다운로드 및 설치 방법, 클러스터 구축, Dataset 적재, SQL 질의 방법에 대해 포스팅 예정이다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.