<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oracle Berkeley DB 中国研发团队的博客 &#187; Chao Huang</title>
	<atom:link href="http://www.bdbchina.com/category/chaohuang/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bdbchina.com</link>
	<description>Oracle Berkeley DB 中国研发团队的博客</description>
	<lastBuildDate>Thu, 15 Dec 2011 10:35:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在多个节点上部署Oracle NoSQL数据库</title>
		<link>http://www.bdbchina.com/2011/12/%e5%9c%a8%e5%a4%9a%e4%b8%aa%e8%8a%82%e7%82%b9%e4%b8%8a%e9%83%a8%e7%bd%b2oracle-nosql%e6%95%b0%e6%8d%ae%e5%ba%93/</link>
		<comments>http://www.bdbchina.com/2011/12/%e5%9c%a8%e5%a4%9a%e4%b8%aa%e8%8a%82%e7%82%b9%e4%b8%8a%e9%83%a8%e7%bd%b2oracle-nosql%e6%95%b0%e6%8d%ae%e5%ba%93/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 08:27:32 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB JE]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[Oracle NoSQL DB]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1729</guid>
		<description><![CDATA[在多个节点上部署Oracle NoSQL数据库
1. 简介
Oracle NoSQL数据库是一款基于Berkeley DB Java  Edition构建的，分布式的，跨数据中心的Key-Value数据库。它是一款高性能，和极短的响应时间（毫秒级）的云数据库方案。Oracle  NoSQL数据库使客户能够轻松地管理大量的，动态模式 (dynamic schemas)  的数据，如Web日志数据，传感器和智能仪表的数据，用户个性化数据，和社交网络的数据。   Oracle NoSQL DB是采用Oracle Berkeley DB Java  Edition做底层存储引擎，但我们在其之上添加了更多的基础架构层的功能，如：   数据分布  动态分区  负载平衡  监控和管理  可预见的延迟  多节点备份 举例来说，Oracle NoSQL DB是汽车的话，Oracle  BDB则算汽车引擎。   Oracle NoSQL数据库会有商业版和社区版两个版本。当前发行的第一个版本中(v1.1.100)，两者没有功能上的区别（商业版有Oracle的支持服务）。目前商业版本已经开放下载：http://t.cn/SvbsUm 它包括数据库产品本身的Java类库，第三方类库，示例代码，文档，启动脚本和基于Google GWT实现的管理功能。 
2. Oracle NoSQL数据库在企业部署的示例图
如下图所示，在当今的企业部署中，Oracle  NoSQL数据库可以和传统的关系型数据库混合搭配提供服务。比如，NoSQL数据库可以运行有实时要求的、非结构化的应用；关系型数据库可以用来执行查 询分析、交易结算等功能。举个在线电子商务的应用来说，和用户相关的注册信息、个人头像、评论、爱好、购物车、网站的静态图片、商品等信息可以存在 Oracle [...]]]></description>
			<content:encoded><![CDATA[<h2><tt>在多个节点上部署Oracle NoSQL数据库</tt></h2>
<h3><tt>1. 简介</tt></h3>
<p><tt>Oracle NoSQL数据库是一款基于Berkeley DB Java  Edition构建的，分布式的，跨数据中心的Key-Value数据库。它是一款高性能，和极短的响应时间（毫秒级）的云数据库方案。Oracle  NoSQL数据库使客户能够轻松地管理大量的，动态模式 (dynamic schemas)  的数据，如Web日志数据，传感器和智能仪表的数据，用户个性化数据，和社交网络的数据。</tt> <tt> </tt> <tt>Oracle NoSQL DB是采用Oracle Berkeley DB </tt><tt>Java  Edition</tt><tt>做底层存储引擎，但我们在其之上添加了更多的基础架构层的功能，如：   数据分布  动态分区  负载平衡  监控和管理  可预见的延迟  多节点备份 举例来说，Oracle NoSQL DB是汽车的话，Oracle  BDB则算汽车引擎。</tt> <tt> </tt> <tt>Oracle NoSQL数据库会有商业版和社区版两个版本。当前发行的第一个版本中(v1.1.100)，两者没有功能上的区别（商业版有Oracle的支持服务）。目前商业版本已经开放下载：<a title="http://www.oracle.com/technetwork/database/nosqldb/downloads/index.html" href="http://t.cn/SvbsUm" target="_blank">http://t.cn/SvbsUm</a> 它包括数据库产品本身的Java类库，第三方类库，示例代码，文档，启动脚本和基于Google GWT实现的管理功能。</tt> <span id="more-1729"></span></p>
<h3>2. Oracle NoSQL数据库在企业部署的示例图</h3>
<p>如下图所示，在当今的企业部署中，Oracle  NoSQL数据库可以和传统的关系型数据库混合搭配提供服务。比如，NoSQL数据库可以运行有实时要求的、非结构化的应用；关系型数据库可以用来执行查 询分析、交易结算等功能。举个在线电子商务的应用来说，和用户相关的注册信息、个人头像、评论、爱好、购物车、网站的静态图片、商品等信息可以存在 Oracle NoSQL数据库；而当用户选定进行结算时，则可以通过Oracle关系型数据库进行支付等操作。</p>
<p>Oracle NoSQL数据库分客户端和服务端2个部分。客户端提供给应用程序的API调用（如Put，Get，Delete，Multi Put/Get/Delete，Iterator等），以及服务端的一些状态和统计信息（如数据分区、机器负载等）。目前客户端仅提供Java接口，暂时不支持其他语言。</p>
<p>而服务端则具体用来管理数据，提供数据库操作、并发控制、一致性和扩展性、管理功能等。在下图中，每个Storage Node代表着数据中心中的一台物理或者虚拟的机器（VM），这些机器可以是跨数据中心的。而针对整个NoSQL数据库的管理进程可以部署在某个Storage Node上。我们提供命令行和web两种管理接口。</p>
<h3>
<p><div id="attachment_1744" class="wp-caption aligncenter" style="width: 369px"><a href="http://www.bdbchina.com/wp-content/uploads/2011/12/deploy.png"><img class="size-full wp-image-1744" title="Oracle NoSQL数据库在企业部署示例图" src="http://www.bdbchina.com/wp-content/uploads/2011/12/deploy.png" alt="Oracle NoSQL数据库在企业部署示例图" width="359" height="348" /></a><p class="wp-caption-text">Oracle NoSQL数据库在企业部署示例图</p></div></h3>
<h3>3. 在多个节点上部署NoSQL数据库</h3>
<p>目前Oracle NoSQL数据库只支持在Linux或者Solaris  （10及以上）机器上进行部署，这是由于部署及管理的脚本是bash的。如果你要在Windows上进行部署，你可以有2种办法：使用 Cygwin，MingGW等类Linux工具；或者将NoSQL部署脚本转换成Windows的bat脚本 （可参考  https://forums.oracle.com/forums/thread.jspa?threadID=2307203&amp;tstart=0  ）。你也可以尝试在类Linux的系统（如Unix）上实验部署Oracle NoSQL数据库。为了性能考虑，我们不推荐你使用虚拟机。</p>
<h4>3.1 前期准备</h4>
<ul>
<li> JDK  1.6.0 u25或以上。</li>
<li> 一台或者多台Linux或者Solaris （10及以上）机器。</li>
<li> 保证机器之间时间同步。你可以使用ntp等工具。</li>
<li> Oracle NoSQL数据库发布包，如kv-1.1.100.zip。</li>
</ul>
<h4>3.2 安装步骤</h4>
<p>a. 创建启动配置参数文件</p>
<p>b. 启动管理进程和存储节点代理进程(Storage Node Agent, 简称SNA)</p>
<p>c. 通过Oracle NoSQL数据库管理（命令行或者web方式）配置一个NoSQL库，步骤如下：</p>
<blockquote><p>1) 创建一个数据中心</p>
<p>2) 部署一台Storage Node，用来运行该NoSQL库的管理模块</p>
<p>3) 将管理模块部署到Storage Node上 （该步骤在步骤b的基础上增加了对NoSQL数据库级别的管理功能，因此管理节点和端口必须一致）</p>
<p>4) 创建一个Storage Node池</p>
<p>5) 将步骤2)创建的Storage Node加到存储节点池</p>
<p>6) 将剩余节点(Storage Node) 轮流部署并加入到存储节点池</p>
<p>7) 在指定的存储节点池上部署NoSQL库，指定复制因子和数据分区数。</p></blockquote>
<p>d. 在客户端运行HelloBigDataWorld示例程序，验证数据库是否部署成功。</p>
<h4>3.3 实际部署示范</h4>
<p>对照3.2的过程，简单起见我们在3个节点上部署一个NoSQL数据库实例，并运行HelloBigDataWorld例子。</p>
<p>1. 下载Oracle NoSQL数据库发布包（如kv-1.1.100.zip），并解压释放。释放文件的文件夹约定为KVHOME。<em>（注意：如果是多机环境，你要将发布包释放或者映射到每台机器的对应目录。）</em></p>
<p>2. 创建存放数据文件的目录，约定为KVROOT。多机的话，每台机器一样要创建数据文件目录。</p>
<p>3. 在管理节点上，创建启动配置参数文件</p>
<blockquote>
<pre>&gt; KVHOME/bin/kvctl makebootconfig -root KVROOT \
                                  -port 5000 \
                                  -admin 5001 \
                                  -harange 5010,5020</pre>
</blockquote>
<p>4. 启动管理进程和存储节点代理进程</p>
<blockquote>
<pre>&gt; KVHOME/bin/kvctl start -root KVROOT</pre>
</blockquote>
<p>5. 在管理节点上： 验证管理进程和存储节点代理进程是否顺利启动</p>
<blockquote>
<pre><tt>&gt; jps -m
29400 ManagedService -root /tmp -class Admin -service BootstrapAdmin.13250 -config config.xml
29394 StorageNodeAgentImpl -root /tmp -config config.xml

# 如果顺利启动则会出现上面所示的2个进程
</tt></pre>
</blockquote>
<p>6. 在客户端： 验证客户端是否可以顺利“联系”存储节点代理进程</p>
<blockquote>
<pre>&gt; KVHOME/bin/kvctl ping -port 5000 -host node01

# 如果成功则出现如下所示的信息：
SNA at hostname: node01, registry port: 5000 is not registered.
            No further information is available

# 否则，不成功的话，会出现如下错误：
Could not connect to registry at node01:5000
Connection refused to host: node01; nested exception is:
java.net.ConnectException: Connection refused</pre>
</blockquote>
<p>7. 通过命令行配置一个NoSQL数据库实例<em> </em></p>
<p><em> </em> 7.1 使用命令行单步执行<em> </em></p>
<blockquote><p><tt>1) 启动管理功能的命令行</tt></p>
<pre>&gt; KVHOME/bin/kvctl runadmin -port 5000 -host node01

2) 指定数据库名字

kv-&gt; configure mystore

3) 创建一个数据中心 

kv-&gt; plan -execute -name "Deploy DC" deploy-datacenter "Boston" "Savvis"
1
kv-&gt;

4) 部署一台Storage Node，用来运行该NoSQL库的管理模块

kv-&gt; plan -execute -name "Deploy n01" deploy-sn 1 node01 5000 "comment"
2
kv-&gt;

5) 将管理模块部署到Storage Node上 （该步骤在步骤b的基础上增加了对NoSQL数据库级别的管理功能，因此管理节点和端口必须一致）

kv-&gt; plan -execute -name "Deploy admin" deploy-admin 1 5001
3
kv-&gt;
6) 创建一个Storage Node池

kv-&gt; addpool BostonPool
kv-&gt; show topology
dc=[dc1] name=Boston
 sn=[sn1]  dc=dc1 node1:5000 status=UNREPORTED
7) 将步骤2)创建的Storage Node加到存储节点池

kv-&gt; joinpool BostonPool 1
AllStorageNodes: sn1
BostonPool: sn1
kv-&gt;
8 ) 将剩余节点(Storage Node) 轮流部署并加入到存储节点池

kv-&gt; plan -execute -name "Deploy n02" deploy-sn 1 node02 5000
4
kv-&gt; joinpool BostonPool 2
AllStorageNodes: sn1 sn2
BostonPool: sn1 sn2
kv-&gt; plan -execute -name "Deploy n03" deploy-sn 1 node03 5000
5
kv-&gt; joinpool BostonPool 3
AllStorageNodes: sn1 sn2 sn3
BostonPool: sn1 sn2 sn3
kv-&gt;

....
9) 在指定的存储节点池上部署NoSQL库，指定复制因子和数据分区数

kv-&gt; plan -execute -name "Deploy the store" deploy-store BostonPool 3 300

10) 查询所有以上步骤的结果

kv-&gt; show plans
1 Deploy Boston DC         SUCCEEDED
2 Deploy n01               SUCCEEDED
3 Deploy admin             SUCCEEDED
4 Deploy n02               SUCCEEDED
5 Deploy n03               SUCCEEDED
6 Deploy the store         SUCCEEDED

11) 退出命令行

kv-&gt; quit</pre>
</blockquote>
<p>7.2 使用脚本<em> </em></p>
<blockquote><p><tt>1) 启动管理功能的命令行</tt>，并指定运行的脚本</p>
<pre>&gt; KVHOME/bin/kvctl runadmin -port 5000 -host node01 -script scrpt.txt
kv-&gt; 

执行脚本(scrpt.txt)内容如下：

### Begin Script ###
configure mystore
plan -execute -name "Deploy Boston DC" deploy-datacenter "Boston" "Savvis"
plan -execute -name "Deploy n01" deploy-sn 1 node01 5000
plan -execute -name "Deploy admin" deploy-admin 1 5001
addpool BostonPool
joinpool BostonPool 1
plan -execute -name "Deploy n02" deploy-sn 1 node02 5000
joinpool BostonPool 2
plan -execute -name "Deploy n03" deploy-sn 1 node03 5000
joinpool BostonPool 3
plan -execute -name "Deploy the store" deploy-store BostonPool 3 300
### End Script ###

2) 查询所有以上步骤的结果

kv-&gt; show plans
1 Deploy Boston DC         SUCCEEDED
2 Deploy n01               SUCCEEDED
3 Deploy admin             SUCCEEDED
4 Deploy n02               SUCCEEDED
5 Deploy n03               SUCCEEDED
6 Deploy the store         SUCCEEDED

3) 退出命令行

kv-&gt; quit</pre>
</blockquote>
<p>8. 在客户端运行HelloBigDataWorld示例程序，验证数据库是否部署成功。</p>
<blockquote>
<pre>在客户端编译示例程序：

javac -g -cp lib/kvclient-M.N.O.jar:examples examples/hello/*.java

运行该示例程序：

java -cp KVHOME/lib/kvclient-M.N.O.jar:KVHOME/examples \
     hello.HelloBigDataWorld \
     -host &lt;hostname&gt; -port &lt;hostport&gt; -store &lt;kvstore name&gt; 

如果输出结果为 "Hello Big Data World!"，那么恭喜你，你的第一个Oracle NoSQL数据库已经配置成功了。</pre>
</blockquote>
<h4>4. 卸载NoSQL数据库</h4>
<p>卸载的过程比较直观，有2种办法：</p>
<p>1. 在每个Storage Node节点上： 通过kvctl停止数据库，然后移除KVROOT目录。</p>
<blockquote><p>a) kvctl stop -root KVROOT/</p>
<p>b) rm KVROOT/</p></blockquote>
<p>2. 在每个节点上kill掉所有NoSQL数据库的Java进程 （通过jps -m定位进程号），然后移除KVROOT目录。  备注：这里基于的假设是Oracle NoSQL数据库是7*24的不间断应用，因此目前的办法是逐个Storage Node来停止服务，并删除数据。</p>
<h4>5. 后续</h4>
<p>当你的NoSQL成功部署以后，你可能会去读一下Oracle NoSQL数据库的FAQ和Getting Started Guide来编写你的第一个NoSQL应用。你也可能会要去查询对应的Javadoc以及示例代码。</p>
<p>如果是数据库管理员的话，你可能会去读一下Oracle NoSQL数据库的FAQ和Administrator&#8217;s Guide。</p>
<p>以上所有这些文档在你下载的Oracle NoSQL发布包中，或者你也可以访问 http://docs.oracle.com/cd/NOSQL/html/index.html  如果有更多问题，欢迎通过邮件和我联系： chao.huang[at]oracle[dot]com；或者通过新浪微博和我们互动： weibo.com/bdbchina。 转载请注明出处，谢谢。<em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2011/12/%e5%9c%a8%e5%a4%9a%e4%b8%aa%e8%8a%82%e7%82%b9%e4%b8%8a%e9%83%a8%e7%bd%b2oracle-nosql%e6%95%b0%e6%8d%ae%e5%ba%93/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>甲骨文正式发布Oracle NoSQL数据库</title>
		<link>http://www.bdbchina.com/2011/10/%e7%94%b2%e9%aa%a8%e6%96%87%e6%ad%a3%e5%bc%8f%e5%8f%91%e5%b8%83oracle-nosql%e6%95%b0%e6%8d%ae%e5%ba%93/</link>
		<comments>http://www.bdbchina.com/2011/10/%e7%94%b2%e9%aa%a8%e6%96%87%e6%ad%a3%e5%bc%8f%e5%8f%91%e5%b8%83oracle-nosql%e6%95%b0%e6%8d%ae%e5%ba%93/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 04:53:28 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[Oracle NoSQL DB]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1717</guid>
		<description><![CDATA[甲骨文正式发布Oracle NoSQL数据库
作为甲骨文大数据产品组合的一部分，Oracle NoSQL数据库提供企业级的NoSQL技术和支持
甲骨文公司，美国加利福尼亚州 &#8211; 2011年10月24日
新闻事实


作为甲骨文大数据产品组合的一个关键产品，  Oracle NoSQL数据库 今日在Oracle技术网 (OTN) 提供下载 。
Oracle NoSQL数据库使客户能够轻松地管理大量的，动态模式 (dynamic schemas) 的数据，如Web日志数据，传感器和智能仪表的数据，用户个性化数据，和社交网络的数据。
通过使用一个简单的键 &#8211; 值数据模型，高可用和高扩展的Oracle NoSQL数据库是一个简单的，灵活的高效数据存储方案，它是快速开发和部署应用的理想选择。
目前，很多的NoSQL产品提供的“最终一致性”使得应用程序开发变得困难，其中数据的多个副本只在“最终”得到更新。 这使得程序员需要写代码来处理应用的一致性问题。相比之下，Oracle NoSQL数据库提供可配置的一致性选项，以满足不同的应用需求。
利用甲骨文公司在企业数据管理的专业知识和甲骨文企业级支持，Oracle NoSQL数据库比许多有竞争力的解决方案更容易安装，配置和管理。
此外，甲骨文还将提供一个新的设备，甲骨文大数据设备 ，它是一个运行Oracle NoSQL数据库和甲骨文公司其他大数据产品的专门优化的平台。 甲骨文大数据设备将在2012年第一季度推出。
随着甲骨文NoSQL数据库和配套的大数据产品的发布，甲骨文是一个针对大数据的获取 (acquire)，组织 (organize) 和分析 (analyze) 提供端到端解决方案的唯一提供商。 这使客户能够将他们的企业大数据的价值最大化。


更快，更高效的动态，大容量数据存储
Oracle NoSQL数据库的主要优点包括：


商业级软件和支持：Oracle NoSQL数据库是快速，可扩展，可靠，并且易于安装和配置的。 凭借Oracle支持为后盾，Oracle NoSQL数据库在为客户提供一站式故障排除的同时，还保持企业关键数据库的连续可用性。
可扩展的吞吐量和固定的延迟：Oracle NoSQL数据库几乎呈线性扩展，保证了在一个高的工作负载和使用情况下为客户提供可靠的，高性能的数据库服务。
简单的编程和操作模型：简单的主键 (major key) +子键 (sub key) 和值 (value)的数据模型和较为宽松的ACID事务提供了水平扩展环境中针对大型数据集操作的极大灵活性。
易于管理：Oracle NoSQL数据库可通过Web控制台和API进行管理。 它提供了自动管理和监控系统拓扑结构，负载均衡，性能，事件和警报。


更多信息

关于Oracle大数据 &#8211; http://www.oracle.com/us/technologies/big-data/index.html
关于Oracle NoSQL数据库 &#8211; http://www.oracle.com/us/products/database/nosql/overview/index.html
Oracle NoSQL数据库官方论坛 &#8211; https://forums.oracle.com/forums/forum.jspa?forumID=1388
Oracle NoSQL数据库及伯克利数据库(Berkeley DB)中国开发者的： 博客 (www.bdbchina.com) 和微博 [...]]]></description>
			<content:encoded><![CDATA[<h1>甲骨文正式发布Oracle NoSQL数据库</h1>
<h2>作为甲骨文大数据产品组合的一部分，Oracle NoSQL数据库提供企业级的NoSQL技术和支持</h2>
<div>甲骨文公司，美国加利福尼亚州 &#8211; 2011年10月24日</div>
<h3>新闻事实</h3>
<div>
<ul>
<li>作为甲骨文大数据产品组合的一个关键产品，  <a href="http://www.oracle.com/us/products/database/nosql/overview/index.html">Oracle NoSQL数据库</a> 今日在Oracle技术网 (OTN) <a href="http://www.oracle.com/technetwork/database/nosqldb/downloads/index.html">提供下载</a> 。</li>
<li>Oracle NoSQL数据库使客户能够轻松地管理大量的，动态模式 (dynamic schemas) 的数据，如Web日志数据，传感器和智能仪表的数据，用户个性化数据，和社交网络的数据。</li>
<li>通过使用一个简单的键 &#8211; 值数据模型，高可用和高扩展的Oracle NoSQL数据库是一个简单的，灵活的高效数据存储方案，它是快速开发和部署应用的理想选择。</li>
<li>目前，很多的NoSQL产品提供的“最终一致性”使得应用程序开发变得困难，其中数据的多个副本只在“最终”得到更新。 这使得程序员需要写代码来处理应用的一致性问题。相比之下，Oracle NoSQL数据库提供可配置的一致性选项，以满足不同的应用需求。</li>
<li>利用甲骨文公司在企业数据管理的专业知识和甲骨文企业级支持，Oracle NoSQL数据库比许多有竞争力的解决方案更容易安装，配置和管理。</li>
<li>此外，甲骨文还将提供一个新的设备，<a href="http://www.oracle.com/us/corporate/features/feature-obda-498724.html">甲骨文大数据设备</a> ，它是一个运行Oracle NoSQL数据库和甲骨文公司其他大数据产品的专门优化的平台。 甲骨文大数据设备将在2012年第一季度推出。</li>
<li>随着甲骨文NoSQL数据库和配套的大数据产品的发布，甲骨文是一个针对大数据的获取 (acquire)，组织 (organize) 和分析 (analyze) 提供端到端解决方案的唯一提供商。 这使客户能够将他们的企业大数据的价值最大化。</li>
</ul>
</div>
<h3>更快，更高效的动态，大容量数据存储</h3>
<div>Oracle NoSQL数据库的主要优点包括：</div>
<div>
<ul>
<li>商业级软件和支持：Oracle NoSQL数据库是快速，可扩展，可靠，并且易于安装和配置的。 凭借Oracle支持为后盾，Oracle NoSQL数据库在为客户提供一站式故障排除的同时，还保持企业关键数据库的连续可用性。</li>
<li>可扩展的吞吐量和固定的延迟：Oracle NoSQL数据库几乎呈线性扩展，保证了在一个高的工作负载和使用情况下为客户提供可靠的，高性能的数据库服务。</li>
<li>简单的编程和操作模型：简单的主键 (major key) +子键 (sub key) 和值 (value)的数据模型和较为宽松的ACID事务提供了水平扩展环境中针对大型数据集操作的极大灵活性。</li>
<li>易于管理：Oracle NoSQL数据库可通过Web控制台和API进行管理。 它提供了自动管理和监控系统拓扑结构，负载均衡，性能，事件和警报。</li>
</ul>
</div>
<h3>更多信息</h3>
<ul>
<li>关于Oracle大数据 &#8211; http://www.oracle.com/us/technologies/big-data/index.html</li>
<li>关于Oracle NoSQL数据库 &#8211; http://www.oracle.com/us/products/database/nosql/overview/index.html</li>
<li>Oracle NoSQL数据库官方论坛 &#8211; https://forums.oracle.com/forums/forum.jspa?forumID=1388</li>
<li>Oracle NoSQL数据库及伯克利数据库(Berkeley DB)中国开发者的： 博客 (www.bdbchina.com) 和微博 (weibo.com/bdbchina)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2011/10/%e7%94%b2%e9%aa%a8%e6%96%87%e6%ad%a3%e5%bc%8f%e5%8f%91%e5%b8%83oracle-nosql%e6%95%b0%e6%8d%ae%e5%ba%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Berkeley DB Java Edition 高可用性介绍</title>
		<link>http://www.bdbchina.com/2011/09/berkeley-db-java-edition-%e9%ab%98%e5%8f%af%e7%94%a8%e6%80%a7%e4%bb%8b%e7%bb%8d/</link>
		<comments>http://www.bdbchina.com/2011/09/berkeley-db-java-edition-%e9%ab%98%e5%8f%af%e7%94%a8%e6%80%a7%e4%bb%8b%e7%bb%8d/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 09:19:07 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB JE]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[bdb]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[JE]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1694</guid>
		<description><![CDATA[这是一篇译文，现在贴过来。原文见JE官网http://www.oracle.com/technetwork/database/berkeleydb/overview/index-093405.html的底部“Berkeley DB Java Edition High Availability”一栏。
概览
Oracle Berkeley DB Java版高可用性（JE HA）是一个支持replication特性的事务性数据管理系统。JE HA提供的高可用特性可以极大提升数据读操作的可扩展性（scalability）及其性能。
这份白皮书将详细介绍JE HA的关键概念和主要特性，从而让开发人员和应用软件设计者理解如何最好地利用JE HA解决软件开发中特有的数据管理问题。
本白皮书同时也讨论了软件架构师在设计基于JE HA的应用时，如何从技术的角度权衡各方面的性能与资源。

基本介绍
Oracle Berkeley DB Java版本（JE）在最新的发布版本中引进了一个新特性，即高可用性（high availability，简称为HA）。JE是一个事务性的数据管理系统，最新版本的JE 便是在之前版本的基础上做了扩展，加入了HA的特性。
用户在应用程序中可以利用JE的直接持久层（DPL）创建用于存储Java对象的索引数据库。在JE中，多个数据库操作可以包含进一个事务（transaction）中，从而得到事务所提供的原子性、一致性、分离性和持久性（ACID）等事务特性。如果应用程序或者系统发生故障，JE的故障恢复机制（recovery）可以使应用程序的数据恢复到一致的状态。
JE HA是一个嵌入式数据管理系统，它在具备JE全部功能的基础上，为JE提供replication规则，即“主节点（master）可以执行读/写操作，副节点（replica）只能执行读操作”。这种规则意味着数据库读与写操作都可以在单个主节点中进行，而在副节点上只能进行读操作。如果主节点发生故障被关闭，那么JEHA将在所有副节点中自动选择其中一个作为新的主节点，这样，所有的读写操作就可以在新的主节点中进行。作为一个嵌入式的类库，JE HA可以广泛应用在各种硬件配置和环境中。
JE HA主要解决以下三个应用上所面临的难题：

在不允许宕机的应用场景中，能够迅速进行热备切换（failover）；
通过配置多个只读副节点以提供读操作的可扩展性；
在实现数据持久性（durability）时，允许应用程序将数据提交到（快速的）网络，而不是（缓慢的）磁盘，从而使事务的提交更加高效。

然而，JE HA不适用于需要对写操作进行扩展的应用场景。这类应用场景需要数据分区（data partition），然后在每一个数据分区中运行一个JE HA的环境。同样，JE HA也不提供与其他数据库进行数据同步的功能。本白皮书不再赘述这两方面的应用。
除去上述两个应用场景，JE HA可以广泛应用在各种环境中。下面分别进行简单的介绍。

基于小型局域网的数据复制备份：基于数据中心的服务可以向本地的多个机器提供数据，比如一个公司网站。这种服务由几台安放在同一个数据中心的服务器提供，这些服务器通过高速的局域网互联。
广域数据存储：广域数据存储服务可以存储大量的账户信息，用户可以在全球任何地方访问这些信息。这种服务由许多分布在全球多个地方的数据中心的服务器提供。这些服务器通过数据中心之间的高速网络进行通信。
主节点/从节点：提供主从节点机器的热备切换。

JE HA可以在广泛的应用环境中对数据进行replication，而单独一种数据管理和replication机制并不能适用于所有环境。因此，JE HA可以让应用程序控制主副节点之间的数据一致性程度，事务持久性，以及提供了其他可以提升性能、可靠性以及数据可用性的各种设计选择。这份白皮书的目的就是介绍这些选择和配置，并且提供足够的细节便于用户的理解，这样用户在设计应用程序时可以做出正确的选择和取舍。
JE HA概述
这一章节将描述JE HA的总体架构和关键概念。
下文中，术语“数据库”（Database） 用于表示一组键/值对（key/value pair）数据集，这些键/值对数据集共享一个索引数据结构，它对应于关系型数据库管理系统（RDBMS）中表（table）的概念。术语“环境”（Environment）用于表示一组具有逻辑关系的Berkeley DB数据库集合，以及相关的元数据（meta-data）和内部文件。每个环境用一个文件目录命名。可以看出，环境就是RDBMS中数据库的概念。也就是说，下文中涉及的数据库就是RDBMS中的表，而环境就是RDBMS中的数据库。
JE HA将一个环境在一个replication group中的各个节点之间进行replication操作。一个环境就是一个replication单元。在一个replication的环境中，所有数据库都支持replication操作和满足事务性。
Replication group
一个replication group是一个节点集合。这些节点都将参与到环境的replication过程中。一个replication group由两种节点组成：可选（Electable）节点和监测（Monitor）节点。
每个可选节点都拥有一份可进行replication的环境副本，它既可作为主节点，也可作为副节点。一个可选节点将通过一种分布式的两阶段投票协议（distributed two-phase voting protocol）而被选举成为一个主节点。这种投票协议将可以保证每次仅选举出一个主节点。所有参与选举的节点中，拥有最新环境数据的节点将被选为主节点。一个可选节点可以进入以下几种状态（但每个时间点只能进入一种状态）：

主节点（Master）状态：一个节点将通过简单多数（或者叫过半数，simple majority）原则，在众多可选节点中被选举为主节点。一个节点变成主节点后可以进行读和写操作。
副节点（Replica）状态：副节点通过replication stream与主节点进行通信。Replication stream用于跟踪记录在主节点中所做的任何更新。在后续章节中将会对replication stream做详细的介绍。副节点只支持读操作。
未知（Unknown）状态：一个节点处于未知状态意味着此节点不能识别主节点，并不断尝试着寻找主节点，或者联系其他成员节点来进行主节点选举。处于未知状态的节点将不断尝试过渡到主节点或者副节点状态。这种状态的节点如果能满足事务性的一致性要求（下文将详细描述），那么它仍然可以进行读操作。
分离（Detached）状态：一个节点处于分离状态意味着此节点已经被关闭（shutdown）。处于分离状态的节点仍然属于replication group中的成员，但它并不是一个活跃节点（active node）。同样，如果一个节点不处于分离状态，则意味着它是活跃节点。

注：为了简略，术语“主节点”和“副节点”在以下的讨论中将用于表示replication group中的某节点正处于主节点状态和副节点状态。
监测节点（monitor node）用于跟踪和监视一个replication group中所有可选节点的当前状态。所有新节点的加入和当前节点的删除所引起的replication group结构的变化都会被监测节点监听到。监测节点同时也能监听所有可选节点的动态状态变化（即此节点处于活跃状态抑或分离状态）。监测节点没有任何持久的状态，也不拥有可进行replication的环境副本。应用程序可以利用监测节点将所有的写请求路由到replication group当前的主节点中，同时将读请求路由到replication group的副节点中。另外，只有应用程序需要调用监测节点，监测节点才会被replication group所创建。也就是说，监测节点并不是必需的。
一个replication [...]]]></description>
			<content:encoded><![CDATA[<p><em>这是一篇译文，现在贴过来。原文见JE官网http://www.oracle.com/technetwork/database/berkeleydb/overview/index-093405.html的底部“Berkeley DB Java Edition High Availability”一栏。</em></p>
<h1>概览</h1>
<p>Oracle Berkeley DB Java版高可用性（JE HA）是一个支持replication特性的事务性数据管理系统。JE HA提供的高可用特性可以极大提升数据读操作的可扩展性（scalability）及其性能。</p>
<p>这份白皮书将详细介绍JE HA的关键概念和主要特性，从而让开发人员和应用软件设计者理解如何最好地利用JE HA解决软件开发中特有的数据管理问题。</p>
<p>本白皮书同时也讨论了软件架构师在设计基于JE HA的应用时，如何从技术的角度权衡各方面的性能与资源。</p>
<p><span id="more-1694"></span></p>
<h1>基本介绍</h1>
<p>Oracle Berkeley DB Java版本（JE）在最新的发布版本中引进了一个新特性，即高可用性（high availability，简称为HA）。JE是一个事务性的数据管理系统，最新版本的JE 便是在之前版本的基础上做了扩展，加入了HA的特性。</p>
<p>用户在应用程序中可以利用JE的直接持久层（DPL）创建用于存储Java对象的索引数据库。在JE中，多个数据库操作可以包含进一个事务（transaction）中，从而得到事务所提供的原子性、一致性、分离性和持久性（ACID）等事务特性。如果应用程序或者系统发生故障，JE的故障恢复机制（recovery）可以使应用程序的数据恢复到一致的状态。</p>
<p>JE HA是一个嵌入式数据管理系统，它在具备JE全部功能的基础上，为JE提供replication规则，即“主节点（master）可以执行读/写操作，副节点（replica）只能执行读操作”。这种规则意味着数据库读与写操作都可以在单个主节点中进行，而在副节点上只能进行读操作。如果主节点发生故障被关闭，那么JEHA将在所有副节点中自动选择其中一个作为新的主节点，这样，所有的读写操作就可以在新的主节点中进行。作为一个嵌入式的类库，JE HA可以广泛应用在各种硬件配置和环境中。</p>
<p>JE HA主要解决以下三个应用上所面临的难题：</p>
<ul>
<li>在不允许宕机的应用场景中，能够迅速进行热备切换（failover）；</li>
<li>通过配置多个只读副节点以提供读操作的可扩展性；</li>
<li>在实现数据持久性（durability）时，允许应用程序将数据提交到（快速的）网络，而不是（缓慢的）磁盘，从而使事务的提交更加高效。</li>
</ul>
<p>然而，JE HA不适用于需要对写操作进行扩展的应用场景。这类应用场景需要数据分区（data partition），然后在每一个数据分区中运行一个JE HA的环境。同样，JE HA也不提供与其他数据库进行数据同步的功能。本白皮书不再赘述这两方面的应用。</p>
<p>除去上述两个应用场景，JE HA可以广泛应用在各种环境中。下面分别进行简单的介绍。</p>
<ul>
<li>基于小型局域网的数据复制备份：基于数据中心的服务可以向本地的多个机器提供数据，比如一个公司网站。这种服务由几台安放在同一个数据中心的服务器提供，这些服务器通过高速的局域网互联。</li>
<li>广域数据存储：广域数据存储服务可以存储大量的账户信息，用户可以在全球任何地方访问这些信息。这种服务由许多分布在全球多个地方的数据中心的服务器提供。这些服务器通过数据中心之间的高速网络进行通信。</li>
<li>主节点/从节点：提供主从节点机器的热备切换。</li>
</ul>
<p>JE HA可以在广泛的应用环境中对数据进行replication，而单独一种数据管理和replication机制并不能适用于所有环境。因此，JE HA可以让应用程序控制主副节点之间的数据一致性程度，事务持久性，以及提供了其他可以提升性能、可靠性以及数据可用性的各种设计选择。这份白皮书的目的就是介绍这些选择和配置，并且提供足够的细节便于用户的理解，这样用户在设计应用程序时可以做出正确的选择和取舍。</p>
<h1>JE HA概述</h1>
<p>这一章节将描述JE HA的总体架构和关键概念。</p>
<p>下文中，术语“数据库”（Database） 用于表示一组键/值对（key/value pair）数据集，这些键/值对数据集共享一个索引数据结构，它对应于关系型数据库管理系统（RDBMS）中表（table）的概念。术语“环境”（Environment）用于表示一组具有逻辑关系的Berkeley DB数据库集合，以及相关的元数据（meta-data）和内部文件。每个环境用一个文件目录命名。可以看出，环境就是RDBMS中数据库的概念。也就是说，下文中涉及的数据库就是RDBMS中的表，而环境就是RDBMS中的数据库。</p>
<p>JE HA将一个环境在一个replication group中的各个节点之间进行replication操作。一个环境就是一个replication单元。在一个replication的环境中，所有数据库都支持replication操作和满足事务性。</p>
<h2>Replication group</h2>
<p>一个replication group是一个节点集合。这些节点都将参与到环境的replication过程中。一个replication group由两种节点组成：可选（Electable）节点和监测（Monitor）节点。</p>
<p>每个可选节点都拥有一份可进行replication的环境副本，它既可作为主节点，也可作为副节点。一个可选节点将通过一种分布式的两阶段投票协议（distributed two-phase voting protocol）而被选举成为一个主节点。这种投票协议将可以保证每次仅选举出一个主节点。所有参与选举的节点中，拥有最新环境数据的节点将被选为主节点。一个可选节点可以进入以下几种状态（但每个时间点只能进入一种状态）：</p>
<ul>
<li>主节点（Master）状态：一个节点将通过简单多数（或者叫过半数，simple majority）原则，在众多可选节点中被选举为主节点。一个节点变成主节点后可以进行读和写操作。</li>
<li>副节点（Replica）状态：副节点通过replication stream与主节点进行通信。Replication stream用于跟踪记录在主节点中所做的任何更新。在后续章节中将会对replication stream做详细的介绍。副节点只支持读操作。</li>
<li>未知（Unknown）状态：一个节点处于未知状态意味着此节点不能识别主节点，并不断尝试着寻找主节点，或者联系其他成员节点来进行主节点选举。处于未知状态的节点将不断尝试过渡到主节点或者副节点状态。这种状态的节点如果能满足事务性的一致性要求（下文将详细描述），那么它仍然可以进行读操作。</li>
<li>分离（Detached）状态：一个节点处于分离状态意味着此节点已经被关闭（shutdown）。处于分离状态的节点仍然属于replication group中的成员，但它并不是一个活跃节点（active node）。同样，如果一个节点不处于分离状态，则意味着它是活跃节点。</li>
</ul>
<p>注：为了简略，术语“主节点”和“副节点”在以下的讨论中将用于表示replication group中的某节点正处于主节点状态和副节点状态。</p>
<p>监测节点（monitor node）用于跟踪和监视一个replication group中所有可选节点的当前状态。所有新节点的加入和当前节点的删除所引起的replication group结构的变化都会被监测节点监听到。监测节点同时也能监听所有可选节点的动态状态变化（即此节点处于活跃状态抑或分离状态）。监测节点没有任何持久的状态，也不拥有可进行replication的环境副本。应用程序可以利用监测节点将所有的写请求路由到replication group当前的主节点中，同时将读请求路由到replication group的副节点中。另外，只有应用程序需要调用监测节点，监测节点才会被replication group所创建。也就是说，监测节点并不是必需的。</p>
<p>一个replication group中的多个副节点可以分布到多台物理机器中，这样可以保证单个机器上的故障或者宕机不会影响到同组中的其他节点。但不同replication group中的多个副节点运行在同一个物理机器中的情形也并不少见。这种配置在某些应用场景中是十分有用的。例如，实现数据分区，这种应用场景在后面章节会有详细描述。</p>
<p>图一清楚描述了一个replication group G中的主要元素：三个可选节点（N1，N2 和N3）以及两个监测节点（M1和M2）。</p>
<p><img class="aligncenter" src="data:image/png;base64,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" alt="" width="394" height="282" /></p>
<p><strong>（图一）</strong><strong> </strong><strong>Replication group G</strong><strong>。可选节点：</strong><strong>G</strong><strong>（</strong><strong>N1</strong><strong>），</strong><strong>G</strong><strong>（</strong><strong>N2</strong><strong>）</strong><strong> </strong><strong>和</strong><strong>G</strong><strong>（</strong><strong>N3</strong><strong>）。两个监测节点：</strong><strong>G</strong><strong>（</strong><strong>M1</strong><strong>）和</strong><strong>G</strong><strong>（</strong><strong>M2</strong><strong>）。</strong><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Replication  group</strong><strong>的生命周期</strong></p>
<p>一个replication group总是从一个节点开始，这第一个节点会被默认成为主节点。一个可进行replication的环境可以是空的，或者是一个已存在的独立（standalone）的环境。但这个环境被转换成一个可进行replication的环境格式之后，可以往这个replication group中加入新的可选节点，这样会增加组的大小，同时也会增加主节点选举和数据持久性所需要的有效可选节点的数目（quorum）。</p>
<p>一个新的可选的节点通常需要经过以下几步才能真正参与到replication group中（即成为活跃节点）：</p>
<ul>
<li>新节点找到主节点，并且提供自身的配置信息。</li>
<li>主节点把新节点的信息存储到内部一个用于记录组节点信息的可进行replication的数据库中。其他可选举节点将通过replication stream获知新节点的信息。至此，新节点可被视为是replication group中的一名成员节点。</li>
<li>此新成员节点开始初始化它所拥有replication环境副本。如果某些日志文件已经被JE 的日志清除器（log      cleaner）所回收，那么新节点将调用一个叫做Network Restore的操作，从组内某一个成员节点中直接拷贝一份日志文件，并且用这份日志副本作为重演（replay）replication stream的起始点。</li>
<li>新节点重演replication      stream，直到它满足一致性的要求为止。</li>
</ul>
<p>满足一致性要求之后，新成员节点就成为一个活跃的副节点。它将可以为应用程序提供读操作，并且可以在热备切换过程中被选为主节点。</p>
<p>由于监测节点不需要为应用程序提供数据的读写服务，所以它并不拥有可进行replication的环境副本。因此加入一个监测节点很简单，只需要在主节点所拥有的环境副本中加入此监测节点的信息。这样，其他成员节点可以利用该信息与监测节点通信，向监测节点通知有关组内的变化，例如某次选举，或者组内成员的组成变化（新增节点或者删除节点）。同样，由于没有环境副本，当监测节点在每次启动的时候，它必须查询其他可选节点以判定组内当前成员节点的构成和状态。</p>
<p>如果节点运行的机器发生故障或宕机时，replication group有可能会由于组内节点数目无法达到有效可选节点数而无法运行。这些发生故障的节点可以通过JE HA提供的API显式地进行删除，这样余下的成员节点数目便可以满足有效可选节点数的要求，从而replication group可以恢复到正常的运行状态。当然，节点的删除往往意味着数据可持久性的降低。</p>
<h2>Replication stream</h2>
<p>所有发生在主节点上的写事务操作都将通过一种逻辑意义上的replication stream被复制到所有副节点中。这种replication stream是建立在TCP/IP连接之上，这种连接是主节点和每个副节点之间的专用连接。Replication stream包含主节点上的一些逻辑变化，这些逻辑变化是各种发生在环境中的数据库事务操作，如插入（insert）、更新（update）、删除（delete）、提交（commit）和中止（abort）等等。这些逻辑操作将从当前主节点日志文件中的日志条目（log entry）计算出来并且复制到各个副节点中，然后在每个副节点中通过高效的内部重演机制执行这些操作。</p>
<p>为了能让副节点能成功重演replication stream，这些日志条目必须是连续的。它们不能是一些被JE的日志清除器删除掉的条目。</p>
<p>为了保证这一点，JE HA把日志分成两部分：</p>
<ul>
<li>可移除日志，一般在日志的前端，由过时的数据组成，日志清除器可以将其删除。</li>
<li>不可移除日志，一般在日志的末端，所有在这部分的日志都是新的，日志清除器不可以将其删除。只有这部分日志才能用于构造replication      stream。这部分日志会随着新条目的加入而不断增大。一旦不可移除日志在所有副节点上重演，就会转换为可移除日志。</li>
</ul>
<p>下图描述了一个具有三个节点的replication group：节点1是主节点，节点2在重演日志时落后最多，所以节点2被用于决定可移除和不可移除日志。所有没有被节点2重演过的日志条目都会组成不可移除日志。在这个例子中，节点1的日志文件5和日志文件6，以及节点3的日志文件4和日志文件5组成了不可移除日志。这些文件在节点2进行更多重演之前都不能被回收。</p>
<p><img class="aligncenter" src="data:image/png;base64,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m729vdbW1ikpKRqNpqqqysLCorKycmtrKyUlxcbGpru7Wy6X+/r6IglGS3uRSCSTyUZHR21tbePj49VqdUNDw+3bt0tLS9VqdXZ2trm5eU9Pz8bGRmhoKB6Pn5+fX1pacnV1/eGHH2JiYjQazR5/cy/Hzs5OSkrKmTNn0tPTtVptUVER8o1sb2/HxcXZ2dn19vai32MGg7GwsIASI318fBQKRX9/v7W1dXJyskajqa6uvnPnTlVVlVqtTk1NRd3ZNzY2/P39KRTKzMzM4uIii8USiURyuXx0dNTGxiYmJkatVjc1Nd25c6e0tBTtYN+5c6ezs3NjYyMsLAyPx8/MzCwvL/N4PA6Ho1Ao0O8xKiHZ1NRkY2OTlZW1s7OTm5trbW1dX1+vVqsjIiKIROLQ0JBMJuPz+c7OzsvLy3NzcyQSKTg4WKlUdnd33717Nzs7W6lU3rhxg0gkqtXqjd8zSqUyMjISVULe6xtqv6PRaObn552dnZEB+rySjdyyQqEQlbjcD/j4+NDp9IMHDx47duzs2bMHDx78y1/+cu7cuZMnT7777rvvv/++mZnZ0aNH33777U8//fTixYtHjhw5cODAkSNHLly48Pnnn7/55pvHjx8/d+7chx9++Oc///nMmTOnTp16991333vvPTMzsx9++OHtt9/++OOPL168+M033xw4cODw4cMXLlz48ssvDxw4cPTo0fPnz6OBJ0+ePHPmzF//+tf33nvv3LlzJ06cePvttz/66CN09DfeeOOrr74yMzP76quv3njjjaNHj547d+6TTz45cODAqVOnzpw58/7777/zzjvnz5//8ccf33nnnQ8//PDChQvff//9gQMHvvjiiwsXLhw+fPjNN9/89ttvzczMPv300wMHDvz444/nzp17//33//KXv5w5c+bkyZPvvPPOwYMHzczMjh079tZbb3322WfofN98803T+R44cOCvf/3rjRs3fHx89s+X+Cvw9fW9devW+++/f+bMmcev9rFjx954441Dhw6ZmZl9/fXXT1ztM2fOnD59+omr/cEHH6Cr/dZbb33xxRcXL148fPjwgQMHvvnmmwsXLqCrjW6SgwcPvvPOO+gm+c///M8PPvgAHfHNN980Xe033njj8av9ww8/oLvrL3/5y+nTp0+fPv3uu+/+7W9/O3/+/PHjx996661PPvnEzMzsu+++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" alt="" width="486" height="314" /></p>
<p><strong>（图二）可移除和不可移除日志</strong><strong> </strong></p>
<p>只要副节点能进行处理，主节点将一直异步地向副节点发送数据的日志信息，即使主节点中的事务还在进行或者这些事务还未提交。如果主节点中的某个事务最后被取消（abort），副节点中的同个事务同样会被取消。然而，应用程序的某个线程有可能会为了满足某个特殊事务对持久性的要求，会进行等待直至该特定事务在一个或多个副节点上提交。对于这类事务，副节点将通过向主节点发送确认响应明该事务已在副节点上提交。但这并不意味着主节点中的后续操作会被阻止，因为主节点在等待响应的过程中可以继续进行其他事务性操作。</p>
<p>对于主节点和副节点来说，主节点往replication stream发送写操作信息和副节点从replication stream读取（并且重演）这些操作是异步的。一旦应用程序创建了一个新日志条目，主节点就能将该日志条目写入复制流。副节点一旦从replication stream读取了这个操作信息，就可以重演该操作。并且，如果主节点需要，副节点可以在重演操作之后向主节点发送一个确认操作已经提交的应答信息。</p>
<p><strong>Heartbeat</strong></p>
<p>除了向副节点发送日志信息，主节点还会定期向副节点发送<strong>heartbeat</strong>。如果没有收到主节点发来的<strong>heartbeat</strong>，副节点将认为主节点或网络可能出现故障，并且发起一次主节点选举来解决这次潜在的问题。在任意的时间点，副节点在重演replication stream时都有可能滞后于主节点，所以在那一时刻副节点的环境可能会与主节点不一样（尽管在副节点赶上主节点之后，这些环境最终都将一致）。副节点将会利用<strong>heartbeat</strong>中的信息来判断在重演replication stream的时候它落后于主节点的程度，从而可以让副节点满足读一致性的要求（读一致性的要求决定了什么样的滞后程度是可以接受的）。</p>
<h1>应用程序架构</h1>
<p>JE HA建立在JE的基础之上，所以共用了JE大部分的API。然而，基于JE HA的应用程序是一个分布式的应用程序，这会带来一些额外的问题，而解决这些问题的最佳时机是在对应用程序的架构进行初始设计的时候。在这一章节中，我们将对JE HA的一些主要特性做一个概述，这些特性会对基于JE  HA的应用程序的架构设计有直接的影响。</p>
<h2>在应用程序中嵌入数据管理</h2>
<p>这一小节将会基于JE来讨论什么是在应用程序中“嵌入”数据管理，并且会将此讨论延伸到JE HA中。</p>
<p>在谈论JE的时候，我们通常用术语“嵌入式（embedded）”来描述应用程序和数据管理能力之间的关系。这些通过JE的类库实现的数据管理能力是被嵌入到应用程序中的。由于JE是被应用程序直接使用和管理的，所以应用程序的用户或者管理员都不需要注意到JE的存在。这种应用程序有可能运行在一个嵌入式设备中，比如一台手持设备，一台桌面机器或者一个数据中心。事实上，JE提供的是存储层的功能，因此它往往是作为存储引擎来为应用程序提供数据管理服务。</p>
<p>对比其他传统的客户端-服务器端（client-server）数据管理架构，嵌入式的数据管理架构有以下一些优点：</p>
<ul>
<li>数据将以原始的形式进行存储和读取，而不需要在不同的数据模型（比如，关系型（relational）数据模型）之间进行转换。应用程序可以将一些结构体或者复杂的对象直接进行序列化后存储进JE的数据库中。</li>
<li>不需要数据库管理员（DBA）。相反，应用程序将数据库配置和管理直接纳入到它自身的配置和管理中，其结果仅需在应用程序中增加几个新的配置。</li>
<li>数据库能够自动恢复（recovery）。终端用户不会注意到任何单独的数据库恢复过程。相反，应用程序在打开一个数据库的时候，JE只在必要的时候会自动并且透明地进行数据库恢复。类似的，当应用程序关闭时，数据库也会被自动关闭。</li>
<li>性能会优于传统的客户端-服务器端架构，其原因是嵌入式结构将消除进程之间通信的额外消耗。这种进程间的通信通常发生在应用程序和数据管理服务之间。</li>
</ul>
<p>对于JE HA来说，应用程序通常运行在replication group中的每一个可选节点中，并且都拥有一份JE 环境副本。在基于JE HA的应用程序中嵌入数据管理的方式与基于JE是一样的。运行在主节点中的应用程序可以进行读和写的操作；而运行在副节点中的应用程序则只能进行读操作。</p>
<p><strong> </strong></p>
<h2>写操作管理</h2>
<p>应用程序负责将应用层面上对数据库的所有修改请求（例如，通过JE对数据进行插入、删除和修改操作，以及对数据库的建立、重命名、清空和删除操作等等）提交到主节点上。应用程序有两种方式可以向主节点发送写操作请求：</p>
<ul>
<li>基于副节点的转发：每一个副节点上的应用程序时刻与主节点保持联系，并且能将所有写操作请求转发到当前主节点。</li>
<li>基于监测节点的路由：应用程序在监测节点中运行一个路由程序，该路由程序可以将写操作请求路由到当前主节点，并且能够将读操作请求路由到所有合适的活跃节点以达到负载平衡。</li>
</ul>
<p>当你在以上两种方式做出选择时，必须考虑以下几个因素：</p>
<ul>
<li>与当前存在的负载平衡机制的整合。在某些情况下，例如，一个基于硬件的负载平衡器，并不容易甚至不可能将一个中间级的路由器整合进来。在这种情况下，基于副节点的转发将是最好的选择，因为这种机制不会干扰到当前负载平衡机制。</li>
<li>写操作请求的延迟性。利用基于副节点路由来转发一个写操作请求会带来额外的网络跃点（network      hop），因此会增加写操作请求的延迟时间。这种延迟的增加在某些应用程序中并不希望看到，例如这些应用程序要求较低的写延迟和较短的反应时间。</li>
<li>网络利用率。如果写请求的平均有效载荷很高，操作请求的转送机制会与replication      stream竞争网络资源，这样反而会影响replication性能。如果应用程序的写请求有效载荷很高，那么基于监测节点的路由会是更好的选择。</li>
<li>操作请求的格式。如果采用基于监测点的路由方式，可能需要对应用程序的操作请求格式设计成能够易于识别其是否为写操作。例如，网络应用可以利用URL的格式协议来让路由器能识别读操作和写操作。当采用基于监测点路由方式时，必须要考虑到设计这些请求格式时的额外需求。</li>
<li>路由器的可用性。对于高可用性，应用程序的设计者必须考虑到使用多路由的情况，这样路由器就不会是导致故障发生的热点。在采用基于监测点路由时，多路由会带来额外的复杂性。</li>
</ul>
<p>对这两种方式的选择是对简单性和性能之间的权衡考虑。基于监测点的路由方式也许会提供更高的性能，但也会带来额外的复杂性。基于副节点的转发方式实现起来相对简单，但相对来说或许没有那么好的性能。</p>
<p>由于不同应用程序中的操作请求的格式和协议各有不同，JE HA并不提供任何机制用于传送成员节点之间或者路由器和成员节点之间的操作请求。应用程序必须自己提供这样的传送功能。</p>
<p>不过，JE HA提供接口用于判定replication group中的成员节点，并且能跟踪当前主节点的状态。</p>
<p>以下几个章节将描述JE HA所支持的一些功能，这些功能将会帮助用户实现上述的两种方式。</p>
<p><strong>基于副节点的转发</strong></p>
<p><img class="aligncenter" src="data:image/png;base64,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" alt="" width="437" height="310" /></p>
<p><strong>（图三）基于副节点的转发</strong><strong> </strong></p>
<p>一个基于JE HA的应用程序通过一个支持replication的环境的句柄（replicated environment handle）来访问其环境副本。这个句柄的API可以为应用程序提供以下功能：</p>
<ul>
<li>决定节点当前状态。例如，可以查询某个节点当前是主节点或是副节点。</li>
<li>将一个状态变化监-听-器（state change listener）和一个句柄相关联。这样，状态变化监-听-器将会持续收到来自主节点的各种信息。</li>
</ul>
<p>利用这些API，应用程序可以知道它当前所在的节点是否是主节点。如果不是，那么它可以将它接收到的写请求操作转发到当前的主节点上，过程如图三所示。用于转发写请求操作到恰当的节点的机制实际上是应用程序所提供的，并不会涉及JE。</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>基于监测节点的路由</strong></p>
<p style="text-align: center;"><img class="aligncenter" src="data:image/png;base64,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" alt="" width="367" height="370" /></p>
<p><strong> </strong></p>
<p><strong>（图四）基于监测节点的路由</strong><strong> </strong></p>
<p>监测节点并不拥有环境的本地备份。它唯一的作用就是用来跟踪replication group当前的状态。路由程序可以根据这些状态信息来将读写操作路由到replication group适当的节点中去。路由程序是应用程序基础架构中的一部分，一般来说不会包含任何应用程序特有的逻辑，但有一个例外：路由程序有足够的信息可以识别读操作和写操作请求格式。</p>
<p>为了实现这种方式的路由，应用程序将一个监-听-器和监测节点句柄（monitor handle）相关联起来。监-听-器接受三类消息：</p>
<ul>
<li>组内成员节点组成的变化。组内成员节点的加入和移除都会通知给监-听-器。</li>
<li>组内当前主节点的变化。</li>
<li>组内节点当前状态的变化。也就是，此节点当前是否是活跃节点。</li>
</ul>
<p>路由程序一旦接收到应用程序的操作请求，就会判断此请求是否是写操作请求。若是，路由程序将利用监测节点来确定哪个节点是主节点，从而将此写操作请求转发到主节点。对于读操作请求，它利用监测节点来确定组内的当前节点组成，选择一个活跃节点来完成读操作请求，从而在此过程中实现负载平衡。</p>
<p>更复杂的路由程序的实现将会根据键值范围（key ranges）的分布以及数据读取的方式，将每个读操作请求转发到某个最有可能在缓存中拥有此被读数据备份的成员节点中。因此可以说，该方式实现了一种读分区（read partition）数据存储模式。</p>
<h2>可选节点的热备切换（failover）</h2>
<p>在程序运行过程中，主节点的选举过程是透明的。因此，应用程序必须允许由于选举而产生的各种状态变化，这样应用程序才能在状态变化中继续运行。下面几种状态的变化均是由于热备切换所导致的：</p>
<ul>
<li>如果当前主节点发生故障，那么某个可选节点将会由副节点通过选举转变成主节点。在利用基于监测节点路由机制的应用程序中，这种转变意味着，一个之前只能接收读操作请求的节点，现在开始接受和处理写操作请求。而在利用基于副节点转送机制的应用程序中，新的主节点必须停止转发写操作请求，相反，它必须开始接受来自其他副节点的写操作请求。</li>
<li>当前的主节点可能转变成副节点。这种情况很少发生，一般会涉及到临时网络分割（network      partition），这时候主节点不能参与节点选举。因此，剩下的节点会重新选举一个新的主节点。在该情况下，由于某些试图在此副节点（之前是主节点）上进行写操作的事务会失败，并抛出异常，因此变成副节点之后的该主节点必须转发所有它接收到的写操作请求，或者拒绝这些请求。</li>
<li>由于热备切换，一个副节点可能会将自己与发生故障的主节点间的通信切换到一个选举出来的新主节点。通常这种转变对应用程序是透明的。JE      HA只需重新与新的主节点建立replication stream。在某些罕见的情形下，JE HA有可能需要进行恢复操作，并撤销某些之前已经提交的事务。在这种情况下，replication环境的句柄便会失效。因此，应用程序必须重新建立环境和数据库的句柄，并且通过访问之前环境句柄重新获得所有被缓存起来的瞬时状态。</li>
</ul>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<h1>JE HA事务配置选项</h1>
<p>支持Replication的环境必须是是事务性（transactional）的。支持Replication的事务提供了额外的选项用于对事务进行配置，这些选项对应用程序的性能有直接的影响。对这些配置选项的选择实际上是对持久性、写可用性、副节点读一致性以及性能等各方面的权衡考虑。这一章节将具体描述这些配置选项，并且突出讨论如何进行这种权衡考虑。</p>
<h2>持久性选项</h2>
<p>JE提供了三种不同程度的持久性，分别对应于已经提交的数据在磁盘上所具有的三种不同的持久状态。</p>
<ul>
<li><strong>SYNC</strong>：已经提交的更新被写到磁盘上。该级别的持久性能够保证在机器发生故障的时候，已经提交的数据不会被丢失。但是这种持久性并不能保证在媒介（比如磁盘）损坏的时候数据没有丢失。</li>
<li><strong>WRITE_NO_SYNC</strong>:      已经提交的更新被写进文件系统缓冲区。该级别的持久性仅仅保证在应用程序发生故障时，已提交的数据不会丢失。如果机器不发生故障，这些已经提交的数据将最终写进磁盘。</li>
<li><strong>NO_SYNC</strong>:      已提交的更新只写进JE的内部缓冲区。在这一级别的持久性中，已提交的数据在应用程序发生故障的时候会丢失。</li>
</ul>
<p>JE HA扩展了JE持久性的概念，即允许事务通过向快速的网络提交更新从而持久化数据，而不是提交到相对缓慢的磁盘上。因此，除了允许在主节点和副节点中设置以上提及的各种同步级别之外，JE HA还规定副节点完成事务重演之后向主节点发送一个提交响应。并不是所有事务的提交都会从副节点中返回一个响应。主节点只有在必要的时候才会明确要求副节点产生响应。如果一个副节点已经落后于主节点并且尝试赶上主节点，那么主节点将不会要求该副节点发送响应。</p>
<p>因此，JE HA的持久性有三个方面：</p>
<ul>
<li>主节点上数据同步的程度。</li>
<li>对副节点返回响应数目的要求，这一要求在与事务相关的响应策略（Acknowledgment      Policy，下文会有介绍）中有所规定。</li>
<li>在副节点返回提交响应前，副节点上数据的同步程度。</li>
</ul>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>响应策略（Acknowledgment Policy</strong><strong>）配置</strong></p>
<p>响应策略配置提供三种可能的选择：ALL，SIMPLE_MAJORITY以及 NONE。</p>
<ul>
<li><strong>ALL</strong>：该策略要求，在事务被主节点持久化之前，所有可选的副节点都必须向主节点发送响应说明它们已提交了这些事务。这一策略会保证较高的数据可持久性，因为在此事务被持久化之前，每个副节点都拥有一份该事务所做的更新操作的拷贝。该策略也保证副节点上较高的读一致性，这是因为所有副节点都能赶上主节点，并且在副节点处理replication      stream的过程中没有滞后性。然而，该策略会降低replication group的写可用性，特别是在replication group的节点数较大的情况下。因为即使仅仅一个节点变成不可用，写事务提交操作都会失败。另外一个缺点是提交的延迟性会被提高，因为提交所需的时间将会由性能最差的副节点决定。</li>
<li><strong>SIMPLE_MAJORITY</strong>：该策略要求，简单多数（即过半数）的可选节点必须向主节点发送响应说明它们已经提交了事务。由于在事务被提交之后，该事务所做的数据更新的拷贝存在于过半数的副节点中，并且当其余的副节点赶上replication      stream的进度时，这些更新最终会传播到这些节点中，因此该策略保证了中级别到高级别的持久性。如果在主节点上某次事务成功提交之后，主节点发生故障，选举程序将保证这些事务的更新不会被丢失。之所以有这个保证，是因为选举程序要求过办数的可选节点都参与到选举过程中，从而保证了至少一个节点既发送了事务提交响应又参与了选举过程。选举算法更进一步保证拥有最新日志的节点将被选举成为主节点，这样可以在产生事务的主节点发生故障之后保持这些更新<strong>。</strong></li>
</ul>
<p>“SIMPLE_MAJORITY”策略在副节点上的读一致性没有“All”策略那么高，这是因为主节点上事务产生的更新有可能没有被复制到并不发送事务提交响应的副节点上（由于只有过半数的副节点要求发送响应）。因此，对数据一致性的要求比较严格的事务会停滞在所有有滞后的副节点中，直到这些滞后的副节点赶上主节点。在正常情况下，这种滞后会很小，并且处于滞后中的副节点会迅速赶上主节点的事务。</p>
<p>“SIMPLE_MAJORITY”策略具备从中等级别到高等级别的写可用性，这是因为replication group允许节点发生故障，并且只要有过半数的节点保持可用，那么replication group便可以继续完成那些要求过半数持久性的写事务。由于主节点需要等待的节点数较少，所以“SIMPLE_MAJORITY”策略的性能比“all”策略要好，同样，主节点会向所有与它有通信的副节点发出响应请求，但它只需要等待到过半数的副节点做出反应即可。这样意味着提交延迟并不会取决于组内速度最慢的节点。</p>
<ul>
<li><strong>NONE</strong>：在该策略下，事务的持久性不依赖于任何副节点发送提交响应。只要事务满足主节点上的同步策略，就可以认为该事务已经被持久化。由于并不能保证在事务提交的时候所做的更新已经被复制到其他副节点中，因此这种策略会导致较低级别的持久性（相对于不支持replication的JE环境）。如果在主节点上某次事务成功提交之后，主节点发生故障，那么这次事务所做的更新有可能会丢失。同样，该策略导致副节点上的读一致性较低，特别是在主节点负载很重并且没有必需的资源来维持replication      stream的时候。因此，副节点有可能会远远落后于主节点。总而言之，这种策略会提供较高的写性能，但也会带来较低的持久性。</li>
</ul>
<p>下面的表格总结了这三种响应策略的优缺点：</p>
<table border="1" cellspacing="0" cellpadding="0" width="542">
<tbody>
<tr>
<td width="124" valign="top"></td>
<td width="93" valign="top">持久性</td>
<td width="96" valign="top">写可用性</td>
<td width="120" valign="top">副节点读一致性</td>
<td width="108" valign="top">写操作性能</td>
</tr>
<tr>
<td width="124" valign="top">All</td>
<td width="93" valign="top">高</td>
<td width="96" valign="top">低</td>
<td width="120" valign="top">高</td>
<td width="108" valign="top">低</td>
</tr>
<tr>
<td width="124" valign="top">SIMPLE_MAJORITY</td>
<td width="93" valign="top">中-高</td>
<td width="96" valign="top">中-高</td>
<td width="120" valign="top">中-高</td>
<td width="108" valign="top">中</td>
</tr>
<tr>
<td width="124" valign="top">NONE</td>
<td width="93" valign="top">低</td>
<td width="96" valign="top">高</td>
<td width="120" valign="top">低</td>
<td width="108" valign="top">高</td>
</tr>
</tbody>
</table>
<h2>副节点读一致性</h2>
<p>因为replication stream代表着被序列化的JE数据库日志，所以对replication stream的重演会导致副节点从一个事务的一致性状态转变到另外一个事务的一致性状态。副节点的重演机制保证所有事务性的更新会作为一个原子单元来提交，并且更新的过程会与其他正在进行的写事务隔离开，从而保证这些更新所要求的隔离性（isolation）。如果从单独一个节点的角度来看，副节点的所有行为完全具备事务性，并且满足通常的ACID特性，就如不支持replication的JE环境一样。这一章节将讲述关于副节点与主节点之间一致性的问题。</p>
<p>JE HA支持最终一致性（Eventual Consistency）。这种一致性模型并不能保证在事务在主节点提交的那一刻，所有副节点保持一致。然而，它保证在足够长的一段时间内如果没有新的更新产生，那么所有的更新会在所有的成员节点中传播，并且所有的副节点最终会与主节点共享一个一致的环境视图（environment view）。</p>
<p>由于所有在主节点上的读操作都具有绝对的一致性，所以所有要求绝对一致性的读操作都应该路由到主节点中。应用程序可以利用之前提到过的写转发（write forwarding）技术将这些读操作请求发送到主节点中。然而，对于并不要求绝对一致性的情况，在副节点的读事务开始时，读事务可以指定副节点滞后于主节点最大所能接受的程度。有两种方式可以量化这种滞后程度：</p>
<ul>
<li>以时间衡量 – 在JE API的TimeConsistencyPolicy中有所描述。</li>
<li>以副节点在replication      stream中的位置衡量 – 在JE API的CommitPointConsistencyPolicy中有所描述。</li>
</ul>
<p>滞后的程度主要取决于主节点和副节点的负载，以及传输replication stream时的通信延迟。还有一种可能的情况是，某个副节点在一段时间内都没有和主节点联系，它需要赶上主节点在这段时间内所做的一些更新。</p>
<p>对一致性策略的选择取决于应用程序所采取的操作的性质。而对所选择策略的配置会直接影响到副节点上的读操作性能。接下来的章节将会详细描述这些策略以及它们的一些配置。</p>
<p><strong>时间一致性策略（Time Consistency Policy</strong><strong>）</strong></p>
<p>这种策略描述了当副节点上的读事务开始时，副节点允许滞后于主节点的时间长短。假设t0是当前时刻（t0是时刻变化的），lag是所允许滞后的时间长度，那么所有在（t0 – lag）时刻之前在主节点上被提交的事务都必须在副节点上进行重演。而在这些事务进行重演之前，副节点上的读事务都不允许进行。值得强调的一点是，t0是时刻变化的瞬时间，而不是读事务开始时的固定时间，意味着副节点是在试图赶上一个随时间不断移动的目标。因此，这里的滞后表示的是一个有固定长度的时间窗（长度为lag），这个时间窗是随时间而不断移动的。所以，副节点上的读事务会一直等到副节点对replication stream的重演充分赶上主节点之后才开始，也就是说，直到副节点所重演的事务落在长度为lag的时间窗口之内时，或者来自主节点上的heartbeat表示副节点已经赶上主节点时，副节点上的读事务才可以开始。如果副节点在规定的时间内（这一时间同样由此策略设置）没有赶上主节点，那么读操作事务将会被放弃。</p>
<p>时间一致性策略可以适用于某些网页应用中。在这些应用中，可以使滞后时间小于用户访问一序列的网页时的交互时间。</p>
<p>在给定的负载和可用的硬件资源情况下，如果将滞后时间设置得过短，会导致经常性的超时异常，从而会降低副节点的读操作可用性。过短的滞后时间同样会增加读操作请求的等待时间，因为副节点会让读事务一直等待，直到它能在replication stream中赶上主节点。应用程序的设计者应该需要从应用程序的角度来决定可以接受的最长滞后时间，然后用这个时间来配置时间一致性策略。</p>
<p><strong>提交点一致性策略（Commit Point Consistency Policy</strong><strong>）</strong></p>
<p>这个策略以副节点在replication stream上所处的位置来定义滞后时间，这个位置与某个特定的事务的提交点相关。这个策略保证，在副节点上的读操作可以开始之前，replication stream上所有在提交点之前出现的事务，包括处于提交点的事务，都将被副节点重演。这种情况下的滞后表示了一个可扩大的事务更新窗口，窗口的下端固定在提交点，而窗口上端可以随着新事务在主节点上的提交而扩大。JE HA扩展了事务的API，从而使应用程序可以得到与某事务的提交点。</p>
<p>和时间一致性策略一样，如果副节点在该策略规定的时间内没有重演提交点所限定的事务，那么副节点上的读操作事务会被放弃。</p>
<p>提交点一致性策略可以为网页应用提供会话一致性（session consistency）。通过将一个提交点和用户的会话相关联，并且在会话的每一个写操作中更新提交点，这样便可以实现会话的一致性。会话中的读事务可以利用提交点一致性策略来保证所有的读事务都可以读到会话所写入的数据，而无论该读操作是发生在哪个副节点上。</p>
<p>由于需要应用程序在读写操作过程中维护提交点的状态，所以提交点一致性的使用会比时间一致性复杂。时间一致性相对来说比较简单，但是它对时间的依赖意味着，当主节点、副节点或者网络负载过高时，这一策略不一定能正确地实施。</p>
<h1>性能</h1>
<p>由于JE HA 以JE为基础，因此所有适用于JE的性能调优方法都适用于JE HA。除此之外，还有一些专门针对JE HA的调优。以下章节将进行详细说明。</p>
<h2>持久性</h2>
<p>持久性配置对应用程序的写操作性能调优来说是最重要的方面之一。在不支持replication的JE环境中持久性的缺省设置是SYNC，这样可以保证已提交的事务在机器发生故障时不会被丢失。虽然SYNC设置通常会导致较大的性能损失，但为了保证数据在事务提交之后可以永久保留在磁盘上，这种设置是必要的。</p>
<p>对基于JE HA的应用程序的调优，把持久性设置成，NO_SYNC和SIMPLE_MAJORITY是一个较好的着手点。这个设置可以允许主节点和副节点异步地向文件系统和磁盘写入数据，也就是在提交之后的某个时间点才写入磁盘，而不是在提交后马上同步写入文件系统和磁盘。此外，当向磁盘存储数据时，JE可以对多个事务产生的更新进行打包，从而形成条数较少的，体积较大的，然而效率会更高的顺序写操作。</p>
<p>把提交响应策略设置成SIMPLE_MAJORITY可以减少主节点等待提交响应所带来的延迟时间，因为这种延迟不受性能最差的副节点所决定。对节点数目较大的replication group来说，延迟时间会随着节点数目的增大而延长。采用SIMPLE_MAJORITY设置可以保证万一当前的主节点发生故障时，数据在其他副节点中是可用的。但是有一种情况例外：即同时有多个程序发生故障从而导致过半数的节点（这些节点将会产生提交响应）在事务提交之后并且在将数据存储到磁盘之前发生宕机。这时候主节点会由于接收不到过半数的节点发来的提交响应而进行无限期等待。</p>
<p>从这种持久性设置开始着手调优，程序设计者可以为程序的整体需求选择最好的持久性等级。值得注意的是，持久性可以在事务级别上进行设置。这样可以允许一个程序的不同部分根据本地的需求使用不同级别的持久性。</p>
<h2>读一致性</h2>
<p>为了能有效利用副节点上的读操作吞吐量，并且能使主节点上的负载达到最小（因为只有主节点才能进行写操作），所有不要求绝对一致性的读操作请求都应该由应用程序路由到副节点上。并且，为了使延迟达到最小，可以在满足应用程序需求的条件下选择最不严格的一致性策略。</p>
<p>和持久性一样，可以在单独的事务级别上设置一致性。在之前的章节中，已经详细说明了如何选择和设置一致性策略。</p>
<p><strong>Replication stream</strong><strong>的</strong><strong>代价</strong><strong> </strong></p>
<p>JE HA利用TCP协议从主节点向副节点传输replication stream。在一个有N个节点的replication group中，一共有（最后肯定会有）N-1份日志拷贝在网络中传输。因此在设计数据模型时，对键（key）所占空间大小进行优化会对性能有所帮助。特别是对写密集型的应用程序来说，这一点尤其重要。</p>
<p>值得注意的是，正如写操作性能的瓶颈往往是连续写磁盘的吞吐量，网络的吞吐量也正是replication性能的瓶颈。因此，重要的是要确保可利用的网络带宽能够负担预期的写负载。</p>
<h2>副节点的滞后</h2>
<p>当主节点需要向副节点发送最新的日志条目时，由于最新的日志条目很有可能存储在主节点的缓存中，从而不需要访问磁盘，因此主节点上的缓存能有助于主节点高效地构造replication stream。如果需要访问磁盘来获得旧的日志条目，则会导致与正在进行的所有磁盘写操作（这些写操作会在磁盘存储新的日志条目）发生竞争。这种读/写磁盘的竞争会扰乱顺序写磁盘的模式，而这种模式正是JE能保证较高写操作性能的关键。</p>
<p>因此，最好能保证所有的节点处在运行状态，这样副节点可以和主节点的保持一致，主机点将不用频繁通过访问磁盘来构建replication stream。如果某个副节点发生故障，则应尽快让它恢复运行。</p>
<p>如果某个节点（假设是节点A）发生故障，某些日志文件尽管已经被清除器（cleaner）回收，但是这些日志对节点A来说是其恢复运行后构建replication stream所必需的，那么JE HA将会阻止replication group中其他活动节点删除这些日志文件。JE HA只会在某段时间（这个时间是可设置的）之内阻止对这些日志文件的删除。在这段时间内，日志文件将会在活动节点中不断堆积，导致活动节点存在磁盘空间耗尽的风险。如果节点A在这段时间之后（磁盘空间已经耗尽）重新运行，那么有可能任何一个活动节点中都不存在一个连续的replication stream。因此，这种情况下节点A需要进行网络恢复（Network Restore）操作。网络恢复操作将某个活动节点中的日志文件复制到节点A中，然后在节点A中开始重演主节点发送过来的replication stream。如果数据库环境比较大，网络恢复操作则有可能是磁盘读/写密集型和网络传输密集型操作。</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<h1>JE HA的可扩展性</h1>
<p>JE HA架构支持单节点写和多节点读。下面的章节将分别描述读操作和写操作的扩展。</p>
<h2>写扩展性</h2>
<p>对于单节点写来说，写操作的可扩展性主要由主节点处理写操作的能力所决定，继而又取决于主节点上可用的硬件资源。通过使用提交到网络这种持久性策略，以及通过降低那些不需要绝对一致性的读操作的负荷，主节点可以降低某些I/O负载。</p>
<p>在当前的实现中，主节点负责维护发送到其他所有成员节点的replication stream。每个replication stream的构建都会在主节点上增加CPU负载。为了改进这个问题，每个replication stream都将由一个专门的feeder线程来维护，这个feeder线程可以利用多核机器的优势来维护并行的replication stream。每个replication stream同样会给主节点所在的子网带来网络传输负载，并且写密集型的应用程序对带宽的需求有可能会超出子网上可用的网络带宽。</p>
<p><strong>写分区（</strong><strong>partition</strong><strong>）</strong><strong> </strong></p>
<p>如果应用程序的需求允许，写操作的水平扩展性可以通过将数据分区到多个支持replication的环境中实现。但是JE HA目前没有提供明确的API来支持这种数据分区。</p>
<p>下图描述了如何利用三个支持replication的环境来对数据进行分区：RE1，RE2和RE3对应着三个replication groups，G1，G2以及G3。数据既可以均匀地分布在三个组中，也可以基于预期的写/更新频率来进行分区。例子中的每个replication group由三个可选节点以及一个监测节点组成。这几个replication groups分布在三台机器中MC1，MC2以及MC3。</p>
<p>这个例子里的路由器包含三个监测节点：G1（M），G2（M）以及G3（M），每个监测节点对应一个replication group。路由器必须根据数据分区规则来将数据操作请求路由到特定的节点中。这些路由方式都取决于要访问的数据本身以及操作的类型（读或写）。</p>
<p><img class="aligncenter" src="data:image/png;base64,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" alt="" width="377" height="309" /></p>
<p><strong>（图五）</strong><strong>HA</strong><strong>写分区：</strong><strong>3</strong><strong>个写分区，</strong><strong>3</strong><strong>个</strong><strong>replication groups</strong><strong>，每个</strong><strong>replication group</strong><strong>有</strong><strong>3</strong><strong>个可选节点。</strong><strong> </strong></p>
<h2>读扩展性</h2>
<p>JE HA中读扩展性可以通过多个只读副节点来实现。JE HA并没有对replication group中节点的数目有所限制。添加一个新的节点并不会增加当前的replication group对资源的需求。但是正如上文所描述一样，添加新节点会增加写节点（即主节点）以及网络的负载。</p>
<p>通过添加新节点来提高读扩展性对于应用程序来说是完全透明的。一个新节点可以被添加进一个正在运行的replication group中，并且一旦这个新节点在本地拥有足够多的日志副本，新节点便可以开始处理读操作请求。</p>
<h1>结语</h1>
<p>JE HA通过简单、直接地扩展JE的API来提供快捷、可靠以及可扩展的数据管理功能，并且能够嵌入到应用程序当中。JE HA的配置是十分灵活的，允许用户在数据持久性、数据一致性以及性能等方面综合权衡之后，设计出具有广泛适用范围的应用程序。</p>
<p>你可以在以下网址下载Oracle Berkeley DB Java版本：</p>
<p><a href="http://www.oracle.com/technology/software/products/berkeley-db/je/index.html">http://www.oracle.com/technology/software/products/berkeley-db/je/index.html</a></p>
<p>你可以在Oracle Technology Network（OTN）上提交你对Oracle Berkeley DB Java版本的意见或者问题：</p>
<p><a href="http://forums.oracle.com/forums/forum.jspa?forumID=273">http://forums.oracle.com/forums/forum.jspa?forumID=273</a></p>
<p>关于销售或者产品支持的信息，请发送Email：berkeleydb-info_us@oracle.com</p>
<p>想了解关于新产品发布信息，请发送Email：bdb-join@oss.oracle.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2011/09/berkeley-db-java-edition-%e9%ab%98%e5%8f%af%e7%94%a8%e6%80%a7%e4%bb%8b%e7%bb%8d/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>OTN论坛翻译：如何在JE中实现分页</title>
		<link>http://www.bdbchina.com/2011/06/otn%e8%ae%ba%e5%9d%9b%e7%bf%bb%e8%af%91%ef%bc%9a%e5%a6%82%e4%bd%95%e5%9c%a8je%e4%b8%ad%e5%ae%9e%e7%8e%b0%e5%88%86%e9%a1%b5/</link>
		<comments>http://www.bdbchina.com/2011/06/otn%e8%ae%ba%e5%9d%9b%e7%bf%bb%e8%af%91%ef%bc%9a%e5%a6%82%e4%bd%95%e5%9c%a8je%e4%b8%ad%e5%ae%9e%e7%8e%b0%e5%88%86%e9%a1%b5/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 08:51:37 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB JE]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[OTN]]></category>
		<category><![CDATA[pagination]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1548</guid>
		<description><![CDATA[这篇文章翻译了一个在JE OTN论坛关于如何实现分页的讨论。由于时间仓促，采用google翻译的内容可能比较晦涩，请谅解。英文原文见 http://forums.oracle.com/forums/thread.jspa?messageID=3197926.
1楼，用户Shoaib的提问：
有一点我注意到的是，在使用DPL我们无法得到ArrayList的代理实现，像Map和sorteMap。 假设，如果我想从索引第5000条记录位置获取到下50条记录，我会通过EntityCursor迭代器或key的Map遍历获取未来50个记录。
因此，当我们实现分页并一页一页进行页面遍历，这个过程中要消耗大量的CPU周期。 我可以使用EntityCursor跳转到记录号对应位置（而不通过主键）吗？ 现在我不看任何这样的选项。 有没有使用DPL我们可以指定记录号而不是主键进行访问？
如果我这样做（如下），它将吃了整个内存，如果有百万条记录的话。
ArrayList list = new ArrayList（dao.getMyEntityByPK（）.map（）.values（））;
这将把所有实体值载入到内存的ArrayList。

2楼，JE开发者Mark的答复：
嗨Shoaib，
BDB JE目前没有一种方法来通过记录号而不是主键来访问记录，并且我们目前没有计划去增加。
目前最好的办法是保存当前分页上的第一个和最后一个键值。 当你需要遍历到下一页或前一页，从记录下的键开始，向前或向后读取。
但是，这并没有提供一种方法来跳转到第5000条记录。 BDB JE没有有效的方式做到这一点。  JE使用B树索引，而只要是使用标准的B树就有没有办法来有效的索引。
我们的BDB C版本产品使用了一个不同的B树索引，支持按记录号访问，但是，使用此功能大大降低并发性。 该产品是用C语言实现，但提供一个Java JNI接口。 如果你有兴趣，请参阅：
http://www.oracle.com/technology/documentation/berkeley-db/db/java/com/sleepycat/db/DatabaseConfig.html＃setBtreeRecordNumbers （布尔）
如果您有关于C版产品进一步的问题，请使用它的论坛：
http://forums.oracle.com/forums/forum.jspa?forumID=271
3楼，Mark的进一步补充：
我还有一个实现分页的建议。
我知道，在SQL数据库，分页有时通过LIMIT关键字，或在Oracle DB使用ROWNUM实现。 见：
http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html
事实证明在这些SQL DB中，通常这一功能LIMIT/ ROWNUM指定了有限的记录数（当查询请求任意一组大型数据集时）。 整个查询，只有所要求范围的记录数是从服务器返回。 这对于客户机 &#8211; 服务器模式的数据库而言是可以的，因为减少了返回客户端的记录数，但对任何一个像BDB嵌入式数据库而言是无价值的。 而即使是客户机 &#8211; 服务器数据库，执行在一个大型数据集的查询仍然是非常昂贵的。 更糟的是，当你每请求另一页的记录时，这个大型查询要执行一次。
我问了一下熟悉Oracle DB的人，关于应用程序中如何最好的实现分页。 一种已知可以正常工作的方法是创建一个临时数据库（在SQL术语中是Table，JE中是Database），由行号或页码索引。 这个临时DB用于分页非常有效，因为它是由行号索引。 如果不再需要时，临时数据库可以被删除。
临时数据库是对一个要进行分页的数据集的copy。当然，创建和初始化临时数据库是有代价的。 但如果你将在许多查询或者场合使用它，初始的代价是值得的。 另外，要知道，临时数据库是一个对你想分页数据集的快照，所以它不会包含（在临时DB）构造完后所做的更改。
要创建一个BDB JE的临时数据库，我们建议使用Deferred Write数据库以获得最佳性能。 要创建一个Deferred Write数据库，在当打开数据库时调用DatabaseConfig.setDeferredWrite（true）。 使用Deferred Write数据库会将所有信息都保存在内存中，直到缓存被填满。 当缓存溢出时数据才写入到磁盘。 你不应该显示调用Database.sync，因为数据是暂时的。 当您完成使用临时数据库，将其关闭并删除它（使用Environment.removeDatabase）。
创建完临时数据库，将要分页的信息复制到临时数据库。 当你复制时，你可以通过简单地指定一个整数计数器递增的行号。 有几种方法你可以考虑存储在临时数据库的信息。
1）使用行号作为Key，要显示的行信息作为Data。
2）使用行号作为Key，将要显示信息对应的数据库主键作为Data。
3）使用页码作为Key，并将该子页的行信息列表作为Data。
4）使用页码作为Key，并将该子页的行信息对应的数据主键的列表作为Data。
对于（1）和（2），行号是临时数据库的Key。 您可以轻松地检索从行号5000开始的记录，例如。 利用行号做Key的好处是，你可以随时更改页面大小（page size）而不用更改临时数据库。
对于（3）和（4），页码是临时数据库的Key。 它的优点是，你可以读取一个记录，以获得所需显示页面的信息（或一个页面信息的主键）。 [...]]]></description>
			<content:encoded><![CDATA[<p><em>这篇文章翻译了一个在JE OTN论坛关于如何实现分页的讨论。由于时间仓促，采用google翻译的内容可能比较晦涩，请谅解。英文原文见 http://forums.oracle.com/forums/thread.jspa?messageID=3197926.</em></p>
<p><strong><span style="text-decoration: underline;">1楼，用户Shoaib的提问：</span></strong></p>
<p>有一点我注意到的是，在使用DPL我们无法得到ArrayList的代理实现，像Map和sorteMap。 假设，如果我想从索引第5000条记录位置获取到下50条记录，我会通过EntityCursor迭代器或key的Map遍历获取未来50个记录。</p>
<p>因此，当我们实现分页并一页一页进行页面遍历，这个过程中要消耗大量的CPU周期。 我可以使用EntityCursor跳转到记录号对应位置（而不通过主键）吗？ 现在我不看任何这样的选项。 有没有使用DPL我们可以指定记录号而不是主键进行访问？</p>
<p>如果我这样做（如下），它将吃了整个内存，如果有百万条记录的话。</p>
<p style="padding-left: 30px;"><em>ArrayList list = new ArrayList（dao.getMyEntityByPK（）.map（）.values（））;</em></p>
<p>这将把所有实体值载入到内存的ArrayList。</p>
<p><span id="more-1548"></span></p>
<p><strong><span style="text-decoration: underline;">2楼，JE开发者Mark的答复：</span></strong></p>
<p>嗨Shoaib，</p>
<p>BDB JE目前没有一种方法来通过记录号而不是主键来访问记录，并且我们目前没有计划去增加。</p>
<p>目前最好的办法是保存当前分页上的第一个和最后一个键值。 当你需要遍历到下一页或前一页，从记录下的键开始，向前或向后读取。</p>
<p>但是，这并没有提供一种方法来跳转到第5000条记录。 BDB JE没有有效的方式做到这一点。  JE使用B树索引，而只要是使用标准的B树就有没有办法来有效的索引。</p>
<p>我们的BDB C版本产品使用了一个不同的B树索引，支持按记录号访问，但是，使用此功能大大降低并发性。 该产品是用C语言实现，但提供一个Java JNI接口。 如果你有兴趣，请参阅：</p>
<p><a href="http://translate.googleusercontent.com/translate_c?hl=en&amp;ie=UTF8&amp;prev=_t&amp;rurl=translate.google.com&amp;sl=auto&amp;tl=zh-CN&amp;twu=1&amp;u=http://www.oracle.com/technology/documentation/berkeley-db/db/java/com/sleepycat/db/DatabaseConfig.html&amp;usg=ALkJrhg_TKdJ98MqsDN8ZNryr4zIUithWw#setBtreeRecordNumbers">http://www.oracle.com/technology/documentation/berkeley-db/db/java/com/sleepycat/db/DatabaseConfig.html＃setBtreeRecordNumbers</a> （布尔）</p>
<p>如果您有关于C版产品进一步的问题，请使用它的论坛：</p>
<p><a href="http://translate.googleusercontent.com/translate_c?hl=en&amp;ie=UTF8&amp;prev=_t&amp;rurl=translate.google.com&amp;sl=auto&amp;tl=zh-CN&amp;twu=1&amp;u=http://forums.oracle.com/forums/forum.jspa%3FforumID%3D271&amp;usg=ALkJrhjVMQVUH-63i2rWvRWCqhPdkTqE2g">http://forums.oracle.com/forums/forum.jspa?forumID=271</a></p>
<p><strong><span style="text-decoration: underline;">3楼，Mark的进一步补充：</span></strong></p>
<p>我还有一个实现分页的建议。</p>
<p>我知道，在SQL数据库，分页有时通过LIMIT关键字，或在Oracle DB使用ROWNUM实现。 见：</p>
<p><a href="http://translate.googleusercontent.com/translate_c?hl=en&amp;ie=UTF8&amp;prev=_t&amp;rurl=translate.google.com&amp;sl=auto&amp;tl=zh-CN&amp;twu=1&amp;u=http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html&amp;usg=ALkJrhjljxdPSkXYwsM7kzuaZ05HRHw2DQ">http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html</a></p>
<p>事实证明在这些SQL DB中，通常这一功能LIMIT/ ROWNUM指定了有限的记录数（当查询请求任意一组大型数据集时）。 整个查询，只有所要求范围的记录数是从服务器返回。 这对于客户机 &#8211; 服务器模式的数据库而言是可以的，因为减少了返回客户端的记录数，但对任何一个像BDB嵌入式数据库而言是无价值的。 而即使是客户机 &#8211; 服务器数据库，执行在一个大型数据集的查询仍然是非常昂贵的。 更糟的是，当你每请求另一页的记录时，这个大型查询要执行一次。</p>
<p>我问了一下熟悉Oracle DB的人，关于应用程序中如何最好的实现分页。 一种已知可以正常工作的方法是创建一个临时数据库（在SQL术语中是Table，JE中是Database），由行号或页码索引。 这个临时DB用于分页非常有效，因为它是由行号索引。 如果不再需要时，临时数据库可以被删除。</p>
<p>临时数据库是对一个要进行分页的数据集的copy。当然，创建和初始化临时数据库是有代价的。 但如果你将在许多查询或者场合使用它，初始的代价是值得的。 另外，要知道，临时数据库是一个对你想分页数据集的快照，所以它不会包含（在临时DB）构造完后所做的更改。</p>
<p>要创建一个BDB JE的临时数据库，我们建议使用Deferred Write数据库以获得最佳性能。 要创建一个Deferred Write数据库，在当打开数据库时调用DatabaseConfig.setDeferredWrite（true）。 使用Deferred Write数据库会将所有信息都保存在内存中，直到缓存被填满。 当缓存溢出时数据才写入到磁盘。 你不应该显示调用Database.sync，因为数据是暂时的。 当您完成使用临时数据库，将其关闭并删除它（使用Environment.removeDatabase）。</p>
<p>创建完临时数据库，将要分页的信息复制到临时数据库。 当你复制时，你可以通过简单地指定一个整数计数器递增的行号。 有几种方法你可以考虑存储在临时数据库的信息。</p>
<p>1）使用行号作为Key，要显示的行信息作为Data。</p>
<p>2）使用行号作为Key，将要显示信息对应的数据库主键作为Data。</p>
<p>3）使用页码作为Key，并将该子页的行信息列表作为Data。</p>
<p>4）使用页码作为Key，并将该子页的行信息对应的数据主键的列表作为Data。</p>
<p>对于（1）和（2），行号是临时数据库的Key。 您可以轻松地检索从行号5000开始的记录，例如。 利用行号做Key的好处是，你可以随时更改页面大小（page size）而不用更改临时数据库。</p>
<p>对于（3）和（4），页码是临时数据库的Key。 它的优点是，你可以读取一个记录，以获得所需显示页面的信息（或一个页面信息的主键）。 但是你不能改变page size而无需重新创建临时数据库。</p>
<p>对于（1）及（3），所有你需要显示的信息存储在临时数据库中。 需要显示信息时，你无需做别的查询。 但临时DB的大小会变得很大（对比于存储的是主键），所以临时数据库信息更容易填满缓存并写入磁盘。</p>
<p>用（2）及（4），要显示信息的主键存储在临时数据库中。 缺点是，你必须通过主键再查询来获得相应的显示信息。 而存在其他数据库中的数据可能已被更改或删除，您必须考虑到这一点。 它的优点是临时DB要小得多，因为只存储了Key，而不是Data本身。</p>
<p>为简单起见，我建议首先尝试方法（1）或（3），这取决于页大小是固定的还是没有。 如果您发现临时DB过大，并导致性能问题，然后尝试方法（2）或（4）。</p>
<p>我希望这会有所帮助。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2011/06/otn%e8%ae%ba%e5%9d%9b%e7%bf%bb%e8%af%91%ef%bc%9a%e5%a6%82%e4%bd%95%e5%9c%a8je%e4%b8%ad%e5%ae%9e%e7%8e%b0%e5%88%86%e9%a1%b5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bdb开通新浪微博</title>
		<link>http://www.bdbchina.com/2011/05/bdb%e5%bc%80%e9%80%9a%e6%96%b0%e6%b5%aa%e5%be%ae%e5%8d%9a/</link>
		<comments>http://www.bdbchina.com/2011/05/bdb%e5%bc%80%e9%80%9a%e6%96%b0%e6%b5%aa%e5%be%ae%e5%8d%9a/#comments</comments>
		<pubDate>Mon, 30 May 2011 10:41:58 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB]]></category>
		<category><![CDATA[Berkeley DB JE]]></category>
		<category><![CDATA[Berkeley DB XML]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[生活圆桌]]></category>
		<category><![CDATA[bdb]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1537</guid>
		<description><![CDATA[各位BDB中文博客的粉丝们，为了更好的和大家交互并分享BDB的消息，我们刚刚开通的新浪微博。微博地址为：
http://www.weibo.com/bdbchina
欢迎各位朋友添加关注并和我们分享信息。感谢大家的一直以来的支持。
备注： 由于工作比较忙（很少看博客评论），我们推荐大家使用新浪微博和我们互动，从而可以得到更及时、有效的反馈。
Oracle Berkeley DB 中国开发团队
]]></description>
			<content:encoded><![CDATA[<p>各位BDB中文博客的粉丝们，为了更好的和大家交互并分享BDB的消息，我们刚刚开通的新浪微博。微博地址为：<a title="http://weibo.com/bdbchina" href="http://www.weibo.com/bdbchina" target="_blank"></a></p>
<p><a title="http://weibo.com/bdbchina" href="http://www.weibo.com/bdbchina" target="_blank">http://www.weibo.com/bdbchina</a></p>
<p>欢迎各位朋友添加关注并和我们分享信息。感谢大家的一直以来的支持。</p>
<p><em><strong>备注： 由于工作比较忙（很少看博客评论），我们推荐大家使用新浪微博和我们互动，从而可以</strong></em><em><strong>得到</strong></em><em><strong>更及时、有效的反馈。</strong></em></p>
<p>Oracle Berkeley DB 中国开发团队</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2011/05/bdb%e5%bc%80%e9%80%9a%e6%96%b0%e6%b5%aa%e5%be%ae%e5%8d%9a/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>BDB深圳新增两个职位</title>
		<link>http://www.bdbchina.com/2011/04/bdb%e6%b7%b1%e5%9c%b3%e6%96%b0%e5%a2%9e%e4%b8%a4%e4%b8%aa%e8%81%8c%e4%bd%8d/</link>
		<comments>http://www.bdbchina.com/2011/04/bdb%e6%b7%b1%e5%9c%b3%e6%96%b0%e5%a2%9e%e4%b8%a4%e4%b8%aa%e8%81%8c%e4%bd%8d/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 07:54:42 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[bdb]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1532</guid>
		<description><![CDATA[Oracle(深圳)招聘嵌入式数据库研发工程师
Oracle公司 Berkeley DB (简称BDB) 是业界知名的嵌入式数据库，目前拥有开源和商业两种使用许可。BDB被广泛应用于各种场合，从小型的手持设备（如手机）到大型的分布式应用（如云存储）都可以找到BDB的身影。
BDB产品研发团队在全球拥有一批资深工程师，某些工程师有超过20年的数据库开发经验。2007年，BDB在深圳成立了中国研发团队，组内工程师均毕业于国内和香港著名高校。
本次BDB产品研发团队面向社会招聘如下两个职位：
1. 数据库核心开发工程师（1人）；
2. 数据同步服务器（Oracle Mobile Server） 开发工程师（1人）。
两个职位的工作地点均在深圳，薪酬优厚。感兴趣的朋友请发简历至：chao.huang[at]oracle.com
职位1：数据库核心开发工程师（1人）
工作职责：
- 负责 Berkeley 数据库的性能优化和新功能开发工作；
- 负责 Berkeley 数据库分布式和云计算架构的设计和开发工作；
- 负责 Berkeley 数据库测试和QA工作；
- 协助销售团队解决客户技术问题。
职位要求：
- 熟悉一项或多项项目开发流程：项目规划和协调，新功能设计和实现，产品测试和QA，产品发布；
- 熟练掌握一种或多种编程语言（C，C++ 或者Java），熟悉一种或多种操作系统：Linux，Windows，Android等；
- 对SQL语言和数据库内核有较深入理解者优先，包括缓存管理，索引，日志，恢复，并发控制等等。
职位2：Oracle Mobile Server 开发工程师（1人） 
工作职责：
- 参与Oracle Mobile Server的新功能开发、测试与性能优化；
- 协助Oracle Mobile Server软件发布。
- 为客户在使用过程中遇到的问题提供解决方案。
职位要求：
- 精通J2EE，SQL和PL/SQL的开发与测试。
- 熟练掌握一种或多种编程语言（C，C++ 或者Java），熟悉一种或多种操作系统：如Linux，Windows，Android；
- 有系统性能调优，SQL调优，Oracle数据库调优和Web/APP服务器调优经验者优先。
两个职位均要求有较好的英语读写能力，以及具有追求卓越的热情。除了参与产品本身的研发，也将有机会协助销售团队与中国的潜在 客户进行沟 通，解决客户所遇到的技术问题。目前，Berkeley数据库在中国市场（甚至是整个 亚太地区）的需求不断增大。加入我们，您可以通过 您的努力让我们的产品越来 越好，从而占领越来越多的市场。可以说，这是一份具有很大的挑战性，但是又是 充满乐趣的工作岗位！期待您的加入。

Oracle Berkeley DB is a family of embeddable database engines available [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;">Oracle</span><span style="text-decoration: underline;">(深圳)招聘嵌入式数据库研发工程师</span></p>
<p>Oracle公司 Berkeley DB (简称BDB) 是业界知名的嵌入式数据库，目前拥有开源和商业两种使用许可。BDB被广泛应用于各种场合，从小型的手持设备（如手机）到大型的分布式应用（如云存储）都可以找到BDB的身影。</p>
<p>BDB产品研发团队在全球拥有一批资深工程师，某些工程师有超过20年的数据库开发经验。2007年，BDB在深圳成立了中国研发团队，组内工程师均毕业于国内和香港著名高校。</p>
<p>本次BDB产品研发团队面向社会招聘如下两个职位：<br />
1. 数据库核心开发工程师（1人）；<br />
2. 数据同步服务器（Oracle Mobile Server） 开发工程师（1人）。</p>
<p>两个职位的工作地点均在深圳，薪酬优厚。感兴趣的朋友请发简历至：<span style="text-decoration: underline;">chao.huang[at]oracle.com</span></p>
<p><strong>职位</strong><strong>1</strong><strong>：数据库核心开发工程师（</strong><strong>1</strong><strong>人）</strong></p>
<p>工作职责：<br />
- 负责 Berkeley 数据库的性能优化和新功能开发工作；<br />
- 负责 Berkeley 数据库分布式和云计算架构的设计和开发工作；<br />
- 负责 Berkeley 数据库测试和QA工作；<br />
- 协助销售团队解决客户技术问题。<br />
职位要求：<br />
- 熟悉一项或多项项目开发流程：项目规划和协调，新功能设计和实现，产品测试和QA，产品发布；<br />
- 熟练掌握一种或多种编程语言（C，C++ 或者Java），熟悉一种或多种操作系统：Linux，Windows，Android等；<br />
- 对SQL语言和数据库内核有较深入理解者优先，包括缓存管理，索引，日志，恢复，并发控制等等。</p>
<p><strong>职位</strong><strong>2</strong><strong>：</strong><strong>Oracle Mobile Server </strong><strong>开发工程师（</strong><strong>1</strong><strong>人）</strong><strong> </strong></p>
<p>工作职责：<br />
- 参与Oracle Mobile Server的新功能开发、测试与性能优化；<br />
- 协助Oracle Mobile Server软件发布。<br />
- 为客户在使用过程中遇到的问题提供解决方案。<br />
职位要求：<br />
- 精通J2EE，SQL和PL/SQL的开发与测试。<br />
- 熟练掌握一种或多种编程语言（C，C++ 或者Java），熟悉一种或多种操作系统：如Linux，Windows，Android；<br />
- 有系统性能调优，SQL调优，Oracle数据库调优和Web/APP服务器调优经验者优先。</p>
<p>两个职位均要求有较好的英语读写能力，以及具有追求卓越的热情。除了参与产品本身的研发，也将有机会协助销售团队与中国的潜在 客户进行沟 通，解决客户所遇到的技术问题。目前，Berkeley数据库在中国市场（甚至是整个 亚太地区）的需求不断增大。加入我们，您可以通过 您的努力让我们的产品越来 越好，从而占领越来越多的市场。可以说，这是一份具有很大的挑战性，但是又是 充满乐趣的工作岗位！期待您的加入。<br />
<span id="more-1532"></span></p>
<p>Oracle Berkeley DB is a family of embeddable database engines available under a dual license (Open source and commercial license). Berkeley DB is very popular, and is widely used in a variety of commercial as well as open source applications ranging from hand-held devices like cell phones to large, mission critical applications.</p>
<p>The Oracle Berkeley DB group is looking for one <strong><span style="text-decoration: underline;">Database Kernel Developer</span></strong> and one <strong><span style="text-decoration: underline;">Oracle Mobile Server Developer</span></strong> to join the development group in Shenzhen, China. The salary is negotiable.  We welcome junior level up to principal level of applicants to apply for our openings. If you want to join us, please send your resume to:  chao.huang[at]oracle.com.</p>
<p>We have a highly talented and experienced group of engineers distributed world-wide, several with more than twenty years of experience in the database industry. We have a small, but excellent development team in Shenzhen, China.</p>
<p><strong>Position1</strong><strong>： Database Kernel Developer </strong></p>
<p>Job Responsibilities：<br />
- Berkeley DB performance tuning and new feature implementation;<br />
- Berkeley DB distributed and cloud computing architecture designing and implementation;<br />
- Berkeley DB testing and QA;<br />
- Assist in providing technical support for customers.<br />
Job Requirements:<br />
- Experience in one or more aspects of product development: project planning and coordination, new features design and implementation, testing and QA, product release is highly desirable.<br />
- Expertise in one or more programming languages (C, C++ or Java) and familiarity with one or more operating system platforms like Linux, Windows, Android is required.<br />
- Excellent knowledge of SQL and database internals, including buffer management, indexing, logging, recovery, concurrency control, etc will be a strong plus.<br />
- Good interpersonal and communication (English and Chinese) skills are critical. The Berkeley DB development group has a very informal but effective and results-oriented work environment; a good cultural fit is important.</p>
<p><strong>Position2</strong><strong>：Oracle Mobile Server Developer</strong></p>
<p>Job Responsibilities:<br />
- Work on development, test and improvement of Oracle Mobile Sync Server product;<br />
- Assist in releasing of Oracle Mobile Sync Server software;<br />
- Assist in providing technical support for customers.<br />
Job Requirements:<br />
- Familiar with J2EE, SQL and PL/SQL development and testing.<br />
- Expertise in one or more programming languages (C, C++ or Java) and familiarity with one or more operating system platforms like Linux, Windows, Android is required.<br />
- Experience in Performance Profiling, Tuning SQL, Tuning Oracle Database and Tuning Web/APP Server will be an advantage.</p>
<p>Both positions require good written and verbal communication skills, and passions for excellence. Besides the opportunity to enhance the Berkeley DB family of products, there is also an opportunity to assist the local sales team with customers and prospects in China. There is a growing demand for products like Berkeley DB in the China market (and APAC in general) and the ideal candidate will be able to assist and make a difference! It&#8217;s truly a demanding, but fun opportunity!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2011/04/bdb%e6%b7%b1%e5%9c%b3%e6%96%b0%e5%a2%9e%e4%b8%a4%e4%b8%aa%e8%81%8c%e4%bd%8d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Oracle Berkeley DB as a NoSQL Data Store</title>
		<link>http://www.bdbchina.com/2011/02/using-oracle-berkeley-db-as-a-nosql-data-store/</link>
		<comments>http://www.bdbchina.com/2011/02/using-oracle-berkeley-db-as-a-nosql-data-store/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 03:37:59 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB]]></category>
		<category><![CDATA[Berkeley DB JE]]></category>
		<category><![CDATA[Berkeley DB XML]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1527</guid>
		<description><![CDATA[

Using Oracle Berkeley DB as a NoSQL Data Store
By Shashank Tiwari
Learn why and how Oracle Berkeley DB can bring NoSQL benefits to your app.
Published February 2011
“NoSQL” is the new popular buzzword among developers, architects and even technology managers. However, despite the term&#8217;s newfound popularity, surprisingly there is no universally agreed-upon definition for it.
Generally, any database [...]]]></description>
			<content:encoded><![CDATA[<div>
<div>
<h2>Using Oracle Berkeley DB as a NoSQL Data Store</h2>
<p><em>By Shashank Tiwari</em></p>
<p><strong>Learn why and how Oracle Berkeley DB can bring NoSQL benefits to your app.</strong></p>
<p>Published February 2011</p>
<p>“NoSQL” is the new popular buzzword among developers, architects and even technology managers. However, despite the term&#8217;s newfound popularity, surprisingly there is no universally agreed-upon definition for it.</p>
<p>Generally, any database that isn’t RDBMS, upholds schema-less structures, is generally relaxed on ACID transactions, and promises high availability and support for large data sets in horizontally scaled environments is popularly categorized as a “NoSQL data store”. Given that these common features often seem in direct contrast to those of a good old RDBMS, some people propose <em>non-relational</em>, perhaps shortened as NonRel, as a more appropriate term than NoSQL.</p>
<p>Regardless, while the definitional conflict continues, many have begun to realize the benefits of NoSQL data stores by including them in their application stack. The rest are keeping a close watch and evaluating if NoSQL is right for them.</p>
<p><span id="more-1527"></span></p>
<p>The growth of NoSQL as a category has also led to the emergence of a number of new data stores. Some of these new NoSQL products are good at persisting JSON-like documents, some are sorted ordered column-family stores, and others persist distributed key-value pairs. While newer products are exciting and offer many nice features, a few existing ones rise up to deliver the new promise as well.</p>
<p>One such data store is <a href="http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html">Oracle Berkeley DB</a>. In this article I will illustrate and explain why and how Berkeley DB can be included in the stack as a NoSQL solution. The article focuses exclusively on Berkeley DB’s NoSQL-centric features and thus does not exhaustively cover all of Berkeley DB’s capabilities and idiosyncrasies.</p>
<h3>Berkeley DB Essentials</h3>
<p>Fundamentally a key-value store, Berkeley DB comes in three distinct flavors:</p>
<ul>
<li>Berkeley DB – key-value store programmed in C. (Berkeley DB official documentation uses the term <em>key-data</em> in place of key-value.) This is the &#8220;classic&#8221; flavor.</li>
<li>Berkeley DB Java Edition (JE) – key-value store re-written in Java. Can easily be incorporated into a Java stack.</li>
<li>Berkeley DB XML – Written in C++, this version wraps the key-value store to behave as an indexed and optimized XML storage system.</li>
</ul>
<p>(Note: Although this article does not expressly cover Berkeley DB JE or Berkeley DB XML, it does include examples that use the Java API and the Java-based persistence frameworks to illustrate the capabilities of Berkeley DB.)</p>
<p>Simple as it may be at its core, Berkeley DB can be configured to provide concurrent non-blocking access or support transactions, scaled out as a highly available cluster of master-slave replicas, or in a number of other ways.</p>
<p>Berkeley DB is a pure storage engine that makes no assumptions about an implied schema or structure to the key-value pairs. Therefore, Berkeley DB easily allows for higher level API, query, and modeling abstractions on top of the underlying key-value store. This facilitates fast and efficient storage of application specific data, without the overhead of translating it into an abstracted data format. The flexibility offered by this simple, yet elegant design, makes it possible to store both structured and semi-structured data in Berkeley DB.</p>
<p>Berkeley DB can run as an in-memory store to hold small amounts of data or it can be configured as a large data store, with a fast in-memory cache. Multiple databases can be set up in a single physical install with the help of a higher-level abstraction, called <em>environment</em>. One environment can have multiple databases. You need to open an environment and then a database to write data to it or read data from it. It’s advised that you close a database and the environment when you have completed your interactions to optimally use resources.</p>
<p>Each item in a database is a key-value pair. The key is typically unique but you could have duplicates. A Value is accessed using a key. A retrieved value can be updated and saved back to the database. Multiple values are accessed and iterated over using a cursor. Cursors allow you to loop through the collection of values and manipulate them one at a time. Transactions and concurrent access are additionally supported.</p>
<p>The key of a key-value pair almost always serves as the primary key, which is indexed. Other properties within the value could serve as secondary indexes. Secondary indexes are maintained separately in a secondary database. The main database, which has the key-value pairs, is therefore also sometimes referred to as the primary database.</p>
<p>Berkeley DB runs as an in-process data store, so you statically or dynamically link to it when accessing it using the C, C++, C#, Java or scripting language APIs from a corresponding program.</p>
<p>With that whirlwind introduction, the following section describes Berkeley DB in the context of its NoSQL-centric features.</p>
<h3>Fluid Schema</h3>
<p>The first benefit of a NoSQL store is its relaxed attitude toward well-defined database schemas. Let us see how Berkeley DB fares on this feature.</p>
<p>To appreciate Berkeley DB’s capabilities, I suggest you take it for a spin. Therefore, it is recommended that you download and install both Berkeley DB and Berkeley DB JE on your machine so you can try some examples yourself and follow along with the rest of the illustrations in this article. Download links and installation instructions are available online <a href="http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html">here</a>. (I compiled Berkeley DB with &#8211;enable-java, &#8211;enable-sql, and &#8211;prefix=/usr/local for this article.) The fundamental concepts that relate to storage, access mechanisms and the API don’t vary much between Berkeley DB and Berkeley DB JE so most things I cover next apply equally well to both.</p>
<p>Berkeley DB itself imposes little restrictions on the data items beyond it being a collection of key-value pairs. This allows applications to flexibly use Berkeley DB to manage data in a variety of formats, including SQL, XML and Java objects. You can access data in Berkeley DB via the base API, the SQL API, the Java Collections API, and the Java Direct Persistence Layer (DPL). It allows a few different storage configurations: B-Tree, Hash, Queue, and Recno. (The Berkeley DB documentation refers to the different storage mechanisms as “access methods”. Hash, Queue, and Recno access methods are available only in Berkeley DB and not in Berkeley DB JE or Berkeley DB XML.)</p>
<p>Depending on your specific use case, you could choose an access mechanism and a storage configuration. This choice of a particular access method and a storage configuration can affect schema. To understand the impact of the choices, you need to first understand what they are. I cover the access methods and storage configurations next.</p>
<h4>Using the Base API</h4>
<p>The Base API is a low-level API that allows you to store, retrieve and update data, the key-value pairs. This API is similar across different language bindings. Therefore the Base API for C, C++ and Java are quite the same. DPL and the Java Collections API, on the other hand, are only offered as an abstraction in the Java API.</p>
<p>The Base API puts, gets and deletes key-value pairs. Both the key and the value are an array of bytes. All key and data values get serialized to byte arrays before they are stored. One could use Java’s built-in serializer or Berkeley DB’s BIND API to serialize various data types to byte arrays. Java’s built-in serializer is typically a slow performer so one must go in favor of the BIND API. (The jvm-serializers project benchmarks various alternative serializers and is a good reference point to <a href="https://github.com/eishay/jvm-serializers/wiki/">analyze relative performance</a> among different serialization mechanisms in the JVM.) The BIND API avoids redundantly storing the class information with every serialized class and instead puts that information in a separate database. Potentially, you could makes things faster by writing your own <a href="http://download.oracle.com/docs/cd/E17076_02/html/gsg/JAVA/bindAPI.html#customTuple.">custom tuple binding</a> to improve the BIND API performance.</p>
<p>As an elementary example, you can have a data value defined as follows:</p>
<pre>import java.io.Serializable;
public class DataValue implements Serializable {
    private long prop1;
    private double prop2;

    DataValue() {
      prop1 = 0;
      prop2 = 0.0;
    }

    public void setProp1(long data) {
      prop1 = data;
    }

    public long getProp1() {
      return prop1;
    }

    public void setProp2(double data) {
      prop2 = data;
    }

    public double getProp2() {
      return prop2;
    }
}</pre>
<p>Now, you can store this data value using two databases, one to store the value with a key and another to store the class information.</p>
<p>The data is stored using four distinct steps:</p>
<ol>
<li>First a second database, apart from the one to store key-value pairs, is configured to store class data as follows:
<pre>Database aClassDB = new Database("classDB", null, aDbConfig);</pre>
</li>
<li>Then a class catalog is instantiated as follows:
<pre>StoredClassCatalog storedClassCatalog = new StoredClassCatalog(aClassDb);</pre>
</li>
<li>A serial entry binding is established like so:
<pre>EntryBinding binding = new SerialBinding(storedClassCatalog, DataValue.class);</pre>
</li>
<li>Finally, a DataValue instance like so:
<pre>DataValue val = new DataValue();
val.setProp1(123456789L);
val.setProp2(1234.56789);</pre>
<p>is mapped to a Berkeley DB DatabaseEntry, which serves as a wrapper for both the key and value, using the binding you just created as follows:</p>
<pre>DatabaseEntry deKey = new DatabaseEntry(aKey.getBytes("UTF-8"));
DatabaseEntry deVal = new DatabaseEntry();
binding.objectToEntry(val, deVal);</pre>
</li>
</ol>
<p>Now you are ready to put the key-value pair in Berkeley DB.</p>
<p>The base API supports a few variants of the put and get methods, to allow or dis-allow duplicates and overwrites. (The intent of neither this example nor the article is to teach you the detailed syntax or semantics of using the base API so I will not get into further details; see the doc <a href="http://www.oracle.com/technetwork/database/berkeleydb/documentation/index.html">here</a>.) An important takeaway is that the base API allows for low-level manipulation and custom serialization around storing, retrieving and deleting key-value pairs.</p>
<p>If you prefer to interact with Berkeley DB with a higher level API, then you should use DPL.</p>
<h4>Using DPL</h4>
<p>Direct Persistence Layer (DPL) provides familiar Java persistence framework semantics for manipulating objects. You can treat Berkeley DB as an entity store where objects are persisted, retrieved to be updated and deleted. DPL uses annotations to mark a class as an @Entity. Associated classes, which get stored with an Entity, are annotated as @Persistent. Specific properties or variables can be annotated as @PrimaryKey and @SecondaryKey. A simple Entity could be as follows:</p>
<pre>@Entity
public class AnEntity {

    @PrimaryKey
    private int myPrimaryKey;

    @SecondaryKey(relate=ONE_TO_ONE)
    private String mySecondaryKey;
    ...
}</pre>
<p>DPL imposes the class definition as a well-defined schema. From the base API we know that such a conformance to schema is not a requirement for Berkeley DB. For some use cases, however, formal entity definitions are helpful and provide a structured approach to data modeling.</p>
<h4>Storage Configuration</h4>
<p>As mentioned previously, key-value pairs can be stored in four different types of data structures: B-Tree, Hash, Queue and Recno. Let’s see how they stack up.</p>
<ul>
<li><strong>B-Tree. </strong>A B-tree needs little introduction but if you do need to review its definition then read the Wikipedia page on B-Tree, available online at <a href="http://en.wikipedia.org/wiki/B-tree">http://en.wikipedia.org/wiki/B-tree</a>. It’s a balanced tree data structure that keeps its elements sorted and allows for fast sequential access, insertions and deletions. Key and values can be arbitrary data types. In Berkeley DB the B-tree access method allows duplicates. This is a good choice if you need complex data types as keys. It’s also a great choice if data access patterns lead to access of contiguous or neighboring records. B-Tree keeps a substantial amount of metadata to perform efficiently. Most Berkeley DB applications use the B-Tree storage configuration.</li>
<li><strong>Hash. </strong>Like the B-Tree a hash also allows complex types to be keys. Hashes have a more linear structure as compared to a B-Tree. Berkeley DB hash structures allow duplicates.While both a B-Tree and a hash support complex keys, a hash database usually outperforms a B-Tree when the data set far exceeds the amount of available memory. That is because a B-Tree keeps more metadata than a hash and a larger data set implies that the B-Tree metadata may not fit in the in-memory cache. In such an extreme situation the B-Tree metadata as well as the actual data record itself will often have to be fetched from files, which can cause multiple I/Os per operation. The hash access method is designed to minimize the I/Os required to access the data record and therefore in these extreme cases, may perform better than a B-Tree.</li>
<li><strong>Queue. </strong>A queue is a set of sequentially stores fixed length records. Keys are restricted to logical record numbers, which are integer types. Records are appended sequentially allowing for extremely fast writes. If you are impressed by Apache Cassandra’s fast writes by appending to logs then give Berkeley DB with queue access method a try and you wouldn’t be disappointed. Methods also allow reading and updating effectively from the head of the queue. A queue has additional support for row-level locking. This allows effective transactional integrity even in cases of concurrent processing.</li>
<li><strong>Recno. </strong>Recno is similar to a queue but allows variable length records. And like a queue, recno keys are restricted to integers.</li>
</ul>
<p>The different configurations allow you to store arbitrary types of data in a collection. Similar to NoSQL, there is no fixed schema, other than those imposed by your model. In the extreme situation, you are welcome to store disparate value types for two keys in a collection. Value types can be complex classes, which for the sake of argument could represent a JSON document, a complex data structure or a structured data set. The only restriction really is that the value should be serializable to a byte array. A single key or a single value can be as large as 4GB.</p>
<p>The possibility of secondary indexes allows filtering on the basis of value properties. The primary database does not store data in a tabular format and so non-existing properties are not stored for sparse data sets. A secondary index skips all key-value pairs that lack the property on which the index is created. In general the storage is compact and efficient.</p>
<h3>Support for Transactions</h3>
<p>Berkeley DB is a very flexible database that can turn many features on and off. Berkeley DB can run without transaction support or it could be compiled to support ACID transactional integrity. Perhaps, the malleable nature of Berkeley DB makes it a very appropriate data store for many situations. Transactional integrity is the least supported feature in a quintessential NoSQL data store. Berkeley DB, in highly available systems, that don’t expect ACID transactional compliance can turn transactions off and work like a typical NoSQL product. However, in others it could be flexible and support transactional integrity.</p>
<p>While I don’t intend to cover details on transactions, it’s worth noting that like traditional RDBMS systems, Berkeley DB enabled with transactions allows definition of transactional boundaries. Once committed, data is persisted to disk. To enhance performance, one can use non-durable commits, where writes are committed to in-memory log files and later synched with the underlying file systems. Isolation levels and locking mechanisms are also supported.</p>
<p>Before a database is closed a sync operation assures that persistent file copies have up-to-date in-memory information in the system. The combination of this sync operation and Berkeley DB&#8217;s transactional recovery subsystem (assuming that you have enabled transactions) ensure that the database is always returned to a consistent transactional state, even in the event of application or system failure.</p>
<h3>Large Data Sets</h3>
<p>Theoretically Berkeley DB has an upper bound of 256TB but in real life it’s usually bound by the size of the machine it runs on. At the time of this writing, Berkeley DB does not demonstrate support for extremely large files that span multiple machines with the help of distributed file systems. (Files larger than the size of a single node can be managed with the help of distributed file systems like the Hadoop Distributed File System, or HDFS.) Berkeley DB works better on local file systems than it does on network file systems. More accurately, Berkeley DB relies on the POSIX compliant attributes of a file system. For example, when Berkeley DB calls fsync() and the file system returns, Berkeley DB assumes that the data has been written to persistent media. For performance reasons, distributed file systems typically do not guarantee that a write has been completed all the way to the persistent media.</p>
<p>The maximum B-Tree depth supported is 255. Lengths of the key and value records are typically bound by the available memory.</p>
<h3>Horizontal Scale-out</h3>
<p>Berkeley DB replication follows a master-slave pattern. In such a pattern there is one master and multiple slaves or replicas. However, the selection of a master is not static and it’s recommended that the selection is not manual. All participants in a replication cluster go through an election process to choose the master. The one with the most up-to-date log records is the winner. If there is a tie, then priorities are used to select the master. The election process is based on an industry standard <a href="http://en.wikipedia.org/wiki/Paxos_algorithm">Paxos-compliant algorithm</a>.</p>
<p>Replication has numerous benefits including the following:</p>
<ul>
<li>Improves read performance – The availability of multiple replicated nodes to read data from improves the read performance drastically.</li>
<li>Improves reliability – The presence of replicated instances provides better failover options in times of node failure and data corruption.</li>
<li>Improves durability – You can relax durability guarantees on the master to avoid excessive write to disk operations, which typically involves expensive I/O. In a clustered environment the durability is enhanced by the fact that the write has been committed to multiple nodes, even if it’s not written to disk.</li>
<li>Improves availability – The presence of multiple nodes, along with asynchronous write to disk, makes it possible for replicas to keep serving operations even when the master is under heavy load.</li>
</ul>
<h3>Summary</h3>
<p>Berkeley DB undoubtedly qualifies as a robust and scalable NoSQL key-value store; the use of Berkeley DB as the underlying storage for Amazon’s <a href="http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html">Dynamo</a>, <a href="http://project-voldemort.com/">Project Voldemort</a>, <a href="http://memcachedb.org/">MemcacheDB</a>, and <a href="http://www.geniedb.com/">GenieDB</a> is further evidence supporting this claim. There has been a little bit of FUD around Berkeley DB performance, especially in the wake of couple of comparative benchmarks published online:</p>
<ul>
<li><a href="http://www.dmo.ca/blog/benchmarking-hash-databases-on-large-data/">http://www.dmo.ca/blog/benchmarking-hash-databases-on-large-data/</a></li>
<li><a href="http://stackoverflow.com/questions/601348/berkeleydb-vs-tokyo-cabinet">http://stackoverflow.com/questions/601348/berkeleydb-vs-tokyo-cabinet</a></li>
</ul>
<p>However, there are many live systems that prove Berkeley DB’s strengths. Many of these systems, through careful tuning and application coding improvements, have achieved excellent scalability, throughput, and reliability results. Following the lead of those systems, Berkeley DB can certainly be used as a scalable NoSQL solution.</p>
<hr /><strong>Shashank Tiwari </strong>is Founder &amp; CEO of <a href="http://www.treasuryofideas.com/">Treasury of Ideas</a>, a technology driven innovation and value optimization company. As an experienced software developer and architect, he is adept in a multitude of technologies. He is an internationally recognized speaker, author and mentor. As an expert group member on a number of JCP (Java Community Process) specifications he has been actively participating in shaping the future of Java. He is also an common voice in the NoSQL and Cloud Computing space and a recognized expert in the RIA community.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2011/02/using-oracle-berkeley-db-as-a-nosql-data-store/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BDB JE 发布4.1新版本 &#8212; 3倍cache性能提升</title>
		<link>http://www.bdbchina.com/2010/11/bdb-je-%e5%8f%91%e5%b8%834-1%e6%96%b0%e7%89%88%e6%9c%ac-3%e5%80%8dcache%e6%80%a7%e8%83%bd%e6%8f%90%e5%8d%87/</link>
		<comments>http://www.bdbchina.com/2010/11/bdb-je-%e5%8f%91%e5%b8%834-1%e6%96%b0%e7%89%88%e6%9c%ac-3%e5%80%8dcache%e6%80%a7%e8%83%bd%e6%8f%90%e5%8d%87/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 04:43:55 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB JE]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[JE]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1512</guid>
		<description><![CDATA[BDB Java Edition 4.1 delivers up to a 3X performance improvement over JE 4.0 in some read-only scenarios where the working set doesn&#8217;t fit in the cache. The new release includes multi-threaded cache management and advanced in-memory Internal Node compression.
With Concurrent Eviction, cache management is now multi-threaded, resulting in reduced latency and a smoother performance [...]]]></description>
			<content:encoded><![CDATA[<p>BDB Java Edition 4.1 delivers up to a 3X performance improvement over JE 4.0 in some read-only scenarios where the working set doesn&#8217;t fit in the cache. The new release includes multi-threaded cache management and advanced in-memory Internal Node compression.</p>
<p>With Concurrent Eviction, cache management is now multi-threaded, resulting in reduced latency and a smoother performance curve as the application data exceeds the cache space. Internal Node (IN) Compression significantly reduces the in-memory footprint of internal data structures, creating better efficiency.</p>
<p>Tests run by a BDB JE user comparing JE 4.0.103 to JE 4.1 using a read-only workload demonstrate extraordinary improvements. The two versions have equivalent performance when the database fits completely in cache (4 GB of memory), but when the cache size is dropped to .5 GB (only some of the Internal Nodes fit in memory) the throughput and latency of JE 4.1 is 300% better than 4.0.103.  Further, the variation in latency is greatly reduced.</p>
<p>Software Downloads</p>
<p>* Downloads for software and the latest documentation will be available on OTN.<br />
* Downloads available today at http://download.oracle.com/berkeley-db/je-4.1.6.tar.gz (.zip).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2010/11/bdb-je-%e5%8f%91%e5%b8%834-1%e6%96%b0%e7%89%88%e6%9c%ac-3%e5%80%8dcache%e6%80%a7%e8%83%bd%e6%8f%90%e5%8d%87/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Oracle Open World 2010旧金山 — BDB 演讲系列 (II)</title>
		<link>http://www.bdbchina.com/2010/11/oracle-open-world-2010%e6%97%a7%e9%87%91%e5%b1%b1-%e2%80%94-bdb-%e6%bc%94%e8%ae%b2%e7%b3%bb%e5%88%97-ii/</link>
		<comments>http://www.bdbchina.com/2010/11/oracle-open-world-2010%e6%97%a7%e9%87%91%e5%b1%b1-%e2%80%94-bdb-%e6%bc%94%e8%ae%b2%e7%b3%bb%e5%88%97-ii/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 05:02:47 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB]]></category>
		<category><![CDATA[Chao Huang]]></category>
		<category><![CDATA[bdb]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1505</guid>
		<description><![CDATA[这次为大家带了的是Berkeley DB与移动数据同步的演讲。具体解决了当今从移动的终端向数据中心的Oracle数据库进行数据同步、设备管理、应用管理等场合的需求。转载请注明出处。
1. Oracle Berkeley DB 和Mobile Server的架构

2. Oracle企业移动应用平台
]]></description>
			<content:encoded><![CDATA[<p>这次为大家带了的是Berkeley DB与移动数据同步的演讲。具体解决了当今从移动的终端向数据中心的Oracle数据库进行数据同步、设备管理、应用管理等场合的需求。转载请注明出处。<span id="more-1505"></span></p>
<h3>1. Oracle Berkeley DB 和Mobile Server的架构</h3>
<div id="attachment_1506" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bdbchina.com/wp-content/uploads/2010/11/12.png"><img class="size-medium wp-image-1506" title="Oracle Berkeley DB 和Mobile Server的架构" src="http://www.bdbchina.com/wp-content/uploads/2010/11/12-300x148.png" alt="Oracle Berkeley DB 和Mobile Server的架构" width="300" height="148" /></a><p class="wp-caption-text">Oracle Berkeley DB 和Mobile Server的架构</p></div>
<p class="mceTemp mceIEcenter">
<h3>2. Oracle企业移动应用平台</h3>
<div id="attachment_1507" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bdbchina.com/wp-content/uploads/2010/11/22.png"><img class="size-medium wp-image-1507" title="Oracle企业移动应用平台" src="http://www.bdbchina.com/wp-content/uploads/2010/11/22-300x223.png" alt="Oracle企业移动应用平台" width="300" height="223" /></a><p class="wp-caption-text">Oracle企业移动应用平台</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2010/11/oracle-open-world-2010%e6%97%a7%e9%87%91%e5%b1%b1-%e2%80%94-bdb-%e6%bc%94%e8%ae%b2%e7%b3%bb%e5%88%97-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OOW2010 BDB客户案例 — Thomson Reuters使用BDB构建智能信息库</title>
		<link>http://www.bdbchina.com/2010/11/oow2010-bdb%e5%ae%a2%e6%88%b7%e6%a1%88%e4%be%8b-%e2%80%94-thomson-reuters%e4%bd%bf%e7%94%a8bdb%e6%9e%84%e5%bb%ba%e6%99%ba%e8%83%bd%e4%bf%a1%e6%81%af%e5%ba%93/</link>
		<comments>http://www.bdbchina.com/2010/11/oow2010-bdb%e5%ae%a2%e6%88%b7%e6%a1%88%e4%be%8b-%e2%80%94-thomson-reuters%e4%bd%bf%e7%94%a8bdb%e6%9e%84%e5%bb%ba%e6%99%ba%e8%83%bd%e4%bf%a1%e6%81%af%e5%ba%93/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 04:50:20 +0000</pubDate>
		<dc:creator>chaohuang</dc:creator>
				<category><![CDATA[Berkeley DB]]></category>
		<category><![CDATA[Chao Huang]]></category>

		<guid isPermaLink="false">http://www.bdbchina.com/?p=1501</guid>
		<description><![CDATA[Thomson Reuters (汤姆逊路透社)大家都知道是全球的新闻及媒体方面的领军。最近在2010年9月的Oracle Open World上，Thomson Reuters和我们分享了如何使用BDB来管理公司的全球信息库。本文抽取部分章节，供广大读者参考。转载请注明出处，谢谢。
1. Thomson Reuters的需求
2. 使用BDB的解决方案
]]></description>
			<content:encoded><![CDATA[<p>Thomson Reuters (汤姆逊路透社)大家都知道是全球的新闻及媒体方面的领军。最近在2010年9月的Oracle Open World上，Thomson Reuters和我们分享了如何使用BDB来管理公司的全球信息库。本文抽取部分章节，供广大读者参考。转载请注明出处，谢谢。<span id="more-1501"></span></p>
<h3>1. Thomson Reuters的需求</h3>
<div id="attachment_1502" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bdbchina.com/wp-content/uploads/2010/11/41.png"><img class="size-medium wp-image-1502" title="Thomson Reuters要解决的问题" src="http://www.bdbchina.com/wp-content/uploads/2010/11/41-300x206.png" alt="Thomson Reuters要解决的问题" width="300" height="206" /></a><p class="wp-caption-text">Thomson Reuters要解决的问题</p></div>
<h3>2. 使用BDB的解决方案</h3>
<div id="attachment_1503" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bdbchina.com/wp-content/uploads/2010/11/5.png"><img class="size-medium wp-image-1503" title="BDB的解决方案" src="http://www.bdbchina.com/wp-content/uploads/2010/11/5-300x201.png" alt="BDB的解决方案" width="300" height="201" /></a><p class="wp-caption-text">BDB的解决方案</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bdbchina.com/2010/11/oow2010-bdb%e5%ae%a2%e6%88%b7%e6%a1%88%e4%be%8b-%e2%80%94-thomson-reuters%e4%bd%bf%e7%94%a8bdb%e6%9e%84%e5%bb%ba%e6%99%ba%e8%83%bd%e4%bf%a1%e6%81%af%e5%ba%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
Դ
