关于使用Oracle Berkeley DB作为空间数据库的引擎,可以参考如下资料:
* 使用基于Key/Value 接口的场合,可以考虑Berkeley DB C版本或者Berkeley DB Java 版的产品。可以参考美国University of Virginia的叫做PRIDE的学术论文:http://www.cs.virginia.edu/~stankovic/psfiles/pride.pdf
* 使用Oracle Berkeley DB SQL产品中的R*Tree功能,具体可以参考:http://www.bdbchina.com/2010/04/bdb11gr2的r-tree功能/
更多反馈,欢迎留言。
自从BDB-JE 4.0推出了高可用/集群的新特性,我们的工程师进一步做了关于在大型服务器上运行BDB-JE HA的性能测试。具体测试案例及结果数据可参考:http://www.oracle.com/technology/products/berkeley-db/pdf/BDB-JE-HighAvailability-WhitePaper-June2010.pdf。
这篇白皮书可以作为BDB-JE HA性能的参考,也可以作为测试选型BDB-JE HA的依据。需要注意的是, 性能数据依赖于很多因素的影响,我们的测试结果仅作参考。
同时,你可能发现附件中涉及到的关于GC和JVM参数的调整,对于性能的巨大影响。
希望能对您有用。更多反馈,欢迎留言。
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 中国研发团队
最近评论