H2数据库引擎简介

前言 对于研究一个软件的源代码,经常会遇到不知道从何下手的问题,如果开发人员能够提供他们的总体设计和概要设计文档那就方便多了,可这也是我们的一厢情愿,基本上没有提供设计文档的开源项目的。
我认为要想读懂一个软件的源代码,必须先了解这个软件是干什么用的,实现了一些什么功能,这些问题弄明白后,才能让你在以后的阅读代码中事半功倍,下面我打算翻译H2数据库的文档。
本文是在H2当前最新版本 1.2.124的基础上进行的,没有特殊说明下所有内容多是针对H2数据库1.2.124的。
H2数据库历史 H2是从2004年5月份开始开发,但是它的第一个版本是在2005年12月14日发布的,H2的主要作者——Thomas Mueller,也是Hypersonic SQL数据库的原始开发人员,在2001年,他加入PointBase Inc.,也就是他后来创立的PointBase Micro公司的前身。在那种情况下,他不得不放弃Hypersonic SQL,但是后来HSQLDB项目组成立,继续在Hypersonic SQL的基础上发展。H2的名字代表Hypersonic 2,然而H2没有使用Hypersonic SQL或者HSQLDB的任何代码,H2是从头开始建立的。
为什么使用Java开发 使用Java数据库的理由:

  • 很容易与Java应用程序集成
  • 支持多种平台
  • 比本地应用程序更安全(没有内存溢出)
  • 用户自定义函数(或触发器)执行速度更快
  • 支持Unicode编码
有人还认为Java太慢只适合一些低级操作,但是这种情况已经一去不复返了。通常,Java代码编写比C或C++要快许多。这样,就可以集中精力去改善算法(使程序执行效率更高)而不是摆弄代码或者处理一些低级的事情(像内存管理或处理线程)。垃圾收集器现在已经比手工内存管理要快。
Java内置了很多特性(如Unicode编码,网络库)。很容易编写安全的代码,因为内存溢出的问题再也不会出现了。一些特性像反射机制能够应用于随即化测试。
【H2数据库引擎简介】Java已经得到广泛认可:很多公司支持Java,现在它已经开源了。
H2不依赖于其它的Java包或者其它软件,为了提高可移植性和易用性,还有性能方面的原因,加密算法和很多其它的功能在数据库内部实现而没有使用其它已有的包。那些没有开源的包(如Swing)没有使用或者只用了某些特性。

官方地址是:
http://www.h2database.com/html/main.html


    推荐阅读