jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jackrabbit Wiki] Update of "Overlay Blob Store" by MattRyan
Date Tue, 25 Jul 2017 23:34:20 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.

The "Overlay Blob Store" page has been changed by MattRyan:
https://wiki.apache.org/jackrabbit/Overlay%20Blob%20Store?action=diff&rev1=3&rev2=4

Comment:
Adds ASCII drawings for use cases.

  === Hierarchical Blob Store ===
  The overlay blob store directly addresses [[JCR Binary Usecase]] UC14 to store data in one
of a number of blob stores based on a hierarchy.
  
- {{drawing:overlay_blob_store_uc14.adraw}}
+ In the example below, blobs are initially stored in the !FileDataStore and then once they
are more than 30 days old are moved to !S3DataStore.  They can be read from either location.
 Note that moving from one data store to the other fits under the category of curation, which
is not in this scope.
+ 
+ {{{
+ +-------+
+ |       |  <30 Days Old  +---------------+
+ |       +----------------> FileDataStore |
+ |       |                +---------------+
+ |  Oak  |
+ |       |
+ |       |  >=30 Days Old  +-------------+
+ |       +-----------------> S3DataStore |
+ |       |                 +-------------+
+ +-------+
+ }}}
  
  === Staging Environment ===
  The overlay blob store can be used to address a production/staging deployment use case,
where one Oak repository is the production repository and another is the staging repository.
 The production repository accesses a single blob store.  The staging repository uses an overlay
blob store to access a staging blob store as well as the production blob store in read-only
mode.  Thus staging can serve blobs out of either blob store but can only modify blobs on
the staging blob store.
  
- {{drawing:overlay_blob_store_uc_stg.adraw}}
+ {{{
+ +-----------------+        +-----------------+
+ | Production Env  |        |   Staging Env   |
+ | +-------------+ |        | +-------------+ |
+ | |     Oak     | |    +-----+     Oak     | |
+ | +------+------+ |    |   | +------+------+ |
+ |        |        |  Read- |        |        |
+ |        |        |  Only  |        |        |
+ | +------V------+ |    |   | +------V------+ |
+ | | S3DataStore <------+   | | S3DataStore | |
+ | +-------------+ |        | +-------------+ |
+ |                 |        |                 |
+ +-----------------+        +-----------------+
+ }}}
  
  === S3DataStore Clustering ===
  The overlay blob store could be used to address [[JCR Binary Usecase]] UC9, where two Oak
nodes in a cluster may both have a record of a blob in the node store but one node may temporarily
not be able to access the blob in the case of async upload.  This could be addressed by using
an overlay blob store where the first level blob store would be !FileDataStore on an NFS mount
and the second level blob store would be !S3DataStore without a cache.  The overlay blob store
on each node will look for any asset in both the !FileDataStore and the !S3DataStore, thus
avoiding a split-brain scenario.
  
- {{drawing:overlay_blob_store_uc9.adraw}}
+ {{{
+ +-----------------------------+
+ | Node 1                      |
+ | +-----+                     |
+ | |     |                     |
+ | |     +-------------------------------+
+ | | Oak |                     |         |
+ | |     |   +---------------+ |         |
+ | |     +-->+ FileDataStore | |  +------V------+
+ | |     |   +-------^-------+ |  | S3DataStore |
+ | +-----+           |         |  +------+------+
+ +-------------------|---------+         |
+                     |            +------V------+
+                    NFS           |  S3 Bucket  | 
+                     |            +------^------+
+ +-------------------|---------+         |
+ | Node 2            |         |  +------+------+
+ | +-----+           |         |  | S3DataStore |
+ | |     |   +-------V-------+ |  +------^------+
+ | |     +---> FileDataStore | |         |
+ | | Oak |   +---------------+ |         |
+ | |     |                     |         |
+ | |     +-------------------------------+
+ | |     |                     |
+ | +-----+                     |
+ +-----------------------------+
+ }}}
  

Mime
View raw message