SlideShare a Scribd company logo
GSoC with Apache
JCache Data store for Apache
Gora
Kevin Ratnasekera, Software Engineer, WSO2

Software Engineer for WSO2 ( kevin@wso2.com )

Working as member of Integration technologies team

Interests for Distributed systems

Open source Fan

Not related to Google or Hazelcast.
[1] http://wso2.com

About myself

GSoC and Apache contribution.

Apache Gora project.

JCache data store for Apache Gora

JCache API.

Roadmap for Apache Gora.

Conclusion.

Agenda

How does GSoC work?

GSoC statistics for 2016 program
1,206 students
178 open source organizations
85.6% overall success rate

ASF contribution
~50 students
37 completed final evaluation
[1] https://developers.google.com/open-source/gsoc/resources/stats

Google Summer of code

175 committees managing 294 community based
projects

59 incubating podlings

Active repos for ASF
870 active repos maintained at github
314 active Apache members at github
[1] https://projects.apache.org/
[2] https://github.com/apache
[3] https://people.apache.org/committer-index.html

Apache software foundation

ASF as GSoC mentoring organization

Considering 2010-2016 statistics

Accepted students ~50 for each year

Assigned mentors ~75 for each year

One of the largest mentoring organizations
[1] www.slideshare.net/smarru/google-summer-of-code-at-apache-software-
foundation

Benefits to community.

New contributors to the project.

Long term contributors ( committers/PMC members )

New features/improvements/bug fixes to project.

Data Persistence
Abstract persistent layer for NoSQL, In memory data model, Persistence for
Big data, Object to data store, Data store specific mappings

Data Access
Abstract Datastore API, Common interface for retrieval, alteration and query,
Hide details on specific persistent data store implementation.

MapReduce support
Out of the box to run MR jobs over the Gora input data store, store results
over the output data stores ( Recently introduced Spark backend )

Apache Gora Project

Define persistent bean definition using Apache AVRO
JSON schema.

Compile the schema using Gora compiler.

Create mapping file which maps between persistent
bean to physical data store.

Configure gora.properties to reflect data store
properties.

Create data store using DataStoreFactory
[1]https://gora.apache.org/current/tutorial.html

Typical Gora usage

Data Store API

Writing a dataStore for Apache Gora.

Implementation for 3 Abstract classes.
DataStoreBase<K, T>
QueryBase<K, T>
ResultBase<K, T>
[1]https://cwiki.apache.org/confluence/display/GORA/Writing+a+new+DataStore
+for+Gora+HOW_TO

Limitations of Gora secret in memory store – MemStore

Static ConcurrentSkipList map restricted to single
instance per JVM, MemStore cannot be shared across
JVMs ( distributed )

Reduce latency in persistent bean creation/retrieval
from back-end database ( repetitive reads )

Caching layer irrespective backend persistent data
store implementation ( decoupled )
[1] http://events.linuxfoundation.org/sites/events/files/slides/deploying_gora_as_query_broker.pdf

The need for Cache data store

Standardize Caching API for Java platform. No more
proprietary API’s.

Common mechanism to create, access, update and
remove data from caches.

Doesn’t say anything about data distribution, network
topology and wire level protocol etc.

Implementation by different vendors,
Ehcache, Infinispan, Hazelcast

JCache API

Portability between different Vendor implementations

Developer productivity – learning curve is smaller.

Why JCache?

Fundamental differences
java.util.Map javax.cache.Cache
Key Value based API Key Value based API
Support Atomic updates Support Atomic updates
Entries don’t get Expired/Evicted Entries get Expired/Evicted
Entries stored on-heap Entries stored anywhere
Store-By-Reference Store-By-Value/ Store-by
reference
Integration with Loaders/writers
Observation with Entry Listeners
Statistics
[1] http://www.slideshare.net/DavidBrimley/jcache-its-finally-here

Fundamental differences
Fundamental differences

JCache code sample

JCache Cache Loader/Writer

Integration with external resources.

Handles Read through and write through caching for
external resources.

Register Loader/Writer and Read/Write through enabled
at cache configuration.

JCache Cache Entry Listener

Receives events related to cache entries
( create,expiry, update, remove )

Useful in distributed caches.

Register at cache configuration.

Apache license compliance

Rich vendor specific additions such as
Asynchronous operations
Eviction
Near cache
Data distribution/partitioning exposed over vendor
specific API

Hazelcast as JCache provider

Implement cache as another data store exposing the
same data store interface

Cache data Store act as wrapper to persisting store
delegating operations

Make Persistent bean serializable.

Basic Design

Configuring persistent data store to expose over
caching data store

gora.properties

Configuration for caching data store

Creating persistent data store instances which are
exposed over the caching data store

Hazelcast as cache provider.

Maintain data beans in serialized form inside caches.

Need to preserve dirty state bytes as well as data.

Two Approaches
Using pure JAVA serialization, writing custom
serializers.

Making Persistent data beans serializable

Utf8, ByteBuffer and GenericData.Array are not in it s
serializable form

AVRO SpecificRecord class level fields instances
Either should be declared as transient or implement
serializable

Rather not depend on another 3 rd party dependency
for serialization.

Custom serialiazer have freedom get extended from
pluggable serializers from variety of methods

Pure Java Vs. Custom AVRO serializers

Pure Java Vs. Custom AVRO serializers

Caching performance heavily depend on
serialization/deserialization performance. Experiment
with different serialization methods.

Remove vendor specific Hazelcast JCache
implementation ( Eg :- Eviction policy – Not included
JCache specification ) from JCache data store.

Ability to dynamically take any JCache provider.
[1] http://blog.hazelcast.com/comparing-serialization-methods

Possible improvements
●
DistributedLogManager sample.
●
Demonstrates standalone/distributed caching for data
stores.
[1] https://issues.apache.org/jira/browse/GORA-484
[2] http://github.com/apache/gora/blob/master/gora-
tutorial/src/main/java/org/apache/gora/tutorial/log/DistributedLogManager.java
[3] http://gora.apache.org/current/tutorial.html#jcache-caching-datastore

Sample/Tutorial for JCache data store

JCache store implementation [1]

Documentation for project [2][3]
[1] https://issues.apache.org/jira/browse/GORA-409
[2] https://issues.apache.org/jira/browse/GORA-484
[3] http://gora.apache.org/current/gora-jcache.html

References for project

REST API exposing data store functionalities. [1]

Improve data store support.
Eg:- Apache Kudu

Different serialization frameworks other than AVRO. [2]
Eg:- Apache thrift, Protocol buffers

Different execution engine support. [3]
Eg:- Apache Flink
[1] https://issues.apache.org/jira/browse/GORA-405
[2] https://issues.apache.org/jira/browse/GORA-279
[3] https://issues.apache.org/jira/browse/GORA-418

Roadmap for Apache Gora

Contribute to Apache Gora

Check Roadmap, Mailing lists, JIRA issues

Join Apache GSoC effort

Higher project acceptance/slot count for GSoC 2017
[1] https://issues.apache.org/jira/browse/gora
[2] http://gora.apache.org/mailing_lists.html
[3] https://developers.google.com/open-source/gsoc/timeline

Conclusion

More Related Content

What's hot (20)

PPT
Hibernate java and_oracle
Krishnakanth Goud
 
PDF
Alluxio Journal Evolution - Towards high availability and fault tolerance
Alluxio, Inc.
 
PPTX
Meet hbase 2.0
enissoz
 
PDF
Large-scale Web Apps @ Pinterest
HBaseCon
 
PDF
SQL on Hadoop
Doron Vainrub
 
PPT
8a. How To Setup HBase with Docker
Fabio Fumarola
 
PPTX
HBaseCon 2013: Apache HBase Table Snapshots
Cloudera, Inc.
 
PDF
HBaseCon 2013: Integration of Apache Hive and HBase
Cloudera, Inc.
 
PDF
SQOOP PPT
Dushhyant Kumar
 
PPTX
Learn to setup a Hadoop Multi Node Cluster
Edureka!
 
PDF
Real-time Big Data Analytics Engine using Impala
Jason Shih
 
PDF
Administer Hadoop Cluster
Edureka!
 
PDF
Sqoop tutorial
Ashoka Vanjare
 
PPTX
Apache Kite
Alwin James
 
PDF
How Impala Works
Yue Chen
 
PDF
HiveServer2 for Apache Hive
Carl Steinbach
 
PPTX
Configure, Debug and Install OpenStack Trove
Rama Krishna B
 
PPTX
HBase Data Modeling and Access Patterns with Kite SDK
HBaseCon
 
PDF
(Aaron myers) hdfs impala
NAVER D2
 
PDF
Mysql Fulltext Search 1
johnymas
 
Hibernate java and_oracle
Krishnakanth Goud
 
Alluxio Journal Evolution - Towards high availability and fault tolerance
Alluxio, Inc.
 
Meet hbase 2.0
enissoz
 
Large-scale Web Apps @ Pinterest
HBaseCon
 
SQL on Hadoop
Doron Vainrub
 
8a. How To Setup HBase with Docker
Fabio Fumarola
 
HBaseCon 2013: Apache HBase Table Snapshots
Cloudera, Inc.
 
HBaseCon 2013: Integration of Apache Hive and HBase
Cloudera, Inc.
 
SQOOP PPT
Dushhyant Kumar
 
Learn to setup a Hadoop Multi Node Cluster
Edureka!
 
Real-time Big Data Analytics Engine using Impala
Jason Shih
 
Administer Hadoop Cluster
Edureka!
 
Sqoop tutorial
Ashoka Vanjare
 
Apache Kite
Alwin James
 
How Impala Works
Yue Chen
 
HiveServer2 for Apache Hive
Carl Steinbach
 
Configure, Debug and Install OpenStack Trove
Rama Krishna B
 
HBase Data Modeling and Access Patterns with Kite SDK
HBaseCon
 
(Aaron myers) hdfs impala
NAVER D2
 
Mysql Fulltext Search 1
johnymas
 

Similar to JCache data store for Apache Gora (20)

PDF
Java is Container Ready - Vaibhav - Container Conference 2018
CodeOps Technologies LLP
 
KEY
Django deployment with PaaS
Appsembler
 
PDF
Java Cloud and Container Ready
CodeOps Technologies LLP
 
PPTX
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
Nuno Godinho
 
PPTX
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
In-Memory Computing Summit
 
PDF
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
Alluxio, Inc.
 
ODP
Apache Marmotta - Introduction
Sebastian Schaffert
 
PPTX
Mahout Introduction BarCampDC
Drew Farris
 
PPT
NCache 3.8 SP3
wesnoor
 
PDF
Caching and JCache with Greg Luck 18.02.16
Comsysto Reply GmbH
 
PPT
Content Storage With Apache Jackrabbit
Jukka Zitting
 
PPTX
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...
Accumulo Summit
 
PPTX
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo
Joe Stein
 
PDF
Java Library for High Speed Streaming Data
Oracle Developers
 
PDF
Plugin-based software design with Ruby and RubyGems
Sadayuki Furuhashi
 
PPTX
CloudStack Meetup London - Primary Storage Presentation by SolidFire
NetApp
 
PPTX
Solid fire cloudstack storage overview - CloudStack European User Group
ShapeBlue
 
PPTX
2016 03 15_biological_databases_part4
Prof. Wim Van Criekinge
 
PPTX
ASP.NET 4.0 Cache Extensibility
akrakovetsky
 
PDF
JCache Using JCache
日本Javaユーザーグループ
 
Java is Container Ready - Vaibhav - Container Conference 2018
CodeOps Technologies LLP
 
Django deployment with PaaS
Appsembler
 
Java Cloud and Container Ready
CodeOps Technologies LLP
 
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
Nuno Godinho
 
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
In-Memory Computing Summit
 
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
Alluxio, Inc.
 
Apache Marmotta - Introduction
Sebastian Schaffert
 
Mahout Introduction BarCampDC
Drew Farris
 
NCache 3.8 SP3
wesnoor
 
Caching and JCache with Greg Luck 18.02.16
Comsysto Reply GmbH
 
Content Storage With Apache Jackrabbit
Jukka Zitting
 
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...
Accumulo Summit
 
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo
Joe Stein
 
Java Library for High Speed Streaming Data
Oracle Developers
 
Plugin-based software design with Ruby and RubyGems
Sadayuki Furuhashi
 
CloudStack Meetup London - Primary Storage Presentation by SolidFire
NetApp
 
Solid fire cloudstack storage overview - CloudStack European User Group
ShapeBlue
 
2016 03 15_biological_databases_part4
Prof. Wim Van Criekinge
 
ASP.NET 4.0 Cache Extensibility
akrakovetsky
 
Ad

Recently uploaded (20)

PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Ad

JCache data store for Apache Gora

  • 1. GSoC with Apache JCache Data store for Apache Gora Kevin Ratnasekera, Software Engineer, WSO2
  • 2.  Software Engineer for WSO2 ( [email protected] )  Working as member of Integration technologies team  Interests for Distributed systems  Open source Fan  Not related to Google or Hazelcast. [1] http://wso2.com  About myself
  • 3.  GSoC and Apache contribution.  Apache Gora project.  JCache data store for Apache Gora  JCache API.  Roadmap for Apache Gora.  Conclusion.  Agenda
  • 4.  How does GSoC work?  GSoC statistics for 2016 program 1,206 students 178 open source organizations 85.6% overall success rate  ASF contribution ~50 students 37 completed final evaluation [1] https://developers.google.com/open-source/gsoc/resources/stats  Google Summer of code
  • 5.  175 committees managing 294 community based projects  59 incubating podlings  Active repos for ASF 870 active repos maintained at github 314 active Apache members at github [1] https://projects.apache.org/ [2] https://github.com/apache [3] https://people.apache.org/committer-index.html  Apache software foundation
  • 6.  ASF as GSoC mentoring organization  Considering 2010-2016 statistics  Accepted students ~50 for each year  Assigned mentors ~75 for each year  One of the largest mentoring organizations [1] www.slideshare.net/smarru/google-summer-of-code-at-apache-software- foundation
  • 7.  Benefits to community.  New contributors to the project.  Long term contributors ( committers/PMC members )  New features/improvements/bug fixes to project.
  • 8.  Data Persistence Abstract persistent layer for NoSQL, In memory data model, Persistence for Big data, Object to data store, Data store specific mappings  Data Access Abstract Datastore API, Common interface for retrieval, alteration and query, Hide details on specific persistent data store implementation.  MapReduce support Out of the box to run MR jobs over the Gora input data store, store results over the output data stores ( Recently introduced Spark backend )  Apache Gora Project
  • 9.  Define persistent bean definition using Apache AVRO JSON schema.  Compile the schema using Gora compiler.  Create mapping file which maps between persistent bean to physical data store.  Configure gora.properties to reflect data store properties.  Create data store using DataStoreFactory [1]https://gora.apache.org/current/tutorial.html  Typical Gora usage
  • 11.  Writing a dataStore for Apache Gora.  Implementation for 3 Abstract classes. DataStoreBase<K, T> QueryBase<K, T> ResultBase<K, T> [1]https://cwiki.apache.org/confluence/display/GORA/Writing+a+new+DataStore +for+Gora+HOW_TO
  • 12.  Limitations of Gora secret in memory store – MemStore  Static ConcurrentSkipList map restricted to single instance per JVM, MemStore cannot be shared across JVMs ( distributed )  Reduce latency in persistent bean creation/retrieval from back-end database ( repetitive reads )  Caching layer irrespective backend persistent data store implementation ( decoupled ) [1] http://events.linuxfoundation.org/sites/events/files/slides/deploying_gora_as_query_broker.pdf  The need for Cache data store
  • 13.  Standardize Caching API for Java platform. No more proprietary API’s.  Common mechanism to create, access, update and remove data from caches.  Doesn’t say anything about data distribution, network topology and wire level protocol etc.  Implementation by different vendors, Ehcache, Infinispan, Hazelcast  JCache API
  • 14.  Portability between different Vendor implementations  Developer productivity – learning curve is smaller.  Why JCache?
  • 15.  Fundamental differences java.util.Map javax.cache.Cache Key Value based API Key Value based API Support Atomic updates Support Atomic updates Entries don’t get Expired/Evicted Entries get Expired/Evicted Entries stored on-heap Entries stored anywhere Store-By-Reference Store-By-Value/ Store-by reference Integration with Loaders/writers Observation with Entry Listeners Statistics [1] http://www.slideshare.net/DavidBrimley/jcache-its-finally-here  Fundamental differences Fundamental differences
  • 17.  JCache Cache Loader/Writer  Integration with external resources.  Handles Read through and write through caching for external resources.  Register Loader/Writer and Read/Write through enabled at cache configuration.
  • 18.  JCache Cache Entry Listener  Receives events related to cache entries ( create,expiry, update, remove )  Useful in distributed caches.  Register at cache configuration.
  • 19.  Apache license compliance  Rich vendor specific additions such as Asynchronous operations Eviction Near cache Data distribution/partitioning exposed over vendor specific API  Hazelcast as JCache provider
  • 20.  Implement cache as another data store exposing the same data store interface  Cache data Store act as wrapper to persisting store delegating operations  Make Persistent bean serializable.  Basic Design
  • 21.  Configuring persistent data store to expose over caching data store  gora.properties  Configuration for caching data store
  • 22.  Creating persistent data store instances which are exposed over the caching data store
  • 23.  Hazelcast as cache provider.  Maintain data beans in serialized form inside caches.  Need to preserve dirty state bytes as well as data.  Two Approaches Using pure JAVA serialization, writing custom serializers.  Making Persistent data beans serializable
  • 24.  Utf8, ByteBuffer and GenericData.Array are not in it s serializable form  AVRO SpecificRecord class level fields instances Either should be declared as transient or implement serializable  Rather not depend on another 3 rd party dependency for serialization.  Custom serialiazer have freedom get extended from pluggable serializers from variety of methods  Pure Java Vs. Custom AVRO serializers
  • 25.  Pure Java Vs. Custom AVRO serializers
  • 26.  Caching performance heavily depend on serialization/deserialization performance. Experiment with different serialization methods.  Remove vendor specific Hazelcast JCache implementation ( Eg :- Eviction policy – Not included JCache specification ) from JCache data store.  Ability to dynamically take any JCache provider. [1] http://blog.hazelcast.com/comparing-serialization-methods  Possible improvements
  • 27. ● DistributedLogManager sample. ● Demonstrates standalone/distributed caching for data stores. [1] https://issues.apache.org/jira/browse/GORA-484 [2] http://github.com/apache/gora/blob/master/gora- tutorial/src/main/java/org/apache/gora/tutorial/log/DistributedLogManager.java [3] http://gora.apache.org/current/tutorial.html#jcache-caching-datastore  Sample/Tutorial for JCache data store
  • 28.  JCache store implementation [1]  Documentation for project [2][3] [1] https://issues.apache.org/jira/browse/GORA-409 [2] https://issues.apache.org/jira/browse/GORA-484 [3] http://gora.apache.org/current/gora-jcache.html  References for project
  • 29.  REST API exposing data store functionalities. [1]  Improve data store support. Eg:- Apache Kudu  Different serialization frameworks other than AVRO. [2] Eg:- Apache thrift, Protocol buffers  Different execution engine support. [3] Eg:- Apache Flink [1] https://issues.apache.org/jira/browse/GORA-405 [2] https://issues.apache.org/jira/browse/GORA-279 [3] https://issues.apache.org/jira/browse/GORA-418  Roadmap for Apache Gora
  • 30.  Contribute to Apache Gora  Check Roadmap, Mailing lists, JIRA issues  Join Apache GSoC effort  Higher project acceptance/slot count for GSoC 2017 [1] https://issues.apache.org/jira/browse/gora [2] http://gora.apache.org/mailing_lists.html [3] https://developers.google.com/open-source/gsoc/timeline  Conclusion