blob: 10ab122336f4ec2e33f5d46fe29976ab46256244 [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.78.1"><link rel="home" href="manual.html" title="Apache OpenJPA 2.4 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#d5e16829">2.1. Transparency</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16835">2.2. Scaling</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16841">2.3. Distributed Query</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16864">2.4. Data Distribution</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16883">2.5. Data Replication</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16892">2.6. Heterogeneous Database</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e16895">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#d5e16912">3.1. How to activate Slice Runtime?</a></span></dt><dt><span class="section"><a href="slice_configuration.html#d5e16916">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#d5e16975">4.1. Global Properties</a></span></dt><dd><dl><dt><span class="section"><a href="ch29s04.html#d5e16977">4.1.1. openjpa.slice.DistributionPolicy</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e16983">4.1.2. openjpa.slice.Lenient</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e16990">4.1.3. openjpa.slice.Master</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e16998">4.1.4. openjpa.slice.Names</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17006">4.1.5. openjpa.slice.ThreadingPolicy</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17032">4.1.6. openjpa.slice.TransactionPolicy</a></span></dt></dl></dd><dt><span class="section"><a href="ch29s04.html#d5e17050">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>