Author: buildbot
Date: Tue Apr 30 15:21:29 2013
New Revision: 860400
Log:
Production update by buildbot for activemq
Modified:
websites/production/activemq/content/cache/main.pageCache
websites/production/activemq/content/leveldb-store.html
Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/activemq/content/leveldb-store.html
==============================================================================
--- websites/production/activemq/content/leveldb-store.html (original)
+++ websites/production/activemq/content/leveldb-store.html Tue Apr 30 15:21:29
2013
@@ -72,8 +72,21 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent">
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1"
valign="top"><img align="middle"
src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif"
width="16" height="16" alt="" border="0"></td><td colspan="1"
rowspan="1"><b>Version Compatibility</b><br clear="none">Available in ActiveMQ
5.8.0 and newer</td></tr></table></div>
+
<p>LevelDB is a file based persistence database that is local to the message
broker that is using it.<br clear="none">
-It has been optimized to provide even faster persistence than KahaDB.</p>
+It has been optimized to provide even faster persistence than KahaDB. It's
similar to KahahDB but <br clear="none">
+instead of using a custom B-Tree implementation to index the write ahead logs,
it uses <a shape="rect" class="external-link"
href="https://code.google.com/p/leveldb/" rel="nofollow">LevelDB</a><br
clear="none">
+based indexes which have several nice properties due to the 'append only'
files access patterns : </p>
+
+<ul><li>Fast updates (No need to do random disk updates)</li><li>Concurrent
reads</li><li>Fast index snapshots using hard links</li></ul>
+
+
+<p>Both KahaDB and the LevelDB store have to do periodic garbage collection
cycles to determine which <br clear="none">
+log files can deleted. In the case of KahaDB, this can be quite expensive as
you increase<br clear="none">
+the amount of data stored and can cause read/write stalls while the collection
occurs. The LevelDB<br clear="none">
+store uses a much cheaper algorithm to determine when log files can be
collected and avoids those<br clear="none">
+stalls.</p>
<h2><a shape="rect" name="LevelDBStore-Configuration"></a>Configuration</h2>