Skip to content

Commit

Permalink
Release 1.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Cahill committed Mar 14, 2013
1 parent 15fa88c commit a2fbe6e
Show file tree
Hide file tree
Showing 207 changed files with 30,070 additions and 23 deletions.
Binary file added 1.5.0/LogoFinal-header.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
90 changes: 90 additions & 0 deletions 1.5.0/admin.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<!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: Managing WiredTiger databases</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="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">
&#160;<span id="projectnumber">Version 1.5.0</span>
</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.3.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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('admin.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">Managing WiredTiger databases </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This section covers topics of interest for system administrators managing WiredTiger applications:</p>
<ul>
<li><a class="el" href="home.html">Database Home Directory</a></li>
<li><a class="el" href="database_config.html">Database Configuration</a></li>
<li><a class="el" href="hot_backup.html">Hot backup</a></li>
<li><a class="el" href="filesystems.html">Filesystems</a></li>
<li><a class="el" href="security.html">Security</a> </li>
</ul>
</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-2013 WiredTiger, Inc. All rights reserved. Contact <a href="mailto:[email protected]">[email protected]</a> for more information.</li>
</ul>
</div>
</body>
</html>
17 changes: 17 additions & 0 deletions 1.5.0/admin.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
var admin =
[
[ "Database Home Directory", "home.html", null ],
[ "Database Configuration", "database_config.html", [
[ "WiredTiger.config file", "database_config.html#config_file", null ],
[ "WIREDTIGER_CONFIG environment variable", "database_config.html#config_env", null ]
] ],
[ "Hot backup", "hot_backup.html", null ],
[ "Filesystems", "filesystems.html", [
[ "Remote file systems", "filesystems.html#remote", null ]
] ],
[ "Security", "security.html", [
[ "Database directory permissions", "security.html#directory_permissions", null ],
[ "File permissions", "security.html#file_permissions", null ],
[ "Environment variables", "security.html#environment_variables", null ]
] ]
];
124 changes: 124 additions & 0 deletions 1.5.0/annotated.html

Large diffs are not rendered by default.

40 changes: 40 additions & 0 deletions 1.5.0/annotated.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
var annotated =
[
[ "com", null, [
[ "wiredtiger", null, [
[ "db", null, [
[ "Connection", "classcom_1_1wiredtiger_1_1db_1_1_connection.html", "classcom_1_1wiredtiger_1_1db_1_1_connection" ],
[ "Cursor", "classcom_1_1wiredtiger_1_1db_1_1_cursor.html", "classcom_1_1wiredtiger_1_1db_1_1_cursor" ],
[ "PackFormatInputStream", "classcom_1_1wiredtiger_1_1db_1_1_pack_format_input_stream.html", "classcom_1_1wiredtiger_1_1db_1_1_pack_format_input_stream" ],
[ "PackInputStream", "classcom_1_1wiredtiger_1_1db_1_1_pack_input_stream.html", "classcom_1_1wiredtiger_1_1db_1_1_pack_input_stream" ],
[ "PackOutputStream", "classcom_1_1wiredtiger_1_1db_1_1_pack_output_stream.html", "classcom_1_1wiredtiger_1_1db_1_1_pack_output_stream" ],
[ "SearchStatus", "enumcom_1_1wiredtiger_1_1db_1_1_search_status.html", "enumcom_1_1wiredtiger_1_1db_1_1_search_status" ],
[ "Session", "classcom_1_1wiredtiger_1_1db_1_1_session.html", "classcom_1_1wiredtiger_1_1db_1_1_session" ],
[ "wiredtiger", "classcom_1_1wiredtiger_1_1db_1_1wiredtiger.html", null ],
[ "wiredtigerConstants", "interfacecom_1_1wiredtiger_1_1db_1_1wiredtiger_constants.html", null ],
[ "WiredTigerException", "classcom_1_1wiredtiger_1_1db_1_1_wired_tiger_exception.html", "classcom_1_1wiredtiger_1_1db_1_1_wired_tiger_exception" ],
[ "wiredtigerJNI", "classcom_1_1wiredtiger_1_1db_1_1wiredtiger_j_n_i.html", null ],
[ "WiredTigerPackingException", "classcom_1_1wiredtiger_1_1db_1_1_wired_tiger_packing_exception.html", "classcom_1_1wiredtiger_1_1db_1_1_wired_tiger_packing_exception" ]
] ]
] ]
] ],
[ "wiredtiger", null, [
[ "Cursor", "classwiredtiger_1_1_cursor.html", "classwiredtiger_1_1_cursor" ],
[ "Session", "classwiredtiger_1_1_session.html", "classwiredtiger_1_1_session" ],
[ "Connection", "classwiredtiger_1_1_connection.html", "classwiredtiger_1_1_connection" ],
[ "stat", "group__wt__python.html#classwiredtiger_1_1stat", [
[ "conn", "group__wt__python.html#classwiredtiger_1_1stat_1_1conn", null ],
[ "dsrc", "group__wt__python.html#classwiredtiger_1_1stat_1_1dsrc", null ]
] ]
] ],
[ "WT_COLLATOR", "struct_w_t___c_o_l_l_a_t_o_r.html", "struct_w_t___c_o_l_l_a_t_o_r" ],
[ "WT_COMPRESSOR", "struct_w_t___c_o_m_p_r_e_s_s_o_r.html", "struct_w_t___c_o_m_p_r_e_s_s_o_r" ],
[ "WT_CONNECTION", "struct_w_t___c_o_n_n_e_c_t_i_o_n.html", "struct_w_t___c_o_n_n_e_c_t_i_o_n" ],
[ "WT_CURSOR", "struct_w_t___c_u_r_s_o_r.html", "struct_w_t___c_u_r_s_o_r" ],
[ "WT_DATA_SOURCE", "struct_w_t___d_a_t_a___s_o_u_r_c_e.html", "struct_w_t___d_a_t_a___s_o_u_r_c_e" ],
[ "WT_EVENT_HANDLER", "struct_w_t___e_v_e_n_t___h_a_n_d_l_e_r.html", "struct_w_t___e_v_e_n_t___h_a_n_d_l_e_r" ],
[ "WT_EXTENSION_API", "struct_w_t___e_x_t_e_n_s_i_o_n___a_p_i.html", "struct_w_t___e_x_t_e_n_s_i_o_n___a_p_i" ],
[ "WT_EXTRACTOR", "struct_w_t___e_x_t_r_a_c_t_o_r.html", "struct_w_t___e_x_t_r_a_c_t_o_r" ],
[ "WT_ITEM", "group__wt.html#struct_w_t___i_t_e_m", "group__wt" ],
[ "WT_SESSION", "struct_w_t___s_e_s_s_i_o_n.html", "struct_w_t___s_e_s_s_i_o_n" ]
];
127 changes: 127 additions & 0 deletions 1.5.0/architecture.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
<!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: WiredTiger Architecture</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="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">
&#160;<span id="projectnumber">Version 1.5.0</span>
</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.3.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;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('architecture.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">WiredTiger Architecture </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The WiredTiger data engine is a high performance, scalable, transactional, production quality, open source, NoSQL data engine, created to maximize the value of each computer you buy:</p>
<ul>
<li>WiredTiger offers both low latency and high throughput (in-cache reads require no latching, writes typically require a single latch),</li>
</ul>
<ul>
<li>WiredTiger handles data sets much larger than RAM without performance or resource degradation,</li>
</ul>
<ul>
<li>WiredTiger has predictable behavior under heavy access and large volumes of data,</li>
</ul>
<ul>
<li>WiredTiger offers transactional semantics without blocking,</li>
</ul>
<ul>
<li>WiredTiger stores are not corrupted by torn writes, reverting to the last checkpoint after system failure,</li>
</ul>
<ul>
<li>WiredTiger supports petabyte tables, records up to 4GB, and record numbers up to 64-bits.</li>
</ul>
<p>WiredTiger's design is focused on a few core principles:</p>
<h1><a class="anchor" id="multi_core"></a>
Multi-core scaling</h1>
<p>WiredTiger scales on modern, multi-CPU architectures. Using a variety of programming techniques such as hazard pointers, lock-free algorithms, fast latching and message passing, WiredTiger performs more work per CPU core than alternative engines.</p>
<p>WiredTiger's transactions use optimistic concurrency control algorithms that avoid the bottleneck of a centralized lock manager. Transactional operations in one thread do not block operations in other threads, but strong isolation is provided and update conflicts are detected to preserve data consistency.</p>
<h1><a class="anchor" id="cache"></a>
Hot caches</h1>
<p>WiredTiger supports both row-oriented storage (where all columns of a row are stored together), and column-oriented storage (where groups of columns are stored in separate files), resulting in more efficient memory use. When reading and writing column-stores, only the columns required for any particular query are maintained in memory. Column-store keys are derived from the value's location in the table rather than being physically stored in the table, further minimizing memory requirements. Finally, row-and column-stores can be mixed-and-matched at the table level: for example, a row-store index can be created on a column-store table.</p>
<p>WiredTiger supports <a class="el" href="lsm.html">Log-Structured Merge Trees</a>, where updates are buffered in small files that fit in cache for fast random updates, then automatically merged into larger files in the background so that read latency approaches that of traditional Btree files. LSM trees automatically create Bloom filters to avoid unnecessary reads from files that cannot containing matching keys.</p>
<p>WiredTiger supports different-sized Btree internal and leaf pages in the same file. Applications can maximize the amount of data transferred in each I/O by configuring large leaf pages, and still minimize CPU cache misses when searching the tree.</p>
<p>WiredTiger supports key prefix compression and value dictionaries, reducing the amount of memory keys and values require.</p>
<p>WiredTiger supports static encoding with a configurable Huffman engine, which typically reduces the amount of information maintained in memory by 20-50%.</p>
<h1><a class="anchor" id="io"></a>
Making I/O more valuable</h1>
<p>WiredTiger uses compact file formats to minimize on-disk overhead. WiredTiger does not store page content indexing information on disk, instead, WiredTiger instantiates content indexing information either when pages are read from disk or on demand. This simplifies the on-disk file format and in the case of small key/value pairs, typically reduces the amount of information written to disk by 20-50%.</p>
<p>WiredTiger supports variable-length pages, meaning there is less wasted space for large objects, and no need for compaction as pages grow and shrink naturally when key/value pairs are inserted or deleted.</p>
<p>WiredTiger supports block compression on table pages. Because WiredTiger supports variable-length pages, pages do not have to shrink by a fixed amount in order to benefit from block compression. Block compression is selectable on a per-table basis, allowing applications to choose the compression algorithm most appropriate for their data. Block compression typically reduces the amount of information written to disk by 30-80%.</p>
<p>WiredTiger supports leaf pages of up to 512MB in size. Disk seeks are less likely when reading large amounts of data from disk, significantly improving table scan performance.</p>
<p>Also, as noted in the <a class="el" href="architecture.html#cache">Hot caches</a> section, WiredTiger supports column-store formats, prefix compression and static encoding. While each of these features makes WiredTiger's use of memory more efficient, they also maximize the amount of useful data transferred per disk I/O.</p>
<h1><a class="anchor" id="quality"></a>
Production quality</h1>
<p>WiredTiger is production quality, supported software, engineered for the most demanding application environments. For example, as a no-overwrite data engine, torn writes can never corrupt a WiredTiger data store.</p>
<p>WiredTiger includes verification support so you can verify data sets, and salvage support as a last-ditch protection: data can be retrieved even if it somehow becomes corrupted.</p>
<h1><a class="anchor" id="nosql"></a>
NoSQL and Open Source</h1>
<p>WiredTiger is an Open Source, NoSQL data engine. See the <a class="el" href="license.html">WiredTiger license</a> for details. </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-2013 WiredTiger, Inc. All rights reserved. Contact <a href="mailto:[email protected]">[email protected]</a> for more information.</li>
</ul>
</div>
</body>
</html>
Loading

0 comments on commit a2fbe6e

Please sign in to comment.