SlideShare uma empresa Scribd logo
1 de 56
2© 2014 Pivotal Software, Inc. All rights reserved. 2© 2014 Pivotal Software, Inc. All rights reserved.
Introducing Apache Geode
with Spring Data GemFire
John Blum / Luke Shannon
24 June 2015
3© 2014 Pivotal Software, Inc. All rights reserved.
Agenda
 What is Apache Geode?
 Apache Geode Technical Specification
 High-level Implementation Details
 Spring Data GemFire
 Q&A
4© 2014 Pivotal Software, Inc. All rights reserved.
Pivotal GemFire
What is Apache Geode?
 In a nutshell…
– Open Source core of Pivotal GemFire
– Apache Incubator
▪ https://wiki.apache.org/incubator/GeodeProposal
5© 2014 Pivotal Software, Inc. All rights reserved.
What is Apache Geode?
One definition is…
A distributed, in-memory compute and data
management platform that elastically scales
to achieve high-throughput, low-latency
access to big, fast data in order to power
business critical, analytical applications in
real-time.
Nodes
Ops /
SecLinear scalability
Elastic capacity +/-
Latency optimized
data distribution
6© 2014 Pivotal Software, Inc. All rights reserved.
What is Apache Geode?
 Technically…
– Distributed, in-memory database (IMDG) with ACID properties
– Transactional Key/Value Store (Cache)
– Glorified-version of ConcurrentHashMap
– Message Bus with guaranteed message delivery
▪ Reliable, asynchronous event notifications
7© 2014 Pivotal Software, Inc. All rights reserved.
What Apache Geode Does?
 Enables new or existing Java applications to operate at cloud-scale
with predictable, low-latencies and be highly-available without
sacrificing consistency.
 Applications can transact and analyze Big Data in real-time to garner
insights and achieve meaningful and impactful business results.
Ap
p
Ap
p
Ap
p
Ap
p
8© 2014 Pivotal Software, Inc. All rights reserved.
Apache Geode Characteristics
 In-Memory
 Distributed
 Consistent
 Highly-Available / Fault Tolerant
 High-Throughput / Low, Predictable Latency
 High Scalability
 Data-aware Parallel Compute
9© 2014 Pivotal Software, Inc. All rights reserved.
How are Apache Geode’s features implemented?
10© 2014 Pivotal Software, Inc. All rights reserved.
Memory
 Geode stores data in memory…
– JVM Heap
– Off-Heap (Native Memory)
 Geode (optionally) stores data to disk
– Persistence + Overflow
11© 2014 Pivotal Software, Inc. All rights reserved.
Management
Memory
 Eviction (LRU)
 Expiration (Region & Entry TTL/TTI)
 Automatic resource management (critical & eviction Heap %)
 Region Compression (Snappy)
 JVM GC Tuning
12© 2014 Pivotal Software, Inc. All rights reserved.
IMDG
 An In-Memory Data Grid (IMDG), such as Apache Geode…
– Pools system resources across multiple nodes in a cluster to
manage both application state and behavior.
– Memory, CPU, Network and (optional) Disk
13© 2014 Pivotal Software, Inc. All rights reserved.
High-Throughput / Low-Latency
 Geode uses concurrent, in-memory data structures with a highly
optimized distribution infrastructure to minimize context switching and
contention.
– synchronous/asynchronous replication for high read throughput
– partitioning for both high read and write throughput
14© 2014 Pivotal Software, Inc. All rights reserved.
Shared-Nothing Disk Persistence Architecture
 Manages data in local disk files on each node in the cluster
independently from other nodes
– Members are self-sufficient; Members do not share memory or disk;
– Data/Transactions appended to Oplog files
– Compaction
 Design goals (all about In-Memory)…
– Minimize IO operations (Write-Behind vs. Write-Through)
– Minimize locking
– Minimize serialization
15© 2014 Pivotal Software, Inc. All rights reserved.
REPLICATE & PARTITION Regions
High Availability
 Data is partitioned across nodes in the cluster and distributed uniformly
– Rebalanced as nodes join/leave
– Redundant copies
16© 2014 Pivotal Software, Inc. All rights reserved.
Persistence – Shared Nothing
Server 3Server 2
Bucket 3
*primary*
Bucket 1
secondary
Bucket 3
secondary
Bucket 2
*primary*
Server 1
Bucket 2
secondary
Bucket 1
*primary*
17© 2014 Pivotal Software, Inc. All rights reserved.
Persistence – Shared Nothing
Server 1 Server 3Server 2
Bucket 2
secondary
Bucket 1
*primary*
Bucket 3
*primary*
Bucket 1
secondary
Bucket 3
secondary
Bucket 2
*primary*
What if a server
crashes?
18© 2014 Pivotal Software, Inc. All rights reserved.
Persistence – Shared Nothing
Server 1 Server 3Server 2
Bucket 2
secondary
Bucket 1
*primary*
Bucket 3
*primary*
Bucket 1
*primary*
Bucket 3
secondary
Bucket 2
*primary*
Bucket 2
secondary
Primary
Failover
Restore
Redundancy
Bucket 1
secondary
19© 2014 Pivotal Software, Inc. All rights reserved.
Network Partitions
20© 2014 Pivotal Software, Inc. All rights reserved.
Partition Regions
Configurable Consistency
 Redundant Copies
– 0 to 3
 Colocation
 Total Number of Buckets
– 113 (Default)
 Local Max Memory
– 90% of Heap
 Total Max Memory
– All Members, Both Primary/Secondary
Copies
21© 2014 Pivotal Software, Inc. All rights reserved.
REPLICATE vs. PARTITION
Configurable Consistency
 Partition Regions
– Updates routed through primary bucket
– Holds lock on key when distributing updates
 Replicate Regions
– Possible conflicts due to out-of-order updates
– Conflict checking (--concurrency-checks-enabled)
ReplicatedPartitioned Disabled
22© 2014 Pivotal Software, Inc. All rights reserved.
Apache Geode Topologies
23© 2014 Pivotal Software, Inc. All rights reserved.
Peer-to-Peer (P2P)
Apache Geode Topologies
 Configuration with the Cache embedded in the application process
– Close proximity of application logic and data
24© 2014 Pivotal Software, Inc. All rights reserved.
Client/Server
Apache Geode Topologies
 Single-Hop Data Access
 Continuously load balanced between
servers to get the best response-times
`
 Automatic fail-over when servers crash or
become unresponsive
25© 2014 Pivotal Software, Inc. All rights reserved.
WAN
Apache Geode Topologies
 Site-to-Site Replication for DR
26© 2014 Pivotal Software, Inc. All rights reserved.
Use Cases
Apache Geode
 Persistent OLTP/OLAP
– System of Record (SOR)
 Caching with JSR-107 (JCache) or Spring Cache Abstraction
 HTTP Session State Management
– Caching and Replication
 Distributed L2 Caching for Hibernate
 Memcached Server (Gemcached)
27© 2014 Pivotal Software, Inc. All rights reserved.
Additional Features
Apache Geode
 Functions
– Application logic is distributed, routed and run in parallel with close proximity to the data required by the
application.
 Serialization (PDX)
 Delta-propagation
– difference of new/old value
 JTA-compliant Transactions
 Security
– SSL, Auth
28© 2014 Pivotal Software, Inc. All rights reserved.
Roadmap
Apache Geode
 HDFS persistence
 Off-Heap storage
 Lucene search/indexing
 Spark integration
 Cloud Foundry service
29© 2014 Pivotal Software, Inc. All rights reserved.
Interface
Apache Geode
 Language Support
– Native: Java, C/C++, C#
– Non-native: JavaScript, Python,
Ruby, Scala, etc
 API
– Java HashMap (Region)
– OQL / Function
– Memcache client
– REST API
– Spring Data GemFire
 Data Structure
– User-defined Classes / POJOs
– Portable Data Exchange (PDX)
– Documents (JSON)
 Powerful Data Access
– Object Query Language (OQL)
– Data-aware, Scatter-Gather
Functions
– Publish/Scribe framework for RI/CQs
with reliable, async event queues
30© 2014 Pivotal Software, Inc. All rights reserved. 30© 2014 Pivotal Software, Inc. All rights reserved.
Spring Data GemFire
http://projects.spring.io/spring-data-gemfire/
31© 2014 Pivotal Software, Inc. All rights reserved.
So… Why Spring?
32© 2014 Pivotal Software, Inc. All rights reserved.
“Simple things should be simple;
complex things should be possible”
– Alan Kay
33© 2014 Pivotal Software, Inc. All rights reserved.
Spring Data GemFire (SDG)
Consistently applies Spring's powerful, non-invasive programming model
to simplify configuration and development with Apache Geode.
Spring Ecosystem Integration…
– Spring Cache Abstraction / Transaction Management
– Spring Data Commons + REST
– Spring Integration (Inbound/Outbound Channel Adapters)
– Spring XD (Input Source and Sinks)
34© 2014 Pivotal Software, Inc. All rights reserved.
Apache Geode combined with Spring Data GemFire
can be used as JSR-107 (JCache) caching provider
+ +
35© 2014 Pivotal Software, Inc. All rights reserved.
GRAILS
Full-stack, Web
XD
Stream, Taps, Jobs
BOOT
Bootable, Minimal, Ops-Ready
Big,
Fast,
Flexible
Data Web,
Integration,
Batch
WEB
Controllers, REST,
WebSocket
INTEGRATION
Channels, Adapters,
Filters, Transformers
BATCH
Jobs, Steps,
Readers, Writers
BIG DATA
Ingestion, Export,
Orchestration, Hadoop
DATA
NON-RELATIONALRELATIONAL
CORE
GROOVYFRAMEWORK SECURITY REACTOR
36© 2014 Pivotal Software, Inc. All rights reserved.
Use Cases / Configurations
Spring Data GemFire
 Apache Geode Configuration / Bootstrapping
– Replacement for cache.xml; Can be used with Cluster Configuration
 Application Peer (Cache)
 Application Client (ClientCache)
37© 2014 Pivotal Software, Inc. All rights reserved.
Examples…
SDG-based Configuration
38© 2014 Pivotal Software, Inc. All rights reserved.
with Spring
Bootstrapping Apache Geode
@SpringBootApplication
@ImportResource("/spring-data-gemfire-cache.xml")
@EnableGemfireRepositories
@EnableTransactionManagement
public class SampleDataGemFireApplication {
public static void main(String[] args) {
SpringApplication.run(SampleDataGemFireApplication.class, args);
}
}
Or…
gfsh>start server –name=Example … --spring-xml-location=“<classpath-to-spring-application-
context.xml>”
39© 2014 Pivotal Software, Inc. All rights reserved.
Basic (Region) Data Access
Data Access with Spring
@Repository
public class CustomerDao {
@Resource(name = “Example”)
private Region<?, ?> example;
…
}
Example…
40© 2014 Pivotal Software, Inc. All rights reserved.
GemfireTemplate
Data Access with Spring Data GemFire
 Advantages…
– Simple, Convenient Data Access (CRUD, OQL, Function)
– Protects developer from GemFire/Geode API changes
– Exception Translation into Spring DAO Exception Hierarchy
– Transaction Management
<bean name=“customersTemplate” class=“org.springframework.data.gemfire.GemfireTemplate”
p:region-ref=“Customers”>
41© 2014 Pivotal Software, Inc. All rights reserved.
GemfireRepository
Data Access with Repositories
public interface CustomerRepository extends GemfireRepository<Customer, Long> {
}
// Spring context.xml
<gfe-data:repositories base-package="org.example.app.customer.dao.repo">
<repo:include-filter type="assignable"
expression=”org.example.app.customer.dao.repo.CustomerRepository"/>
</gfe-data:repositories>
Example…
42© 2014 Pivotal Software, Inc. All rights reserved.
Implementation
Annotation-based Function Implementation/Execution
package org.example.app.functions;
import …
@Component
public class ExampleFunctions {
@GemfireFunction
public Customer update(…) {
…
}
…
}
Example…
(Optional)…
<bean class=“org.example….ExampleFunctions”/>
43© 2014 Pivotal Software, Inc. All rights reserved.
Execution
Annotation-based Function Implementation/Execution
package org.example.app.function.executions;
import …
@OnRegion(“Example”)
public interface ExampleFunctionExecution {
Customer update(…);
}
And…
<gfe:annotation-driven/>
<gfe-data:function-executions base-package="org.example.app.function.executions">
44© 2014 Pivotal Software, Inc. All rights reserved.
Execution
Annotation-based Function Implementation/Execution
 Additionally…
– @OnServer(s), @OnMember(s)
 Examples…
45© 2014 Pivotal Software, Inc. All rights reserved.
JSR-107 (JCache), Spring Cache Abstraction
Geode Caching Provider
 With @Cacheable
 And @CachePut, @CacheEvict(allEntries=[true|false]),
@CacheConfig
– http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#cache-jsr-107
 Or with JSR-107 using…
– @CacheResult, @CachePut, @CacheRemove, @CacheRemoveAll,
@CacheDefaults
46© 2014 Pivotal Software, Inc. All rights reserved. 46© 2014 Pivotal Software, Inc. All rights reserved.
Demo
By Luke Shannon
47© 2014 Pivotal Software, Inc. All rights reserved.
On the horizon…
48© 2014 Pivotal Software, Inc. All rights reserved.
Roadmap
Spring Data GemFire
 Support for GemFire 8.2 & 9.0
– HDFS, Off-Heap, Apache Lucene, Spark
 Support for pre-defined data sets using Snapshot Service
– SGG-408
 Expiration annotation support with CustomExpiry
– SGF-404
 Spring Session Adapter for GemFire/Geode
– SGF-373
49© 2014 Pivotal Software, Inc. All rights reserved.
Roadmap Continued…
Spring Data GemFire
 Repository Query method annotation extensions...
– SGF-392
public interface ExampleRepository implements GemfireRepository<Customer, Long> {
@Trace
@Limit(20)
@Import(“org.example.app.domain.SomeOtherType”)
List<Customer> findByLastname(String lastName);
}
50© 2014 Pivotal Software, Inc. All rights reserved.
Get Involved…
51© 2014 Pivotal Software, Inc. All rights reserved.
Apache Geode
Contribute
 In addition to developing Spring applications with Apache Geode, now is
a perfect time to get involved in the Apache Geode community and
contribute growing Apache project from the ground-up.
– Ways to participate…
http://geode.incubator.apache.org/contribute/
52© 2014 Pivotal Software, Inc. All rights reserved.
Finally…
53© 2014 Pivotal Software, Inc. All rights reserved.
Washington, DC – September 14 – 17, 2015
SpringOne2GX
 Early Bird price registration ends August 14th, Register Now!
– https://2015.event.springone2gx.com/register
 Building High-Scalable Spring Applications with Distributed In-Memory
Data Grids.
– Luke Shannon & John Blum
– Tuesday, September 15th, 2015
– https://2015.event.springone2gx.com/schedule/sessions/building_highly_scalable_spring_applications_with_in_m
emory_distributed_data_grids.html
54© 2014 Pivotal Software, Inc. All rights reserved.
References
 http://geode.incubator.apache.org/
 http://geode.incubator.apache.org/contribute/
 https://github.com/project-geode/docs/wiki
 https://github.com/apache/incubator-geode
 https://pivotal.io/big-data/pivotal-gemfire
 http://gemfire.docs.pivotal.io/latest/userguide/index.html#getting_started/topics/gemfire_overview.html
 http://gemfire.docs.pivotal.io/latest/javadocs/japi/index.html
 http://stackoverflow.com/questions/tagged/geode+or+gemfire
 http://projects.spring.io/spring-data-gemfire/
 http://docs.spring.io/spring-data-gemfire/docs/1.6.0.RELEASE/reference/html/
 http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/
 http://docs.spring.io/spring-data-gemfire/docs/current/api/
 https://github.com/spring-projects/spring-data-gemfire
 https://github.com/spring-projects/spring-gemfire-examples
 http://stackoverflow.com/questions/tagged/spring-data-gemfire
55© 2014 Pivotal Software, Inc. All rights reserved. 55© 2014 Pivotal Software, Inc. All rights reserved.
Q&A
Any questions…
56© 2014 Pivotal Software, Inc. All rights reserved. 56© 2014 Pivotal Software, Inc. All rights reserved.
Thank you!

Mais conteúdo relacionado

Mais procurados

Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement VMware Tanzu
 
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XDScale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XDVMware Tanzu
 
YARN Containerized Services: Fading The Lines Between On-Prem And Cloud
YARN Containerized Services: Fading The Lines Between On-Prem And CloudYARN Containerized Services: Fading The Lines Between On-Prem And Cloud
YARN Containerized Services: Fading The Lines Between On-Prem And CloudDataWorks Summit
 
Running Enterprise Workloads in the Cloud
Running Enterprise Workloads in the CloudRunning Enterprise Workloads in the Cloud
Running Enterprise Workloads in the CloudDataWorks Summit
 
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CITApache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CITApache Geode
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six MonthsAnthony Baker
 
Beginner's Guide to High Availability for Postgres
Beginner's Guide to High Availability for Postgres Beginner's Guide to High Availability for Postgres
Beginner's Guide to High Availability for Postgres EDB
 
How to Design for Database High Availability
How to Design for Database High AvailabilityHow to Design for Database High Availability
How to Design for Database High AvailabilityEDB
 
HBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, SolutionsHBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, SolutionsDataWorks Summit
 
CF Korea Meetup - Spring Cloud Services
CF Korea Meetup - Spring Cloud ServicesCF Korea Meetup - Spring Cloud Services
CF Korea Meetup - Spring Cloud ServicesJay Lee
 
Build your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open SourceBuild your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open SourceApache Geode
 
Hive 3 - a new horizon
Hive 3 - a new horizonHive 3 - a new horizon
Hive 3 - a new horizonThejas Nair
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodePivotalOpenSourceHub
 
Best Practices & Lessons Learned from Deployment of PostgreSQL
 Best Practices & Lessons Learned from Deployment of PostgreSQL Best Practices & Lessons Learned from Deployment of PostgreSQL
Best Practices & Lessons Learned from Deployment of PostgreSQLEDB
 
OLTP+OLAP=HTAP
 OLTP+OLAP=HTAP OLTP+OLAP=HTAP
OLTP+OLAP=HTAPEDB
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode
 

Mais procurados (20)

Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
 
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XDScale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
 
ApexMeetup Geode - Talk1 2016-03-17
ApexMeetup Geode - Talk1 2016-03-17ApexMeetup Geode - Talk1 2016-03-17
ApexMeetup Geode - Talk1 2016-03-17
 
YARN Containerized Services: Fading The Lines Between On-Prem And Cloud
YARN Containerized Services: Fading The Lines Between On-Prem And CloudYARN Containerized Services: Fading The Lines Between On-Prem And Cloud
YARN Containerized Services: Fading The Lines Between On-Prem And Cloud
 
Geode Meetup Apachecon
Geode Meetup ApacheconGeode Meetup Apachecon
Geode Meetup Apachecon
 
Running Enterprise Workloads in the Cloud
Running Enterprise Workloads in the CloudRunning Enterprise Workloads in the Cloud
Running Enterprise Workloads in the Cloud
 
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CITApache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CIT
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
 
Beginner's Guide to High Availability for Postgres
Beginner's Guide to High Availability for Postgres Beginner's Guide to High Availability for Postgres
Beginner's Guide to High Availability for Postgres
 
What's New in Apache Hive
What's New in Apache HiveWhat's New in Apache Hive
What's New in Apache Hive
 
Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010
 
How to Design for Database High Availability
How to Design for Database High AvailabilityHow to Design for Database High Availability
How to Design for Database High Availability
 
HBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, SolutionsHBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, Solutions
 
CF Korea Meetup - Spring Cloud Services
CF Korea Meetup - Spring Cloud ServicesCF Korea Meetup - Spring Cloud Services
CF Korea Meetup - Spring Cloud Services
 
Build your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open SourceBuild your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open Source
 
Hive 3 - a new horizon
Hive 3 - a new horizonHive 3 - a new horizon
Hive 3 - a new horizon
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache Geode
 
Best Practices & Lessons Learned from Deployment of PostgreSQL
 Best Practices & Lessons Learned from Deployment of PostgreSQL Best Practices & Lessons Learned from Deployment of PostgreSQL
Best Practices & Lessons Learned from Deployment of PostgreSQL
 
OLTP+OLAP=HTAP
 OLTP+OLAP=HTAP OLTP+OLAP=HTAP
OLTP+OLAP=HTAP
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
 

Destaque

Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...Christian Tzolov
 
Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data GemfireAkihiro Kitada
 
Analytics in IoT
Analytics in IoTAnalytics in IoT
Analytics in IoTwesley Dias
 
More Than Websites: PHP And The Firehose @DataSift (2013)
More Than Websites: PHP And The Firehose @DataSift (2013)More Than Websites: PHP And The Firehose @DataSift (2013)
More Than Websites: PHP And The Firehose @DataSift (2013)Stuart Herbert
 
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...Christian Tzolov
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Manik Surtani
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introductionjbugkorea
 
Архитектура Apache Ignite .NET
Архитектура Apache Ignite .NETАрхитектура Apache Ignite .NET
Архитектура Apache Ignite .NETMikhail Shcherbakov
 
Building Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache GeodeBuilding Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache GeodeAndre Langevin
 
Infinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data gridsInfinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data gridsGalder Zamarreño
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to ProductionC2B2 Consulting
 
Hacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQLHacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQLCodemotion
 
Infinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLInfinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLManik Surtani
 
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data EvictionKeeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data EvictionGalder Zamarreño
 
Apache geode
Apache geodeApache geode
Apache geodeYogesh BG
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache GeodeSwapnil Bawaskar
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Anthony Baker
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationPivotalOpenSourceHub
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처Jaehong Cheon
 

Destaque (20)

Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
 
Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data Gemfire
 
Geode hands-on
Geode hands-onGeode hands-on
Geode hands-on
 
Analytics in IoT
Analytics in IoTAnalytics in IoT
Analytics in IoT
 
More Than Websites: PHP And The Firehose @DataSift (2013)
More Than Websites: PHP And The Firehose @DataSift (2013)More Than Websites: PHP And The Firehose @DataSift (2013)
More Than Websites: PHP And The Firehose @DataSift (2013)
 
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introduction
 
Архитектура Apache Ignite .NET
Архитектура Apache Ignite .NETАрхитектура Apache Ignite .NET
Архитектура Apache Ignite .NET
 
Building Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache GeodeBuilding Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache Geode
 
Infinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data gridsInfinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data grids
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to Production
 
Hacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQLHacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQL
 
Infinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLInfinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQL
 
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data EvictionKeeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
 
Apache geode
Apache geodeApache geode
Apache geode
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache Geode
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based Replication
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처
 

Semelhante a Introducing Apache Geode with Spring Data GemFire

Data Virtualization and ETL
Data Virtualization and ETLData Virtualization and ETL
Data Virtualization and ETLLily Luo
 
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014Modern Data Stack France
 
CF Korea Meetup - Gemfire on PCF
CF Korea Meetup - Gemfire on PCF CF Korea Meetup - Gemfire on PCF
CF Korea Meetup - Gemfire on PCF Jay Lee
 
Comparing the TCO of HP NonStop with Oracle RAC
Comparing the TCO of HP NonStop with Oracle RACComparing the TCO of HP NonStop with Oracle RAC
Comparing the TCO of HP NonStop with Oracle RACThomas Burg
 
Big and Fast Data - Building Infinitely Scalable Systems
Big and Fast Data - Building Infinitely Scalable SystemsBig and Fast Data - Building Infinitely Scalable Systems
Big and Fast Data - Building Infinitely Scalable SystemsFred Melo
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Fran Navarro
 
Pivotal deep dive_on_pivotal_hd_world_class_hdfs_platform
Pivotal deep dive_on_pivotal_hd_world_class_hdfs_platformPivotal deep dive_on_pivotal_hd_world_class_hdfs_platform
Pivotal deep dive_on_pivotal_hd_world_class_hdfs_platformEMC
 
Open Sourcing GemFire - Apache Geode
Open Sourcing GemFire - Apache GeodeOpen Sourcing GemFire - Apache Geode
Open Sourcing GemFire - Apache GeodeApache Geode
 
Streaming solutions for real time problems
Streaming solutions for real time problems Streaming solutions for real time problems
Streaming solutions for real time problems Aparna Gaonkar
 
Scaling Spring Boot Applications in Real-Time
Scaling Spring Boot Applications in Real-TimeScaling Spring Boot Applications in Real-Time
Scaling Spring Boot Applications in Real-TimeVMware Tanzu
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Tomek Borek
 
Apache Hive: From MapReduce to Enterprise-grade Big Data Warehousing
Apache Hive: From MapReduce to Enterprise-grade Big Data WarehousingApache Hive: From MapReduce to Enterprise-grade Big Data Warehousing
Apache Hive: From MapReduce to Enterprise-grade Big Data Warehousingc-bslim
 
Getting Started with Apache Geode
Getting Started with Apache GeodeGetting Started with Apache Geode
Getting Started with Apache GeodeJohn Blum
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014EDB
 
Exadata x4 for_sap
Exadata x4 for_sapExadata x4 for_sap
Exadata x4 for_sapFran Navarro
 
Hp Converged Systems and Hortonworks - Webinar Slides
Hp Converged Systems and Hortonworks - Webinar SlidesHp Converged Systems and Hortonworks - Webinar Slides
Hp Converged Systems and Hortonworks - Webinar SlidesHortonworks
 
[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil Govindan
[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil Govindan[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil Govindan
[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil GovindanNewton Alex
 
EMC HADOOP Storage Strategy
EMC HADOOP Storage StrategyEMC HADOOP Storage Strategy
EMC HADOOP Storage Strategywalshe1
 
Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...
Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...
Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...EMC
 

Semelhante a Introducing Apache Geode with Spring Data GemFire (20)

Data Virtualization and ETL
Data Virtualization and ETLData Virtualization and ETL
Data Virtualization and ETL
 
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
 
CF Korea Meetup - Gemfire on PCF
CF Korea Meetup - Gemfire on PCF CF Korea Meetup - Gemfire on PCF
CF Korea Meetup - Gemfire on PCF
 
Comparing the TCO of HP NonStop with Oracle RAC
Comparing the TCO of HP NonStop with Oracle RACComparing the TCO of HP NonStop with Oracle RAC
Comparing the TCO of HP NonStop with Oracle RAC
 
Big and Fast Data - Building Infinitely Scalable Systems
Big and Fast Data - Building Infinitely Scalable SystemsBig and Fast Data - Building Infinitely Scalable Systems
Big and Fast Data - Building Infinitely Scalable Systems
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster
 
Pivotal deep dive_on_pivotal_hd_world_class_hdfs_platform
Pivotal deep dive_on_pivotal_hd_world_class_hdfs_platformPivotal deep dive_on_pivotal_hd_world_class_hdfs_platform
Pivotal deep dive_on_pivotal_hd_world_class_hdfs_platform
 
Open Sourcing GemFire - Apache Geode
Open Sourcing GemFire - Apache GeodeOpen Sourcing GemFire - Apache Geode
Open Sourcing GemFire - Apache Geode
 
Streaming solutions for real time problems
Streaming solutions for real time problems Streaming solutions for real time problems
Streaming solutions for real time problems
 
Scaling Spring Boot Applications in Real-Time
Scaling Spring Boot Applications in Real-TimeScaling Spring Boot Applications in Real-Time
Scaling Spring Boot Applications in Real-Time
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
 
Apache Hive: From MapReduce to Enterprise-grade Big Data Warehousing
Apache Hive: From MapReduce to Enterprise-grade Big Data WarehousingApache Hive: From MapReduce to Enterprise-grade Big Data Warehousing
Apache Hive: From MapReduce to Enterprise-grade Big Data Warehousing
 
Getting Started with Apache Geode
Getting Started with Apache GeodeGetting Started with Apache Geode
Getting Started with Apache Geode
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014
 
Ceph's journey at SUSE
Ceph's journey at SUSECeph's journey at SUSE
Ceph's journey at SUSE
 
Exadata x4 for_sap
Exadata x4 for_sapExadata x4 for_sap
Exadata x4 for_sap
 
Hp Converged Systems and Hortonworks - Webinar Slides
Hp Converged Systems and Hortonworks - Webinar SlidesHp Converged Systems and Hortonworks - Webinar Slides
Hp Converged Systems and Hortonworks - Webinar Slides
 
[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil Govindan
[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil Govindan[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil Govindan
[Hadoop Meetup] Tensorflow on Apache Hadoop YARN - Sunil Govindan
 
EMC HADOOP Storage Strategy
EMC HADOOP Storage StrategyEMC HADOOP Storage Strategy
EMC HADOOP Storage Strategy
 
Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...
Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...
Pivotal: Hadoop for Powerful Processing of Unstructured Data for Valuable Ins...
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Introducing Apache Geode with Spring Data GemFire

  • 1.
  • 2. 2© 2014 Pivotal Software, Inc. All rights reserved. 2© 2014 Pivotal Software, Inc. All rights reserved. Introducing Apache Geode with Spring Data GemFire John Blum / Luke Shannon 24 June 2015
  • 3. 3© 2014 Pivotal Software, Inc. All rights reserved. Agenda  What is Apache Geode?  Apache Geode Technical Specification  High-level Implementation Details  Spring Data GemFire  Q&A
  • 4. 4© 2014 Pivotal Software, Inc. All rights reserved. Pivotal GemFire What is Apache Geode?  In a nutshell… – Open Source core of Pivotal GemFire – Apache Incubator ▪ https://wiki.apache.org/incubator/GeodeProposal
  • 5. 5© 2014 Pivotal Software, Inc. All rights reserved. What is Apache Geode? One definition is… A distributed, in-memory compute and data management platform that elastically scales to achieve high-throughput, low-latency access to big, fast data in order to power business critical, analytical applications in real-time. Nodes Ops / SecLinear scalability Elastic capacity +/- Latency optimized data distribution
  • 6. 6© 2014 Pivotal Software, Inc. All rights reserved. What is Apache Geode?  Technically… – Distributed, in-memory database (IMDG) with ACID properties – Transactional Key/Value Store (Cache) – Glorified-version of ConcurrentHashMap – Message Bus with guaranteed message delivery ▪ Reliable, asynchronous event notifications
  • 7. 7© 2014 Pivotal Software, Inc. All rights reserved. What Apache Geode Does?  Enables new or existing Java applications to operate at cloud-scale with predictable, low-latencies and be highly-available without sacrificing consistency.  Applications can transact and analyze Big Data in real-time to garner insights and achieve meaningful and impactful business results. Ap p Ap p Ap p Ap p
  • 8. 8© 2014 Pivotal Software, Inc. All rights reserved. Apache Geode Characteristics  In-Memory  Distributed  Consistent  Highly-Available / Fault Tolerant  High-Throughput / Low, Predictable Latency  High Scalability  Data-aware Parallel Compute
  • 9. 9© 2014 Pivotal Software, Inc. All rights reserved. How are Apache Geode’s features implemented?
  • 10. 10© 2014 Pivotal Software, Inc. All rights reserved. Memory  Geode stores data in memory… – JVM Heap – Off-Heap (Native Memory)  Geode (optionally) stores data to disk – Persistence + Overflow
  • 11. 11© 2014 Pivotal Software, Inc. All rights reserved. Management Memory  Eviction (LRU)  Expiration (Region & Entry TTL/TTI)  Automatic resource management (critical & eviction Heap %)  Region Compression (Snappy)  JVM GC Tuning
  • 12. 12© 2014 Pivotal Software, Inc. All rights reserved. IMDG  An In-Memory Data Grid (IMDG), such as Apache Geode… – Pools system resources across multiple nodes in a cluster to manage both application state and behavior. – Memory, CPU, Network and (optional) Disk
  • 13. 13© 2014 Pivotal Software, Inc. All rights reserved. High-Throughput / Low-Latency  Geode uses concurrent, in-memory data structures with a highly optimized distribution infrastructure to minimize context switching and contention. – synchronous/asynchronous replication for high read throughput – partitioning for both high read and write throughput
  • 14. 14© 2014 Pivotal Software, Inc. All rights reserved. Shared-Nothing Disk Persistence Architecture  Manages data in local disk files on each node in the cluster independently from other nodes – Members are self-sufficient; Members do not share memory or disk; – Data/Transactions appended to Oplog files – Compaction  Design goals (all about In-Memory)… – Minimize IO operations (Write-Behind vs. Write-Through) – Minimize locking – Minimize serialization
  • 15. 15© 2014 Pivotal Software, Inc. All rights reserved. REPLICATE & PARTITION Regions High Availability  Data is partitioned across nodes in the cluster and distributed uniformly – Rebalanced as nodes join/leave – Redundant copies
  • 16. 16© 2014 Pivotal Software, Inc. All rights reserved. Persistence – Shared Nothing Server 3Server 2 Bucket 3 *primary* Bucket 1 secondary Bucket 3 secondary Bucket 2 *primary* Server 1 Bucket 2 secondary Bucket 1 *primary*
  • 17. 17© 2014 Pivotal Software, Inc. All rights reserved. Persistence – Shared Nothing Server 1 Server 3Server 2 Bucket 2 secondary Bucket 1 *primary* Bucket 3 *primary* Bucket 1 secondary Bucket 3 secondary Bucket 2 *primary* What if a server crashes?
  • 18. 18© 2014 Pivotal Software, Inc. All rights reserved. Persistence – Shared Nothing Server 1 Server 3Server 2 Bucket 2 secondary Bucket 1 *primary* Bucket 3 *primary* Bucket 1 *primary* Bucket 3 secondary Bucket 2 *primary* Bucket 2 secondary Primary Failover Restore Redundancy Bucket 1 secondary
  • 19. 19© 2014 Pivotal Software, Inc. All rights reserved. Network Partitions
  • 20. 20© 2014 Pivotal Software, Inc. All rights reserved. Partition Regions Configurable Consistency  Redundant Copies – 0 to 3  Colocation  Total Number of Buckets – 113 (Default)  Local Max Memory – 90% of Heap  Total Max Memory – All Members, Both Primary/Secondary Copies
  • 21. 21© 2014 Pivotal Software, Inc. All rights reserved. REPLICATE vs. PARTITION Configurable Consistency  Partition Regions – Updates routed through primary bucket – Holds lock on key when distributing updates  Replicate Regions – Possible conflicts due to out-of-order updates – Conflict checking (--concurrency-checks-enabled) ReplicatedPartitioned Disabled
  • 22. 22© 2014 Pivotal Software, Inc. All rights reserved. Apache Geode Topologies
  • 23. 23© 2014 Pivotal Software, Inc. All rights reserved. Peer-to-Peer (P2P) Apache Geode Topologies  Configuration with the Cache embedded in the application process – Close proximity of application logic and data
  • 24. 24© 2014 Pivotal Software, Inc. All rights reserved. Client/Server Apache Geode Topologies  Single-Hop Data Access  Continuously load balanced between servers to get the best response-times `  Automatic fail-over when servers crash or become unresponsive
  • 25. 25© 2014 Pivotal Software, Inc. All rights reserved. WAN Apache Geode Topologies  Site-to-Site Replication for DR
  • 26. 26© 2014 Pivotal Software, Inc. All rights reserved. Use Cases Apache Geode  Persistent OLTP/OLAP – System of Record (SOR)  Caching with JSR-107 (JCache) or Spring Cache Abstraction  HTTP Session State Management – Caching and Replication  Distributed L2 Caching for Hibernate  Memcached Server (Gemcached)
  • 27. 27© 2014 Pivotal Software, Inc. All rights reserved. Additional Features Apache Geode  Functions – Application logic is distributed, routed and run in parallel with close proximity to the data required by the application.  Serialization (PDX)  Delta-propagation – difference of new/old value  JTA-compliant Transactions  Security – SSL, Auth
  • 28. 28© 2014 Pivotal Software, Inc. All rights reserved. Roadmap Apache Geode  HDFS persistence  Off-Heap storage  Lucene search/indexing  Spark integration  Cloud Foundry service
  • 29. 29© 2014 Pivotal Software, Inc. All rights reserved. Interface Apache Geode  Language Support – Native: Java, C/C++, C# – Non-native: JavaScript, Python, Ruby, Scala, etc  API – Java HashMap (Region) – OQL / Function – Memcache client – REST API – Spring Data GemFire  Data Structure – User-defined Classes / POJOs – Portable Data Exchange (PDX) – Documents (JSON)  Powerful Data Access – Object Query Language (OQL) – Data-aware, Scatter-Gather Functions – Publish/Scribe framework for RI/CQs with reliable, async event queues
  • 30. 30© 2014 Pivotal Software, Inc. All rights reserved. 30© 2014 Pivotal Software, Inc. All rights reserved. Spring Data GemFire http://projects.spring.io/spring-data-gemfire/
  • 31. 31© 2014 Pivotal Software, Inc. All rights reserved. So… Why Spring?
  • 32. 32© 2014 Pivotal Software, Inc. All rights reserved. “Simple things should be simple; complex things should be possible” – Alan Kay
  • 33. 33© 2014 Pivotal Software, Inc. All rights reserved. Spring Data GemFire (SDG) Consistently applies Spring's powerful, non-invasive programming model to simplify configuration and development with Apache Geode. Spring Ecosystem Integration… – Spring Cache Abstraction / Transaction Management – Spring Data Commons + REST – Spring Integration (Inbound/Outbound Channel Adapters) – Spring XD (Input Source and Sinks)
  • 34. 34© 2014 Pivotal Software, Inc. All rights reserved. Apache Geode combined with Spring Data GemFire can be used as JSR-107 (JCache) caching provider + +
  • 35. 35© 2014 Pivotal Software, Inc. All rights reserved. GRAILS Full-stack, Web XD Stream, Taps, Jobs BOOT Bootable, Minimal, Ops-Ready Big, Fast, Flexible Data Web, Integration, Batch WEB Controllers, REST, WebSocket INTEGRATION Channels, Adapters, Filters, Transformers BATCH Jobs, Steps, Readers, Writers BIG DATA Ingestion, Export, Orchestration, Hadoop DATA NON-RELATIONALRELATIONAL CORE GROOVYFRAMEWORK SECURITY REACTOR
  • 36. 36© 2014 Pivotal Software, Inc. All rights reserved. Use Cases / Configurations Spring Data GemFire  Apache Geode Configuration / Bootstrapping – Replacement for cache.xml; Can be used with Cluster Configuration  Application Peer (Cache)  Application Client (ClientCache)
  • 37. 37© 2014 Pivotal Software, Inc. All rights reserved. Examples… SDG-based Configuration
  • 38. 38© 2014 Pivotal Software, Inc. All rights reserved. with Spring Bootstrapping Apache Geode @SpringBootApplication @ImportResource("/spring-data-gemfire-cache.xml") @EnableGemfireRepositories @EnableTransactionManagement public class SampleDataGemFireApplication { public static void main(String[] args) { SpringApplication.run(SampleDataGemFireApplication.class, args); } } Or… gfsh>start server –name=Example … --spring-xml-location=“<classpath-to-spring-application- context.xml>”
  • 39. 39© 2014 Pivotal Software, Inc. All rights reserved. Basic (Region) Data Access Data Access with Spring @Repository public class CustomerDao { @Resource(name = “Example”) private Region<?, ?> example; … } Example…
  • 40. 40© 2014 Pivotal Software, Inc. All rights reserved. GemfireTemplate Data Access with Spring Data GemFire  Advantages… – Simple, Convenient Data Access (CRUD, OQL, Function) – Protects developer from GemFire/Geode API changes – Exception Translation into Spring DAO Exception Hierarchy – Transaction Management <bean name=“customersTemplate” class=“org.springframework.data.gemfire.GemfireTemplate” p:region-ref=“Customers”>
  • 41. 41© 2014 Pivotal Software, Inc. All rights reserved. GemfireRepository Data Access with Repositories public interface CustomerRepository extends GemfireRepository<Customer, Long> { } // Spring context.xml <gfe-data:repositories base-package="org.example.app.customer.dao.repo"> <repo:include-filter type="assignable" expression=”org.example.app.customer.dao.repo.CustomerRepository"/> </gfe-data:repositories> Example…
  • 42. 42© 2014 Pivotal Software, Inc. All rights reserved. Implementation Annotation-based Function Implementation/Execution package org.example.app.functions; import … @Component public class ExampleFunctions { @GemfireFunction public Customer update(…) { … } … } Example… (Optional)… <bean class=“org.example….ExampleFunctions”/>
  • 43. 43© 2014 Pivotal Software, Inc. All rights reserved. Execution Annotation-based Function Implementation/Execution package org.example.app.function.executions; import … @OnRegion(“Example”) public interface ExampleFunctionExecution { Customer update(…); } And… <gfe:annotation-driven/> <gfe-data:function-executions base-package="org.example.app.function.executions">
  • 44. 44© 2014 Pivotal Software, Inc. All rights reserved. Execution Annotation-based Function Implementation/Execution  Additionally… – @OnServer(s), @OnMember(s)  Examples…
  • 45. 45© 2014 Pivotal Software, Inc. All rights reserved. JSR-107 (JCache), Spring Cache Abstraction Geode Caching Provider  With @Cacheable  And @CachePut, @CacheEvict(allEntries=[true|false]), @CacheConfig – http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#cache-jsr-107  Or with JSR-107 using… – @CacheResult, @CachePut, @CacheRemove, @CacheRemoveAll, @CacheDefaults
  • 46. 46© 2014 Pivotal Software, Inc. All rights reserved. 46© 2014 Pivotal Software, Inc. All rights reserved. Demo By Luke Shannon
  • 47. 47© 2014 Pivotal Software, Inc. All rights reserved. On the horizon…
  • 48. 48© 2014 Pivotal Software, Inc. All rights reserved. Roadmap Spring Data GemFire  Support for GemFire 8.2 & 9.0 – HDFS, Off-Heap, Apache Lucene, Spark  Support for pre-defined data sets using Snapshot Service – SGG-408  Expiration annotation support with CustomExpiry – SGF-404  Spring Session Adapter for GemFire/Geode – SGF-373
  • 49. 49© 2014 Pivotal Software, Inc. All rights reserved. Roadmap Continued… Spring Data GemFire  Repository Query method annotation extensions... – SGF-392 public interface ExampleRepository implements GemfireRepository<Customer, Long> { @Trace @Limit(20) @Import(“org.example.app.domain.SomeOtherType”) List<Customer> findByLastname(String lastName); }
  • 50. 50© 2014 Pivotal Software, Inc. All rights reserved. Get Involved…
  • 51. 51© 2014 Pivotal Software, Inc. All rights reserved. Apache Geode Contribute  In addition to developing Spring applications with Apache Geode, now is a perfect time to get involved in the Apache Geode community and contribute growing Apache project from the ground-up. – Ways to participate… http://geode.incubator.apache.org/contribute/
  • 52. 52© 2014 Pivotal Software, Inc. All rights reserved. Finally…
  • 53. 53© 2014 Pivotal Software, Inc. All rights reserved. Washington, DC – September 14 – 17, 2015 SpringOne2GX  Early Bird price registration ends August 14th, Register Now! – https://2015.event.springone2gx.com/register  Building High-Scalable Spring Applications with Distributed In-Memory Data Grids. – Luke Shannon & John Blum – Tuesday, September 15th, 2015 – https://2015.event.springone2gx.com/schedule/sessions/building_highly_scalable_spring_applications_with_in_m emory_distributed_data_grids.html
  • 54. 54© 2014 Pivotal Software, Inc. All rights reserved. References  http://geode.incubator.apache.org/  http://geode.incubator.apache.org/contribute/  https://github.com/project-geode/docs/wiki  https://github.com/apache/incubator-geode  https://pivotal.io/big-data/pivotal-gemfire  http://gemfire.docs.pivotal.io/latest/userguide/index.html#getting_started/topics/gemfire_overview.html  http://gemfire.docs.pivotal.io/latest/javadocs/japi/index.html  http://stackoverflow.com/questions/tagged/geode+or+gemfire  http://projects.spring.io/spring-data-gemfire/  http://docs.spring.io/spring-data-gemfire/docs/1.6.0.RELEASE/reference/html/  http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/  http://docs.spring.io/spring-data-gemfire/docs/current/api/  https://github.com/spring-projects/spring-data-gemfire  https://github.com/spring-projects/spring-gemfire-examples  http://stackoverflow.com/questions/tagged/spring-data-gemfire
  • 55. 55© 2014 Pivotal Software, Inc. All rights reserved. 55© 2014 Pivotal Software, Inc. All rights reserved. Q&A Any questions…
  • 56. 56© 2014 Pivotal Software, Inc. All rights reserved. 56© 2014 Pivotal Software, Inc. All rights reserved. Thank you!

Notas do Editor

  1. Geode can be scaled up or down to address load and changing demand, and… Ideally, Pivotal CloudFoundry (CF) will handle this automatically (dynamically) Keywords: Data Volume and Rate of Data Streams/Events, Ingest/Process/Output, Meaningful/Impactful Business Results
  2. Data is stored/kept in-memory for improved performance (lower latency, higher throughput) and distributed (replicated) across the cluster for high-availability and fault tolerance (resiliency to failures) and optionally persisted to disk (durability). ACID properties characteristic is important because… Applications require traditional database capabilities (ACID-compliant (Atomic, Consistent, Isolated, Durable)) in a highly-performant architecture achieved via distributed computing (distributed systems). Both Cache-level and Global (JTA)-based transactions are supported. Region implements java.util.ConcurrentMap. Geode enables event-based application architectures with Register Interests (RI) and Pivotal GemFire extends builds on that with Continuous Queries (CQ)
  3. Consistency, highly-availability are low-latency are important aspects for enabling fast, responsive, resilient and accurate applications at scale. Think microservices…
  4. To summarize, Apache Geode can be described as…
  5. Managing memory is important to prevent “stop the world” GCs and ultimately OutOfMemoryErrors. Entry Count, Memory Size (MB) and Heap % LRU with LOCAL_DESTROY and OVERFLOW_TO_DISK Expiration with (LOCAL_) DESTROY, (LOCAL_) INVALIDATE Resource Management – Geode uses a ResourceManager to manage resources (memory) and can prevent cache modifications in the event of GC overload.
  6. Appends data/transactions to Oplogs.
  7. Application process is a (system) member in the distributed system (cluster).
  8. Clients store metadata about bucket locations for Partitioned Region data. Continuous feedback from servers on their load conditions. With data partitioned and replicated across servers, clients can dynamically move to different servers to uniformly load the servers in order to deliver predictable response times.
  9. Application process is a (system) member in the distributed system (cluster).
  10. Powerful Application Developer Features
  11. Spring is inherently Template-based (Template Pattern) using Callbacks. Example… JdbcTemplate, JmsTemplate