blob: 15dae630be103eb4d11644280617c1d7049828e1 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter&nbsp;13.&nbsp; Slice: Distributed Persistence</title><base href="display"><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="manual.html" title="Apache OpenJPA 3.0 User's Guide"><link rel="up" href="ref_guide.html" title="Part&nbsp;3.&nbsp;Reference Guide"><link rel="prev" href="ref_guide_event.html" title="2.&nbsp; Remote Event Notification Framework"><link rel="next" href="features_and_limitations.html" title="2.&nbsp;Salient Features"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;13.&nbsp;
Slice: Distributed Persistence
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ref_guide_event.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;3.&nbsp;Reference Guide</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="features_and_limitations.html">Next</a></td></tr></table><hr></div><div class="chapter" id="ref_guide_slice"><div class="titlepage"><div><div><h2 class="title">Chapter&nbsp;13.&nbsp;
Slice: Distributed Persistence
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="ref_guide_slice.html#slice_overview">1. Overview</a></span></dt><dt><span class="section"><a href="features_and_limitations.html">2. Salient Features</a></span></dt><dd><dl><dt><span class="section"><a href="features_and_limitations.html#d5e16866">2.1. Transparency</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16872">2.2. Scaling</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16878">2.3. Distributed Query</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16901">2.4. Data Distribution</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16920">2.5. Data Replication</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16929">2.6. Heterogeneous Database</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16932">2.7. Distributed Transaction</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#collocation_constraint">2.8. Collocation Constraint</a></span></dt></dl></dd><dt><span class="section"><a href="slice_configuration.html">3. Usage</a></span></dt><dd><dl><dt><span class="section"><a href="slice_configuration.html#d5e16949">3.1. How to activate Slice Runtime?</a></span></dt><dt><span class="section"><a href="slice_configuration.html#d5e16953">3.2. How to configure each database slice?</a></span></dt><dt><span class="section"><a href="slice_configuration.html#distribution_policy">3.3. Implement DistributionPolicy interface</a></span></dt><dt><span class="section"><a href="slice_configuration.html#replication_policy">3.4. Implement ReplicationPolicy interface</a></span></dt></dl></dd><dt><span class="section"><a href="ch29s04.html">4. Configuration Properties</a></span></dt><dd><dl><dt><span class="section"><a href="ch29s04.html#d5e17012">4.1. Global Properties</a></span></dt><dd><dl><dt><span class="section"><a href="ch29s04.html#d5e17014">4.1.1. openjpa.slice.DistributionPolicy</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17020">4.1.2. openjpa.slice.Lenient</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17027">4.1.3. openjpa.slice.Master</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17035">4.1.4. openjpa.slice.Names</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17043">4.1.5. openjpa.slice.ThreadingPolicy</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17069">4.1.6. openjpa.slice.TransactionPolicy</a></span></dt></dl></dd><dt><span class="section"><a href="ch29s04.html#d5e17087">4.2. Per-Slice Properties</a></span></dt></dl></dd></dl></div>
<p>
The standard JPA runtime environment works with a <span class="emphasis"><em>single</em></span>
database instance. <span class="emphasis"><em>Slice</em></span> is a plug-in module for OpenJPA
to work with <span class="emphasis"><em>multiple</em></span> databases within the same
transaction. Following sections describe the features and usage of Slice for
distributed database environment.
</p>
<div class="section" id="slice_overview"><div class="titlepage"><div><div><h2 class="title" style="clear: both">1.&nbsp;Overview</h2></div></div></div>
<p>
Enterprise applications are increasingly deployed in distributed database
environment. A distributed, horizontally-partitioned
database environment can be an effective scaling strategy for growing data
volume, to support multiple clients on a multi-tenant hosting platform and
many other practical scenarios that can benefit from data partitioning.
</p>
<p>
Any JPA-based user application has to address demanding technical and
conceptual challenges to interact with multiple physical databases
within a single transaction.
OpenJPA Slice encapsulates the complexity of distributed database environment
via the abstraction of <span class="emphasis"><em>virtual</em></span> database which internally
manages multiple physical database instances referred
as <span class="emphasis"><em>slice</em></span>.
<span class="emphasis"><em>Virtualization</em></span> of distributed databases makes OpenJPA
object management kernel and the user application to work in the same way as
in the case of a single physical database.
</p>
</div>
</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ref_guide_event.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ref_guide.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="features_and_limitations.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.&nbsp;
Remote Event Notification Framework
&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;2.&nbsp;Salient Features</td></tr></table></div></body></html>