存档

文章标签 ‘DPL’

在Berkeley DB Java版中实现SQL查询

2009年2月26日 chaohuang 9 条评论

前言

众所周知,Berkeley DB 产品家族(包括了 C语言版,Java版和XML数据库)是一套高效率的,可扩展的嵌入式数据库引擎。此处,所谓数据库引擎是指它提供了除SQL处理层以外的所有关系数据库的功能(如事务性(ACID)支持,数据存储,数据恢复等)。那么,您不禁要问,为什么Berkeley DB产品不提供对SQL的支持呢?答案很简单,它可以嵌入到您的应用代码中,在应用代码的地址空间运行,从而达到高效率。

到底有多高效?

在我自己的DELL OptiPlex 745 台式机上(Intel(R) Core(TM)2 CPU 6400, 2G memory, running Ubuntu 7.04 Server x86_64),用自己写的一个单线程的例子程序在9秒内读取了100万条记录,22秒内插入100万的记录。

从关系表的角度看,我插入数据的行定义,大致如下:

f0      INT PRIMARY KEY,
f1      STRING PRIMARY KEY,
id      LONG,
one     STRING,
two     DOUBLE,
three   STRING,
zip     INT,
city    STRING,
state   STRING

在Berkeley DB Java 版中的定义如下:
阅读全文…

Berkeley DB Java版直接持久层基础

2009年1月6日 chaohuang 10 条评论

Berkeley DB Java版直接持久层基础

概览

Berkeley DB Java 版是一套纯Java语言实现的嵌入式数据库。它提供的事务存储引擎不仅显著的减少了对象持久化开销,而且保持了对象-关系映射(ORM)解决方案的灵活性,速度和扩展性。Berkeley DB Java版3.0引入了直接持久层(DPL),旨在提供和与企业 Java Bean 3.0 (EJB3) 持久性相同好处:对象持久化时,不需要将对象转换成关系表。

更多请参见我在OTN上完整的中文翻译:http://www.oracle.com/technology/global/cn/products/berkeley-db/pdf/bdb-je-persistence-api-basics.pdf

英文原文:http://www.oracle.com/database/docs/BDB-JE-DPL-Basics-Whitepaper.pdf