헤이즐 캐스트(Hazelcast)

문지원(JiwonMoon)·2023년 1월 20일
0
post-thumbnail

인메모리 컴퓨팅이란?

하드웨어 관점 : 데이터 분석 시스템은 세가지 구성요소로 이루어져 있다.
1. 연산을 수행하는 프로세서
2. 처리의 대상이 되는 데이터를 저장할 저장장치
3. 이 둘 사이에 데이터를 전송하는 전송할 시스템

당연히 전체 데이터 분석 시스템의 성능을 저하하는 병목은 이 중에서 가장 느린 구성요소이다. 현재 사용되는 시스템에서의 병목은 단연 저장장치이다. 정확히 말하면 대용량 저장장치로 사용되는 하드디스크 시스템이 전체 시스템의 성능을 저하하는 병목이다.

이러한 병목 현상을 극복하기 위해서 오랫동안 사용되고 발전된 방법은 캐시—메모리—하드디스크로 구성되는 메모리 계층 구조를 사용하는 것이었다.

하지만 CPU의 성능이 급격하게 발전하여 CPU와 하드디스크의 속도 차이가 점점 증가하고, 인공지능이나 빅데이터, 사물인터넷 같은 새로운 기술의 발전에 따라 처리해야 할 데이터양이 기존의 캐시 스스템으로 지원하기에는 너무 급속하게 증대되었고 이런 필요성을 해결하기 위해 인메모리 컴퓨팅이 사용하게 되었다.

즉, 병목현상을 해결하기 위한 대인으로 데이터를 메모리에 보관·처리하고 하드디스크를 데이터의 안전한 보관(stash)하기 위해 사용하는 구조다.

인메모리 데이터베이스 vs 인메모리 데이터 그리드(IMDG)

이 차이점은 대표적인 예시로 Redis VS Hazelcast 가 될 수 있다.
인메모리 데이터베이스는 이름에서 알 수 있듯이 하드디스크나 SSD에 데이터를 저장하는 데이터베이스와는 달리 주로 메모리에 데이터를 저장하는 데이터베이스를 의미한다.

인메모리 데이터 그리드(IMDG)는 각각의 메모리를 공유하여 클러스터에서 동작하는 모든 애플리케이션들이 함께 사용할 수 있도록 하는 컴퓨터 클러스터를 의미한다. 하나의 컴퓨터 서버에서 제공할 수 있는 메모리보다 많은 메모리를 필요로 하는 대규모 애플리케이션들을 지원하기 위해 사용된다.

헤이즐 캐스트(Hazelcast) 란?

헤이즐 캐스트(Hazelcast) 는 컴퓨팅에서 자바 기반의 오픈 소스 인메모리 데이터 그리드이다. 이 제품은 인 메모리 데이터 그리드(In Memory Data Grid, IMDG) 개념을 처음 도입한 제품이자 개발하는 회사의 이름이기도 하다.

헤이즐 캐스트(Hazelcast) 특징

  • 데이터는 항상 서버 측 RAM 메모리에 저장되어 빠른 속도를 갖는다.
  • 단일 또는 다중 서버에 장애가 발생할 경우, 자동으로 데이터를 복구하기 위해 여러대의 머신에 복수 개의 사본이 저장된다
    - 장애가 발생할 경우 클러스터 전역에 걸쳐 어떠한 데이터 손실도 발생하지 않는다.
  • 각각의 노드들은 기능적으로 똑같이 구성되고, p2p 방식으로 동작한다.
  • 데이터 모델은 객체 지향적이고 비관계형이다.
  • 서버의 CPU와 RAM 용량을 동적으로 추가 제거할 수 있다.
  • 데이터는 헤이즐캐스트에서 관계형 또는 NoSQL 데이터베이스를 사용해서 유지할 수 있다.
  • JAVA MAP API를 통해 분산된 Key-Value 스토어에 액세스할 수 있다.

References (참고 자료)

0개의 댓글