-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathleveldb.html
116 lines (116 loc) · 5.55 KB
/
leveldb.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>WiredTiger: Building and installing the LevelDB compatibility API</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="wiredtiger.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><a href="http://wiredtiger.com/"><img alt="Logo" src="LogoFinal-header.png" alt="WiredTiger" /></a></td>
<td style="padding-left: 0.5em;">
<div id="projectname">
 <span id="projectnumber">Version 2.9.2</span>
</div>
<div id="projectbrief"><!-- 2.9.2 --></div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="banner">
<a href="https://github.com/wiredtiger/wiredtiger">Fork me on GitHub</a>
<a class="last" href="http://groups.google.com/group/wiredtiger-users">Join my user group</a>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li><a href="community.html"><span>Community</span></a></li>
<li><a href="license.html"><span>License</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('leveldb.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">Building and installing the LevelDB compatibility API </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>WiredTiger includes an implementation of the LevelDB API to ease integration and performance testing with existing applications.</p>
<h1><a class="anchor" id="leveldb_build"></a>
Building and using WiredTiger's LevelDB API</h1>
<p>Here are the steps to build and run an existing application against WiredTiger's LevelDB API:</p>
<ol>
<li>
<p class="startli">choose an installation directory for WiredTiger. The default is:</p>
<p><code> WT_INSTALL=/usr/local </code></p>
<p>but anywhere is fine.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">build WiredTiger with LevelDB support:</p>
<p><code> ./configure –enable-leveldb –with-builtins=snappy –prefix=$WT_INSTALL make install </code></p>
<p>Change the above to <code>–enable-leveldb=basho</code> to build a version of the LevelDB API compatible with Basho's Riak product, or <code>–enable-leveldb=hyper</code> to build a version of the LevelDB API compatible with the HyperDex product, or <code>–enable-leveldb=rocksdb</code> to build a version of the LevelDB API compatible with applications using Facebook's RocksDB engine.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">compile and link the application against WiredTiger's LevelDB API:</p>
<p><code> ./configure CPPFLAGS="-I$WT_INSTALL/include/wiredtiger" LDFLAGS="-L$WT_INSTALL/lib/wiredtiger" ... && make </code></p>
<p class="endli"></p>
</li>
<li>
<p class="startli">start the application:</p>
<p class="endli"><code> LD_LIBRARY_PATH=$WT_INSTALL/lib/wiredtiger <normal start command> </code> </p>
</li>
</ol>
<h1><a class="anchor" id="leveldb_caveats"></a>
Caveats</h1>
<p>The core LevelDB features are well supported, though some configuration options may be ignored. In the extended versions of the API, some rarely used features have not been implemented, and will cause either build or runtime errors.</p>
<p>The WiredTiger on-disk format is not compatible with LevelDB. Data will need to be dumped and reloaded by the application.</p>
<p>The WiredTiger LevelDB API is not guaranteed to be binary compatible with LevelDB. We do not support using <code>LD_PRELOAD</code> to switch an existing binary built with stock LevelDB to WiredTiger without compiling against the installed include files. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">Reference Guide</a></li>
<li class="footer">Copyright (c) 2008-2016 MongoDB, Inc. All rights reserved. Contact <a href="mailto:[email protected]">[email protected]</a> for more information.</li>
</ul>
</div>
</body>
</html>