클라우드 컴퓨팅 & NoSQL/Data Grid (IMDG)

HazelCast 공부 노트

Terry Cho 2014. 2. 11. 01:07



Basic Feature Set

* Distributed Map

- Usage is same as java map.

- But it is distributed and clusterd by Hazelcast. (HA supported)

example

HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);

        Map<Integer, String> mapCustomers = instance.getMap("customers");

        mapCustomers.put(1, "Joe");


* Distributed Set


* 1:1 Queue

-TBD


* 1:N Topic

-TBD


* Distributed Lock

-TBD


* Distributed Event

- it can add event listener to Map. so some certain Key or data comes in, event listener will be fired. 


* Distributed Executor server

- It is like Queue Consumer (Worker)


* Serialization 

- TBD


* Support persistence

- It can store the K/V to persistence store like file or RDBMS.

- It supportes Write-Behind (asyc) and Write-through (sync). Read Through (if get key is null, load it).

- It needs to check that during the persistence, I think HazelCast cluster will be stopped.



Advanced Feature Set

* Index

* SQL like query

* Transaction

* Entry Listener

* Eviction

* Control partitioning (from 3.1 )

- by using partition key

- map.put("Key@PartitionKey","Value");

the data will be stored in Partition that correspond to the partition key

* Map & reduce

* External add on 

- hazlemr/castmapr - MR framework form Hazelcast 2.x,3.x

- hazelblast - remote invocation


Cluster

* Super Client

- -Dhazelcast.super.client=true

- As fast as any member in the cluster. but hold no-data


Some numbers in Hazelcast

- Default partition amount 271

- Biggest cluster 100+ member

- Handles 100,000 message/sec by using Topic


Reference : 

http://www.slideshare.net/jaxLondonConference/clustering-your-application-with-hazelcast-talip-ozturk-hazelcast?from_search=1

http://www.slideshare.net/uzquiano/hazelcast-and-mongodb-at-cloud-cms

http://www.slideshare.net/ChristophEngelbert/hazelcast-inmemory-datagrid