初衷
最近有很多朋友问到关于BDB等相关的一些性能测试数据,我想性能测试的结果受很多因素的影响,比如:你的程序设计,多线程/并发,测试数据集,测试平台等等。
一个简单的性能测试程序
在我之前的blog: 在Berkeley DB Java版中实现SQL查询,我提到了一下自己写的一个单线程的例子程序在9秒内读取了100万条记录,22秒内插入100万的记录。
我想,我可以在此和大家分享一下我的程序。当然,程序是我花了半天的时间开发的,仅供参考,不代表官方申明。 阅读全文…
Berkeley DB 4.8 新特性
经过了一年多的辛勤工作和汗水,Berkeley DB 4.8版(以下简称为DB 4.8 或者 4.8)终于发布了。下文我将概括介绍这一版本带来的一些新的特性和提升,我想 读完后您有理由相信这又会是一个激动人心的新版本。当然,具体技术细节及文 档,请参照我们的官方网站的信息(此博客的侧边栏有链接)。同时,我在此也感 谢您的关注和支持。记得留下脚印哦。
下面我就对照Berkeley DB 4.8的change log中的新特性一节来概括介绍一下。
阅读全文…
大家好,
在今年上半年,我们国家推出了一项7,000亿人民币的医疗改革方案,针对我们IT业界可谓影响很大。近期,我也关注到国内从事生命科学、医疗卫生等方向的一些IT的大动作。我想,在此从嵌入式应用的方向,和大家分享我的一些体会和心得。
- 生命科学中应用
我们的观察:
- 发现一味新药通常历时8-12年,涉及到庞大的数据量(来自美国辉瑞的反馈:1,000,000种配比; 若干TB的数据量,1 TB约合2,000张CD光盘信息)
- 新药研究可以是跨多个组织的合作行为,彼此共享数据 – 全球各地的临床研究机构,风险合资公司等
- 监管机构要求对数据严格管理和控制
- 数据安全,访问控制,审计,保存,审批,变更,搜索,来自相关规定和标准作业程序的要求
- 需要经济且可靠的数据管理方式,贯穿于每一个步骤和阶段
- 需要简单易用的,自适应的软件;倾向于“本地化”数据管理方案
- 个性化功能实现也需要基于一套高可靠的数据管理软件之上
- 很多的分析仪器和不同分析技术不间断地产生数据
- 仪器产生的数据直接写到文件系统,从而容易产生错误和数据丢失
- 没有标准化的数据格式:每台仪器连着一台独立的计算机
- 搜索分散于这些独立仪器中的数据几乎是不可能的
- 越来越多的实验室笔记的电子化
阅读全文…
Having Challenges with Embedding Databases in your applications?
Dear Sir/Madam,
Embedded Database Technology is fast emerging as a solution for overcoming integration issues and helping Application vendors reach markets faster. This is a fertile area for partnering with Oracle. Are you up to date on this technology and the vast potential it offers you?
Companies such as Cisco, Nokia, Google, HP and Motorola and thousands of Independent Software Vendors (ISVs) as well as vertical and mid-market focused companies utilize Oracle embedded software today in their applications in order to:
- Gain competitive advantage
- Maintain and adhere to standards
- Achieve better cost controls
- Gain time to market advantages that help you win in this competitive market place
All of this allows you to focus in on your core competencies and add additional value to your customers.
Click here to register for the seminar on Embedded Technologies by Oracle Product Development Team. Meet the experts. Get answers.
Embedding Database Technology
Friday 18 September 2009
The Hong Kong University of Science & Technology
Clear Water Bay
Kowloon, Hong Kong
For more information about Oracle Berkeley Database, please mail us or click here.
| Agenda |
| 01:00 p.m.-02:00 p.m. |
Registration and Networking |
| 02:00 p.m.-03:00 p.m. |
Keynote Session – “Oracle Edge Database Technologies”
Speaker: Chao Huang, Manager Oracle Berkeley DB Development |
| 03:00 p.m.-04:00 p.m. |
“Oracle Berkeley DB Product Technical Overview”
Speaker: Ashok Joshi, Director- Oracle Berkeley DB Development |
| 04:00 p.m.-04:30 p.m. |
Q&A |
在Endpoint Systems (2008年10月正式成为Oracle的合作伙伴)的博客: Introducing Figaro – the XML Database for the .NET Framework 中,作者以玩笑的口吻宣称2009年是 “(睡) 猫”年 – Endpoint Systems is declaring 2009 the Year of the (Sleepy) Cat。大家都知道,Sleepy Cat 正是Berkeley DB在被Oracle买下之前的公司名字。
该博客除了介绍说Figaro 是 Endpoint Systems 基于BDB-XML实现的,面向.NET用户的解决方案, 还简要提到了Berkeley DB及其产品家族的一些历史渊源。
英文好的同学以及在.NET平台上做XML相关应用的朋友可以看看。原文地址: http://endpointsystems.spaces.live.com/blog/cns!AFFCF464FE00AB35!248.entry。
没有规矩,不成方圆。有时候发现,读好的开源产品的代码,如Linux、JDK等,其感受如饮美酒,喜不自胜。然而最近读到一些国内客户和大学毕业生的代码,其感觉就像一个头有十个大,对比很强烈。
千里之行,始于足下。越是历久弥香的产品,越是要求严格,也就意味着每一行代码都很讲究。要做出世界一流的软件来,除了要遵循软件项目管理的种种规范(需求、设计、风险、测试等等),对于开发者的编码要求和规范也不少。
我想,在此谈谈我的一点浅见。对于一个合格的开发者而言,其编写每一行代码的时候,大致首先要考虑的地方有:
- 我遵循相关的代码规范了没有?
- 注释写了没有?注释写的简洁明了吗?
- 针对各种异常情况加以判断和处理了吗?
- 安全退出了吗?释放内存没?有没有内存泄漏?
阅读全文…
给有志于数据库内核开发的朋友的参考书:
* Stanford大学教授Hector Garcia-Molina同志的书,比如prentice Hall出版的“Database System Implementation”。(Hector Garcia-Molina同志也是Oracle公司顾问团成员之一。)
* 数据库权威Jim Grey的书,比如“Transaction Processing: Concepts and Techniques”。
阅读全文…
Berkeley DB 开源社区的Brett Zamir基于XQuery/BDBXML做了一个Firefox的Add-on, 叫XqUSEme (https://addons.mozilla.org/en-US/firefox/addon/5515)。感兴趣的同学可以下载试试。
Brett Zamir在创建XqUSEme初期与Berkeley DB开发工程师的讨论在: http://forums.oracle.com/forums/thread.jspa?messageID=2239564。
有心的朋友,不知道有考虑过智能手机+浏览器+BDBXML的组合吗?欢迎和我讨论。
前言
众所周知,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 版中的定义如下:
阅读全文…
最近评论