This document provides an agenda for a hands-on introduction and hackathon kickoff for Apache Geode. The agenda includes details about the hackathon, an introduction to Apache Geode including its history, key features, and roadmap. It also covers hands-on labs for building, running, and clustering Geode as well as creating a first application. The document concludes with information on how to contribute to the Geode project.
Apache Geode (incubating) Introduction with Docker
1. Hands-on Introduction
& Hackathon Kickoff
Ashvin Agrawal William Markito
@william_markito@aasoj
Powered by
Pivotal Open Source Hub (POSH)
(incubating)
2. • Hackathon Details
• Apache Geode Introduction
• History
• Key features and components
• Roadmap
• Hands-on lab
• Build & run
• Starting a cluster
• Using docker for clustering
• Your first app
• Q&A
2
Agenda
5. A distributed, memory-based data management platform for data
oriented apps that need:
• high performance, scalability, resiliency and continuous
availability
• fast access to critical data set
• location aware distributed data processing
• event driven data architecture
5
Introduction
7. 7
One size fits all ?
Cost of sorting is nlog(n)
• Data quality and quantity differences
• Eventual consistency
• Response time expectation
• Scalability challenges: disk, memory, network and
external systems
8. • 1000+ systems in production (real customers)
• Cutting edge use cases
8
Incubating… but rock solid
9. • 17 billion records in memory
• GE Power & Water's Remote Monitoring & Diagnostics Center
• 3 TB operational data in-memory, 400 TB archived
• China Railways
• 4.6 Million transactions a day / 40K transactions a second
• China Railways
9
Incubating… but rock solid
10. • Performance optimized persistence
• Configurable consistency
• Elastic capacity
• Latency minimizing distribution
• Heterogenous deployment
Designed for High Performance
10
+/-
L2 ~10 ns, memory ~100 ns, network <1ms, disk ~10ms
11. • Cache
• Region
• Member
• Client Cache
• Functions
• Listeners
11
Concepts
12. • Cache
• In-memory storage and management
for your data
• Configurable through XML, Spring,
Java API or CLI
• Collection of Region
12
Concepts
13. • Region
• Distributed java.util.Map on steroids
(Key/Value)
• Consistent API regardless of where or
how data is stored
• Observable (reactive)
• Highly available, redundant on cache
Member (s).
13
Concepts
15. • Persistent Regions
• Durability
• WAL for efficient writing
• Consistent recovery
• Compaction
15
Concepts
Server 1 Server N
16. • Member
• A process that has a connection to the
system
• A process that has created a cache
• Embeddable within your application
16
Concepts
Client
Locator
Server
17. • Client cache
• A process connected to the Geode
server(s)
• Can have a local copy of the data
• Can be notified about events on the
servers
17
Concepts
18. • Functions
• Used for distributed concurrent processing
(Map/Reduce, stored procedure)
• Highly available
• Data oriented
• Member oriented
18
Concepts
29. • Code
• New features
• Bug fixes
• Writing tests
• Documentation
• Wiki
• Web site
• User guide
29
How to Contribute
• Community
• Join the mailing list
• Ask or answer
• Join our HipChat
• Become a speaker
• Finding bugs
• Testing an RC/Beta