存档

作者存档

BDB JE事务的提交方式概述

2010年12月24日 taozhang 评论已被关闭

这段时间看到有些用户对BDB JE的事务持久性(Durability),主要是JE各种事务提交方式比较感兴趣。以下这篇博客介绍了事务的持久性,并简要描述了JE事务所提供的提交方式。

大家知道,事务具有ACID特性,即:原子性,一致性,隔离性和持久性。事务的持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失,即一旦一个事务提交,数据库保证它对数据库中数据的改变是永久性的,能够承受任何系统故障,持久性通过数据库备份和恢复来保证。

事务的持久性与事务的提交方式有着密切联系,当JE的用户创建一个事务时,用户通过设置TransactionConfig来指定事务的提交方式,分别是:

  1. TransactionConfig.setNoSync(boolean),即txnNoSync
  2. TransactionConfig.setWriteNoSync(boolean),即txnWriteNoSync
  3. TransactionConfig.setSync(boolean),即txnSync。

阅读全文…

分类: Berkeley DB JE 标签:

在Windows平台运行JE-HA示例

2010年3月17日 taozhang 8 条评论

Oracle Berkeley DB Java Edition (简称JE)从4.0开始推出了高可用(又称集群、HA)功能,从而让用户能够更容易的编写高可靠的、7×24在线的应用程序。随版本一起还发布了很多HA的示例代码。本文的主要目的是示范如何在windows平台上运行这些示例,从而帮助用户更好的理解和使用HA。

1.下载JE

用户可以到官方网址http://www.oracle.com/technology/software/products/berkeley-db/je/index.html下载最新的JE版本,本文使用的是JE 4.0.71. 同时,您也可以到http://www.oracle.com/technology/documentation/berkeley-db/je/examples/je/rep/quote/package-summary.html参考示例的详细英文文档。

2.编译示例

请确认您在编译示例之前已经安装好JDK,如果您的机器上没有安装,请到http://java.sun.com下载JDK。

用户下载示例后,解压缩到当前目录,你会发现一个je-4.0.71的目录,进入该目录,您会在lib目录下发现JE的jar包,HA的示例代码存放在examples/je/rep/quote目录下。将lib下的je-4.0.71.jar拷贝到examples/je/rep/quote下,打开命令行,进入到当前目录,输入如下命令:javac -cp .;je-4.0.71.jar *.java,该目录下的所有java文件都会被编译成class文件。

3.示例代码概述

JE-HA的示例代码分为三种:

  • StockQuotes:该示例代码是一个最基本的使用JE-HA应用程序的展示,其主要目的是让您对JE-HA的基本概念有一个了解,并演示了如何使用JE-HA的API创建一个ReplicatedEnvironment和处理读写事务。
  • RouterDrivenStockQuotes和HARouter:RouterDriverStockQuotes以StockQuotes为基础,展示了如何使用JE Monitor(HARouter)根据应用程序请求的类别(读或写)和结点的状态(Master或Replica),指引请求到正确的结点。该示例的目的是演示如何将负载平衡器与JE-HA结合起来,在该示例中,HARouter扮演负载平衡器的角色。
  • UpdateForwardingStockQuote和SimpleRouter:UpdateForwardingStockQuote以RouterDrivenStockQuotes为基础,与HARouter不同,SimpleRouter并不关心应用程序的请求类别和结点的状态,只是简单的将请求转发给它所知道的结点,而UpdateForwardingStockQuote使用了StateChangeListener来跟踪当前的Master结点,并将写请求转发给Master,自己处理读请求。这个示例的目的是演示如何将一个负载平衡器嵌入到JE-HA的框架中。

本文主要演示如何运行前两个示例,第三个示例的运行方法与第二个基本类似,在这里就不做详细介绍了。 阅读全文…

分类: Berkeley DB JE, Tao Zhang 标签: ,

在Windows下配置和编译Oracle Berkeley DB Java Edition

2009年4月14日 taozhang 9 条评论

1. 前言

Oracle Berkeley DB Java Edition(以下简称JE)是一套由纯Java语言实现的嵌入式数据库,具有移植性强,存储性能高等特点。

JE提供的事务存储引擎不仅显著的减少了对象持久化开销,而且支持大量的并发的事务存储,并保持了对象-关系映射(ORM)解决方案的灵活性,速度和扩展性。为了让用户更加方便的使用JE,JE还提供了直接持久层(DPL),旨在提供与EJB3相同的好处:对象持久化时,不需要将对象转换成关系表。使用DPL,可以让用户更加关注事务逻辑,而不需要关心对象的存储。
除了Sun J2SE平台之外,JE还支持Android平台以及Oracle JRockit JVM,JE与JasperReport无缝集成更是大大的便利于商业智能及分析。同时为了方便项目管理,JE还提供了对Maven这一自动化编译及部署工具的支持。
本文介绍了如何在Windows下配置和编译Oracle Berkeley DB Java Edition以及如何运行一个简单的示例程序。后续文章还将涵盖许多JE使用及提高的机制和技巧。

阅读全文…

分类: Berkeley DB JE, Tao Zhang 标签:
Դ