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的框架中。
本文主要演示如何运行前两个示例,第三个示例的运行方法与第二个基本类似,在这里就不做详细介绍了。 阅读全文…
数据可视化概述
这些年来,随着大量数据的产生,数据可视化(data visualization)广泛应用于科研、军事、金融、医疗等等领域。我们的生活也到处可见数据可视化的例子。比如,股票软件上显示的K线图,调查结果的柱状图、曲线图,人口分布的密度图等等等等。
那么,什么是数据可视化呢?根据维基百科的解释:Data visualization is the study of the visual representation of data, meaning “information which has been abstracted in some schematic form, including attributes or variables for the units of information”。简单来说,数据可视化就是用更加直观更加生动易懂的图形图像表现某种特定的数据集合。
这篇文章将简单介绍如何轻松利用BDB Java Edition (JE)和prefuse实现自己的数据可视化应用。
可视化工具和数据库的选择
首先我们选择prefuse作为数据可视化工具。prefuse是一个轻量级的用于可视化任意数据集(visualize the data)的java类库,它提供了多种数据可视化模式,比如柱状图、树图、饼图等等。它的优点是简单易用、可视化功能齐全。
但仅仅有可视化工具是不够的,还需要什么呢?当然还必须有存储数据的数据库。可以打个比方,数据是一栋房子,数据可视化就是我们要给房子做装修,让它更好看,那么数据库就是地基。没有地基,何来房子,更不用说装修了。那么,我们选择什么样的数据库呢。既然prefuse是java类库,而我们JE的特点是纯Java实现,性能高,footprint小等等,那么,JE绝对是一个很好的选择。
好了,现在就让我们看看JE + prefuse的威力吧。 阅读全文…
Thanks to Chris Eastland at Nebula Software Systems for the screen shot of this cool Google Maps/Android app built on BDB JE. The location data is stored in a JE database running on the device.
See the details at Charles Lamb’s blog at http://blogs.oracle.com/charlesLamb/2010/02/berkeley_db_java_edition_andro.html .
Charles Lamb (BDB-JE 架构师) 最近发表的一篇关于在Google Android运行Berkeley DB Java Edition的白皮书。书中简要描述了JE在在Android平台上运行的一些优势和特点,诸如性能,可扩展性,索引,并发控制,事务和多对多的 事物-线程映射模型。
原文地址: http://www.oracle.com/technology/products/berkeley-db/pdf/bdb-je-android.pdf .
In his blog ( http://blogs.sun.com/jhalex/entry/handling_transactions_in_bdb_je ), Jeff Alexander of Sun’s project Aura describes how they’ve standardized on a calling convention for JE which provides uniform, yet flexible, transaction and exception handling.
有来自开源社区的BDB-JE用户写的一篇博客,介绍了如何在JSP中使用JE来存取Java对象。英文好的朋友或者项目中有类似需求的朋友,不妨看看。原文地址为:http://reecegriffin.com/blog/berkeleyje.html。
在这篇博客中,作者简要提到了最新的JE 4.0 发布的新特性 – Replication。简言之就是支持高可用或集群功能,并提供了软件和硬件层面的负载均衡。个人认为,JE 4.0的高可用功能绝对是任务密集型的、要求7×24小时高可用的J2EE应用项目中的利器啊。
最后,欢迎留言。
首先祝各位访客新年快乐,虎年富贵吉祥!
Oracle Berkeley DB在LinkedIn.com上的新建了一个群,供全球的相关人士(包括工程师、产品经理、客户等)共同讨论Berkeley DB的话题和业界动态。群地址:http://www.linkedin.com/groups?gid=2131985. 欢迎加入!
Oracle Berkeley DB 中国研发团队
The Oracle Berkeley DB team is pleased to announce the availability of Berkeley DB Java Edition for all supported platforms (BDB JE).
One major focus of Berkeley DB has been replication for high availability (HA), the other is support for the Google Android phone platform.
* Read the new “BDB JE on Android” whitepaper
* See a screenshot of JE running on Android storing map coordinates displayed on Google Maps
* Search Oracle.com for Android (google: “site:oracle.com android”) note that most results are about BDB JE
Berkeley DB Java Edition (JE) 4.0.92
Includes the following new features and changes:
* Enhancements have been added for JE High Availability, which supports the use of JE with replication.
* The monitor package has several new event types which help a replicated application track replication group changes. A new example has been added to the replication example group to illustrate the use of RMI in replication write request forwarding.
* New properties have been added to help administer a replication group in the face of major hardware failure.
* A new RMI based example has been added to the set of JE HA Examples.
* See the High Availability Guide for an introduction to the product, and the com.sleepycat.je.rep javadoc for API specifications.
* JE’s MBeans and JConsole plugin have several new methods and capabilities to improve the ability to monitor an application. See the how-to for more information.
* Changes were made to make it easier to control JE’s use of java.util.logging through programmatic means.
* A number of bug fixes were made to work around problems in the Dvalvik libraries used by Android applications.
* A number of general bug fixes, performance improvements, and documentation improvements were made.
Software Downloads
* Downloads available today at http://download.oracle.com/berkeley-db/je-4.0.92.zip.
Questions?
Please direct your questions to our OTN forum at http://forums.oracle.com/forums/forum.jspa?forumID=273.
Google 推出Android平台一年多以来,Android已经成为最受欢迎的手机操作系统之一(另外几个成熟的手机操作平台包括Symbian, iPhone/MacOS, Windows Mobile等)。目前,已经至少有12款手机使用Android平台,并且据报道将会有更多的手机采用Android平台。
Android平台内置的存储数据库(或者说存储引擎)是SQLite。但由于SQLite其自身的一些缺陷,比如非Java语言、并发读写性能不 佳、技术支持困难等等,所以我们的用户倾向于Berkeley DB。我在这里向大家推荐Berkeley DB Java Edition(简称BDB JE)。我们可以把BDB JE的优势(它除了是存Java语言实现外,还有很高的存储性能和良好的并发性支持、Oracle的开发及技术支持团队等等)充分运用到Android 平台上。众所周知,Android平台是类Java语言的,所以,BDB JE对Android平台的开发者而言是一款利器。
以下将手把手教你将BDB JE快速配置到Android平台上(本文,我们用Android在PC机上的模拟器 (avd) 作为实例平台)。
阅读全文…
最近评论