하드웨어 관점 : 데이터 분석 시스템은 세가지 구성요소로 이루어져 있다.
1. 연산을 수행하는 프로세서
2. 처리의 대상이 되는 데이터를 저장할 저장장치
3. 이 둘 사이에 데이터를 전송하는 전송할 시스템
당연히 전체 데이터 분석 시스템의 성능을 저하하는 병목은 이 중에서 가장 느린 구성요소이다. 현재 사용되는 시스템에서의 병목은 단연 저장장치이다. 정확히 말하면 대용량 저장장치로 사용되는 하드디스크 시스템이 전체 시스템의 성능을 저하하는 병목이다.
이러한 병목 현상을 극복하기 위해서 오랫동안 사용되고 발전된 방법은 캐시—메모리—하드디스크로 구성되는 메모리 계층 구조를 사용하는 것이었다.
하지만 CPU의 성능이 급격하게 발전하여 CPU와 하드디스크의 속도 차이가 점점 증가하고, 인공지능이나 빅데이터, 사물인터넷 같은 새로운 기술의 발전에 따라 처리해야 할 데이터양이 기존의 캐시 스스템으로 지원하기에는 너무 급속하게 증대되었고 이런 필요성을 해결하기 위해 인메모리 컴퓨팅이 사용하게 되었다.
즉, 병목현상을 해결하기 위한 대인으로 데이터를 메모리에 보관·처리하고 하드디스크를 데이터의 안전한 보관(stash)하기 위해 사용하는 구조다.
이 차이점은 대표적인 예시로 Redis VS Hazelcast 가 될 수 있다.
인메모리 데이터베이스는 이름에서 알 수 있듯이 하드디스크나 SSD에 데이터를 저장하는 데이터베이스와는 달리 주로 메모리에 데이터를 저장하는 데이터베이스를 의미한다.
인메모리 데이터 그리드(IMDG)는 각각의 메모리를 공유하여 클러스터에서 동작하는 모든 애플리케이션들이 함께 사용할 수 있도록 하는 컴퓨터 클러스터를 의미한다. 하나의 컴퓨터 서버에서 제공할 수 있는 메모리보다 많은 메모리를 필요로 하는 대규모 애플리케이션들을 지원하기 위해 사용된다.
헤이즐 캐스트(Hazelcast) 는 컴퓨팅에서 자바 기반의 오픈 소스 인메모리 데이터 그리드이다. 이 제품은 인 메모리 데이터 그리드(In Memory Data Grid, IMDG) 개념을 처음 도입한 제품이자 개발하는 회사의 이름이기도 하다.
References (참고 자료)
- https://hazelcast.com/
- https://ko.wikipedia.org
- https://www.javainuse.com/hazel/hazelcast_hello
- https://slownews.kr/75315
- https://www.comworld.co.kr/news/articleView.html?idxno=49155
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hsm622&logNo=221652359513
- https://d2.naver.com/helloworld/106824