Author: lewismc
Date: Thu Aug 25 07:04:00 2016
New Revision: 1757612

URL: http://svn.apache.org/viewvc?rev=1757612&view=rev
Log:
GORA-484 Add documentation to JCache Datastore

Added:
    gora/site/trunk/content/current/gora-jcache.md
Modified:
    gora/site/trunk/content/current/index.md
    gora/site/trunk/content/current/tutorial.md

Added: gora/site/trunk/content/current/gora-jcache.md
URL: 
http://svn.apache.org/viewvc/gora/site/trunk/content/current/gora-jcache.md?rev=1757612&view=auto
==============================================================================
--- gora/site/trunk/content/current/gora-jcache.md (added)
+++ gora/site/trunk/content/current/gora-jcache.md Thu Aug 25 07:04:00 2016
@@ -0,0 +1,126 @@
+Title: Gora JCache Module
+
+##Overview
+This is the main documentation for the gora-jcache module. gora-jcache
+module enables [Hazelcast 
JCache](https://hazelcast.com/use-cases/caching/jcache-provider) caching 
support for Gora.
+This implementation is based on Hazelcast JCache provider. This dataStore can 
act as wrapped caching layer for any other 
+persistent Apache Gora persistent dataStore.
+
+[TOC]
+
+##gora.properties
+
+* <code>gora.cache.datastore.default</code> - Caching dataStore to be used 
with persistent dataStore. If JCache dataStore is used as caching store
+assigned value should be <b>org.apache.gora.jcache.store.JCacheStore</b> 
<code>( Mandatory )</code>
+
+* <code>gora.datastore.default</code> - Persistent back-end dataStore to be 
used with JCache caching dataStore. <code>( Mandatory )</code>
+
+* <code>gora.datastore.jcache.provider</code> - Two possible values, whether 
to start JCache dataStore in Server mode or Client mode,
+  1. Server Mode
+     <b>com.hazelcast.cache.impl.HazelcastServerCachingProvider</b>
+  2. Client Mode
+     <b>com.hazelcast.client.cache.impl.HazelcastClientCachingProvider</b>  
<code>( Mandatory )</code>
+
+* <code>gora.datastore.jcache.hazelcast.config</code> - If JCache datastore is 
started in,
+  1. Server Mode
+     This property to should point s to Hazelcast Cluster member network 
configuration file related to
+     forming Hazelcast cluster using members. Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/networkconfiguration.html";>Network
 configuration</a>.
+  2. Client Mode
+     This property to should point s to Hazelcast client configuration file 
related to connecting related to already formed Hazelcast cluster.
+     Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/javaclientconfiguration.html#java-client-configuration";>Client
 configuration</a>  <code>( Mandatory )</code>
+
+* <code>jcache.auto.create.cache</code> - Whether force creating the cache at 
time JCache dataStore creation. Default is set to <b>false</b>.
+
+* <code>jcache.cache.inmemory.format</code> - In memory for format for 
persistent bean resides in cache. Possible values,
+  <b>BINARY, OBJECT, NATIVE</b> Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/map-inmemoryformat.html";>In
 memory format/a>.
+
+* <code>jcache.read.through.enable</code> - Whether to fetch a missing cache 
entry from backend persistent dataStore. Default value is <b>true</b>.
+
+* <code>jcache.write.through.enable</code> - Whether to push change of a cache 
entry to backend persistent dataStore. Default value is <b>true</b>.
+
+* <code>jcache.statistics.enable</code> - Statistics like cache hits and 
misses are collected. Default value is <b>false</b>.
+
+* <code>jcache.management.enable</code> - JMX beans are enabled and collected 
statistics are exposed over the beans.It doesn't automatically enables 
statistics collection.
+Default is set to false. Default JMX port opens on <b>9999</b>.
+
+* <code>jcache.store.by.value.enable</code> - Whether to store key and values 
of data beans in means of store by value or store by reference. Default is 
<b>true</b> that means store by <b>value</b>.
+
+* <code>jcache.cache.namespace</code> - Cache manager scope URI. This will 
allow different cache manager instances to share data among them if they are 
aligned with same scope.
+  On opposite having two different scopes means such that each cache manager 
can isolate each other’s owned caches without any conflict. 
+  Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/jcache-icache.html";>Scopes 
and Namespaces</a>
+
+* <code>jcache.expire.policy</code> - Cache entry expiry policy. Possible 
values <b> ACCESSED, CREATED, MODIFIED, TOUCHED </b>
+  Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/jcache-expirepolicy.html";>JCache
 expiry policy</a>
+
+* <code>jcache.expire.policy.duration</code> - Cache entry expiry timeout in 
seconds.
+
+* <code>jcache.eviction.policy</code> - Cache entry eviction policy. Possible 
values <b> LRU, LFU, NONE, RANDOM </b>
+  Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/jcache-eviction.html";>Hazelcast
 eviction policy</a>
+                                        
+* <code>jcache.eviction.max.size.policy</code> - Measure of maximum cache size 
to apply eviction policy. 
+  <b> ENTRY_COUNT, USED_NATIVE_MEMORY_SIZE, USED_NATIVE_MEMORY_PERCENTAGE, 
FREE_NATIVE_MEMORY_SIZE, FREE_NATIVE_MEMORY_PERCENTAGE </b>
+  
+* <code>jcache.eviction.size</code> - Maximum size as integer as a measure of 
max size policy criteria.
+Title: Gora JCache Module
+
+##Overview
+This is the main documentation for the gora-jcache module. gora-jcache
+module enables [Hazelcast 
JCache](https://hazelcast.com/use-cases/caching/jcache-provider) caching 
support for Gora.
+This implementation is based on Hazelcast JCache provider. This dataStore can 
act as wrapped caching layer for any other 
+persistent Apache Gora persistent dataStore.
+
+[TOC]
+
+##gora.properties
+
+* <code>gora.cache.datastore.default</code> - Caching dataStore to be used 
with persistent dataStore. If JCache dataStore is used as caching store
+assigned value should be <b>org.apache.gora.jcache.store.JCacheStore</b> 
<code>( Mandatory )</code>
+
+* <code>gora.datastore.default</code> - Persistent back-end dataStore to be 
used with JCache caching dataStore. <code>( Mandatory )</code>
+
+* <code>gora.datastore.jcache.provider</code> - Two possible values, whether 
to start JCache dataStore in Server mode or Client mode,
+  1. Server Mode
+     <b>com.hazelcast.cache.impl.HazelcastServerCachingProvider</b>
+  2. Client Mode
+     <b>com.hazelcast.client.cache.impl.HazelcastClientCachingProvider</b>  
<code>( Mandatory )</code>
+
+* <code>gora.datastore.jcache.hazelcast.config</code> - If JCache datastore is 
started in,
+  1. Server Mode
+     This property to should point s to Hazelcast Cluster member network 
configuration file related to
+     forming Hazelcast cluster using members. Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/networkconfiguration.html";>Network
 configuration</a>.
+  2. Client Mode
+     This property to should point s to Hazelcast client configuration file 
related to connecting related to already formed Hazelcast cluster.
+     Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/javaclientconfiguration.html#java-client-configuration";>Client
 configuration</a>  <code>( Mandatory )</code>
+
+* <code>jcache.auto.create.cache</code> - Whether force creating the cache at 
time JCache dataStore creation. Default is set to <b>false</b>.
+
+* <code>jcache.cache.inmemory.format</code> - In memory for format for 
persistent bean resides in cache. Possible values,
+  <b>BINARY, OBJECT, NATIVE</b> Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/map-inmemoryformat.html";>In
 memory format/a>.
+
+* <code>jcache.read.through.enable</code> - Whether to fetch a missing cache 
entry from backend persistent dataStore. Default value is <b>true</b>.
+
+* <code>jcache.write.through.enable</code> - Whether to push change of a cache 
entry to backend persistent dataStore. Default value is <b>true</b>.
+
+* <code>jcache.statistics.enable</code> - Statistics like cache hits and 
misses are collected. Default value is <b>false</b>.
+
+* <code>jcache.management.enable</code> - JMX beans are enabled and collected 
statistics are exposed over the beans.It doesn't automatically enables 
statistics collection.
+Default is set to false. Default JMX port opens on <b>9999</b>.
+
+* <code>jcache.store.by.value.enable</code> - Whether to store key and values 
of data beans in means of store by value or store by reference. Default is 
<b>true</b> that means store by <b>value</b>.
+
+* <code>jcache.cache.namespace</code> - Cache manager scope URI. This will 
allow different cache manager instances to share data among them if they are 
aligned with same scope.
+  On opposite having two different scopes means such that each cache manager 
can isolate each other’s owned caches without any conflict. 
+  Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/jcache-icache.html";>Scopes 
and Namespaces</a>
+
+* <code>jcache.expire.policy</code> - Cache entry expiry policy. Possible 
values <b> ACCESSED, CREATED, MODIFIED, TOUCHED </b>
+  Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/jcache-expirepolicy.html";>JCache
 expiry policy</a>
+
+* <code>jcache.expire.policy.duration</code> - Cache entry expiry timeout in 
seconds.
+
+* <code>jcache.eviction.policy</code> - Cache entry eviction policy. Possible 
values <b> LRU, LFU, NONE, RANDOM </b>
+  Please see <a 
href="http://docs.hazelcast.org/docs/3.5/manual/html/jcache-eviction.html";>Hazelcast
 eviction policy</a>
+                                        
+* <code>jcache.eviction.max.size.policy</code> - Measure of maximum cache size 
to apply eviction policy. 
+  <b> ENTRY_COUNT, USED_NATIVE_MEMORY_SIZE, USED_NATIVE_MEMORY_PERCENTAGE, 
FREE_NATIVE_MEMORY_SIZE, FREE_NATIVE_MEMORY_PERCENTAGE </b>
+  
+* <code>jcache.eviction.size</code> - Maximum size as integer as a measure of 
max size policy criteria.

Modified: gora/site/trunk/content/current/index.md
URL: 
http://svn.apache.org/viewvc/gora/site/trunk/content/current/index.md?rev=1757612&r1=1757611&r2=1757612&view=diff
==============================================================================
--- gora/site/trunk/content/current/index.md (original)
+++ gora/site/trunk/content/current/index.md Thu Aug 25 07:04:00 2016
@@ -37,6 +37,7 @@ following modules are currently implemen
 * [gora-cassandra](./gora-cassandra.html): Module for [Apache 
Cassandra](http://cassandra.apacheorg) backend and CassandraStore 
implementation;
 * [gora-dynamodb](./gora-dynamodb.html): Module for [Amazon 
DynamoDB](http://aws.amazon.com/dynamodb/) backend and DynamoDBStore 
implementation;
 * [gora-hbase](./gora-hbase.html): Module for [Apache 
HBase](http://hbase.apache.org) backend and HBaseStore implementation;
+* [gora-jcache](./gora-jcache.html): Module for [Hazelcast 
JCache](https://hazelcast.com/use-cases/caching/jcache-provider) caching and 
JCacheStore implementation;
 * [gora-couchdb](./gora-couchdb.html): Module for [Apache 
CouchDB](http://couchdb.apache.org) backend and CouchDBStore implementation;
 * [gora-metamodel](./gora-metamodel.html): Module for [Apache 
MetaModel](http://metamodel.incubator.apache.org) backend and query 
functionality;
 * [gora-mongodb](./gora-mongodb.html): Module for 
[MongoDB](http://www.mongodb.org/) backend and MongoStore implementation;

Modified: gora/site/trunk/content/current/tutorial.md
URL: 
http://svn.apache.org/viewvc/gora/site/trunk/content/current/tutorial.md?rev=1757612&r1=1757611&r2=1757612&view=diff
==============================================================================
--- gora/site/trunk/content/current/tutorial.md (original)
+++ gora/site/trunk/content/current/tutorial.md Thu Aug 25 07:04:00 2016
@@ -1098,6 +1098,27 @@ When you want to persist result into out
 
 That’s all! You can check Solr to verify the result.
 
+##JCache caching dataStore
+
+This tutorial is about exposing Apache Gora persistent dataStore over Apache 
Gora default caching dataStore JCache. This sample exhibits how caching can 
reduce read latency 
+for consecutive reads when data beans are retrieved from intermediate cache as 
opposite to directly through the backend for consecutive iteration.
+
+Start HBase.
+
+    /hbase-0.98.19-hadoop2/bin$ ./start-hbase.sh
+
+Start DistributedLogManager. ( Expose HBase dataStore over JCache dataStore )
+
+    /gora/bin$ ./gora distributedlogmanager 
+
+Persist Log Databeans to HBase either via the path <b> JCache DataStore -> 
HBase DataStore -> HBase </b> either via direct path <b> HBase DataStore -> 
HBase </b>
+
+    -parse persistent|cache <-input_log_file-> - 
+
+Benchmark dataBean read latency for two paths, path via <b> JCache DataStore 
<- HBase DataStore <- HBase </b> and path via <b> HBase DataStore <- HBase </b>
+
+    -benchmark <-startLineNum-> <-endLineNum-> <-iterations->
+
 ##More Examples
 Other than this tutorial, there are several places that you can find 
 examples of Gora in action.


Reply via email to