存档

文章标签 ‘SQL’

SQL开发者的BerkeleyDB入门指南

2009年8月20日 winterzhang 5 条评论

随着BerkeleyDB的发展,越来越多原来与传统关系数据库打交道的开发者希望了解、学习BerkeleyDB,并且在开发过程中应用BerkeleyDB。

但是, 与传统的关系数据库不同, BerkeleyDB目前并不支持SQL 查询处理,使用者需要书写代码来实现类似SQL的查询。许多SQL开发者在此过程遇到不少困难。

为了方便SQL开发者学习BerkeleyDB, 我们提供了两篇入门指南,供大家参考。 考虑到有些朋友可能不好访问国外网站,在提供链接的同时, 我们还将这两篇指南上传至开心网BerkeleyDB群组的文件共享区,需要的可以下载阅读(不提供BerkeleyDB XML版本的该指南,因为在BerkeleyDB XML中可以直接使用功能强大的XQuery来查询内容)。

1  对BerkeleyDB

指南地址为: Guide to Oracle Berkeley DB for SQL Developers

开心网文件地址:http://www.kaixin001.com/group/file.php?gid=627784&fid=401933&start=0

2 对BerkeleyDB Java Edition

指南地址为: Performing Queries in Oracle Berkeley DB Java Edition

开心网文件地址为: http://www.kaixin001.com/group/file.php?gid=627784&fid=396176&start=0

在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 版中的定义如下:
阅读全文…