This document discusses in-memory computing and distributed systems. It provides an overview of Hazelcast, an open-source distributed systems and in-memory data grid platform. Key features highlighted include using standard Java collections and concurrency APIs, transparent data distribution, being a drop-in replacement for caching solutions, and having a disruptively simple design. Distributed computing concepts like data partitioning, parallel processing, and caching evolution are briefly explained.
2. www.hazelcast.com
Disclaimer
This presentation may include certain forward-looking statements and projections
provided by the Company. Any such statements and projections reďŹect various
estimates and assumptions by the Company concerning anticipated results. These
statements involve risks, uncertainties and assumptions and are based on the
current estimates and assumptions of the management of the Company as of the
date of this presentation and are subject to uncertainty and changes. No
representations or warranties are made by the Company as to the accuracy of any
such statements or projections. Whether or not any such forward-looking statements
or projections are in fact achieved will depend upon future events some of which are
not within the control of the Company. Accordingly, actual results may vary from the
projected results and such variations may be material. Statements contained herein
describing documents and agreements are summaries only and such summaries
are qualiďŹed in their entirety by reference to such documents and agreements.
15. www.hazelcast.com@noctarius2k
Data Distribution
String code = âsunnytechhubâ
Map<String, TShirtDelivery> shirts = Maps.create()
shirts.put(code, new TShirtDelivery(âYour Addressâ))
// Enter code at http://hazelcast.org/t-shirts :-)>
17. www.hazelcast.com@noctarius2k
Data Distribution
int hashcode = hash(code)
partitionId = hashcode % partitionCount
cluster.send(partitionId, code, delivery)
Must be a consistent hash function
Partition count must be constant
Can be calculated, smart routing possible
25. www.hazelcast.com@noctarius2k
Caches Are Simple!
public class Cache<K, V> {
private ďŹnal Map<K, V> cache = new CHM<>();
public void put(K key, V value) { cache.put(key, value); }
public V get(K key) { return cache.get(key); }
}
39. www.hazelcast.com@noctarius2k
Hazelcast in 5 Facts
⢠Java Collections API
⢠Java Concurrency API
⢠Transparent Data Distribution
⢠Drop-In Replacement
⢠Disruptively Simple
(c) Rod Johnson (@springrod)