29
Hazelcast 소개 Open Source IMDG(In-Memory Data Grid) Mobile Convergence Laboratory 1 /

Hazelcast 소개

Embed Size (px)

Citation preview

Page 1: Hazelcast 소개

Hazelcast 소개Open Source IMDG(In-Memory Data Grid)

Mobile Convergence Laboratory 1 /

Page 2: Hazelcast 소개

Mobile Convergence Laboratory 2

ONOS와 Hazelcast는무슨 연관?

Page 3: Hazelcast 소개

Mobile Convergence Laboratory 3

Page 4: Hazelcast 소개

Mobile Convergence Laboratory 4

Page 5: Hazelcast 소개

Mobile Convergence Laboratory 5 / 22

Page 6: Hazelcast 소개

Mobile Convergence Laboratory 6 / 22

Page 7: Hazelcast 소개

Mobile Convergence Laboratory 7 / 22

Page 8: Hazelcast 소개

Mobile Convergence Laboratory 8 / 22

Page 9: Hazelcast 소개

• 분산 환경에서 데이터 공유를 위한 In-Memory Data Grid 오픈소스 솔루션

• 자바 기반의 클러스터링과 확장성을 목표로 한 분산 플랫폼

• 물리적으로 떨어져 있는 두 프로그램이 하나의 자료구조를 공유

• Apache 2.0 License

Mobile Convergence Laboratory 9 /

Page 10: Hazelcast 소개

Mobile Convergence Laboratory 10 /

Page 11: Hazelcast 소개

IMDG(In-Memory Data Grid)

• MMDB(Main Memory DBMS)와 발상은 같지만 아키텍처가 다르다.

• 저장소로 디스크 대신 메인 메모리를 사용하는 것 + 분산

• 데이터가 여러 서버에 분산 저장된다.

• 용량의 한계와 신뢰성

Mobile Convergence Laboratory 11 /

Page 12: Hazelcast 소개

IMDG(In-Memory Data Grid)

• Scalability 제공

• 데이터 모델은 객체지향형(serialize)이고 non-relation

Mobile Convergence Laboratory 12 /

Page 13: Hazelcast 소개

IMDG Architecture

Mobile Convergence Laboratory 13 /

AS(Application Server)

영구 저장

AS

읽기

쓰기

IMDG IMDG

IMDG IMDG

Database(optional)

Page 14: Hazelcast 소개

캐시 시스템과 다른 점.

Mobile Convergence Laboratory 14 /

Page 15: Hazelcast 소개

캐시 시스템과 다른 점.

• 캐시 시스템

• 읽기• 캐시 안에 데이터가 있다면 데이터베이스에서 읽어오지 않는다.

• 캐시 안에 데이터가 없을 때는DB에서 읽어온다.

• 쓰기• 영구 저장소(hard)에 쓰기 때문에 결론적으로 캐시 시스템 적용과는 상관없다.

• IMDG

• 읽기• 항상 메인 메모리에서 읽어오기때문에 빠르다.

• 쓰기• 비동기 쓰기 방식을 사용하며, 유휴 시간에 백업을 하기 때문에 App 단에선 쓰기 시간을 고려하지 않는다.

Mobile Convergence Laboratory 15 /

Page 16: Hazelcast 소개

IMDG의 기능

• Distributed Collections

• Distributed Topic & Event

• Distributed Lock

• Transactions

Mobile Convergence Laboratory 16 /

Page 17: Hazelcast 소개

IMDG의 기능

• Distributed Collections• Map, Set, List 자료구조에 분산 저장

• Distributed Topic & Event• 분산 Message Queue 시스템 제공, event 순서 보장

• Distributed Lock• 여러 분산 시스템에서 하나의 Lock을 사용해 동기화 가능

• Transactions

Mobile Convergence Laboratory 17 /

Page 18: Hazelcast 소개

Hazelcast의 특징 - 1

• Lightweight without any dependency

• JVM 위에서 동작• 시스템 종속성X

Mobile Convergence Laboratory 18 /

Page 19: Hazelcast 소개

Hazelcast의 특징 - 2

• Key-Value store

• Distributed MAP

• linear scalability as you add new nodes and reliability.

Mobile Convergence Laboratory 19 /

Page 20: Hazelcast 소개

Hazelcast의 특징 - 3

• 다른 IMDG 솔루션들에 비해 매우 사용하기 쉬움

• 타 제품• Terracotta

• VMware Gemfire

• Oracle Coherence

• IBM eXtreme Scale

• Jboss Infinispan

Mobile Convergence Laboratory 20 /

Page 21: Hazelcast 소개

Mobile Convergence Laboratory 21 /

Page 22: Hazelcast 소개

Mobile Convergence Laboratory 22 /

Page 23: Hazelcast 소개

Hazelcast 사용 사례

• Apache camel• Integration framework

• Vert.x• Event-driven application framework

• Apache karaf• OSGi

Mobile Convergence Laboratory 23 /

Page 24: Hazelcast 소개

Mobile Convergence Laboratory 24 /

Page 25: Hazelcast 소개

Mobile Convergence Laboratory 25 /

Page 26: Hazelcast 소개

Mobile Convergence Laboratory 26 /

client로 참여한 인스턴스

초기 생성한 Hazelcast 인스턴스

Page 27: Hazelcast 소개

WAN 클러스터링

Mobile Convergence Laboratory 27 /

Page 28: Hazelcast 소개

Mobile Convergence Laboratory 28 /

Page 29: Hazelcast 소개

참고 자료

• http://blog.hazelcast.com/

• http://hazelcast.org/

• http://hazelcast.com/

• https://github.com/hazelcast/hazelcast

Mobile Convergence Laboratory 29 /