/
亲自去试试 —— 欣赏它的简易性
从某一点来说,几乎每个应用程序开发人员都面临着保存数据的需求。随着支持 Internet 或 Web 的应用程序的增长,这种需要变得更加紧迫。常规专栏 “用 Apache Derby 进行开发 —— 取得节节胜利” 的这一期将介绍 Apache Derby —— 一个开放源码的、基于标准的、小内存占用的 Java 数据库系统 —— 把它与其他数据库系统进行比较,并讨论与它的下载和安装有关的问题。阅读完本文之后,就应当做好了开始用 Derby 开发数据库应用程序的准备。
查看本系列更多内容 | 0 评论
2006 年 4 月 27 日
在 IBM Bluemix 云平台上开发并部署您的下一个应用。
本文是新的 “用 Apache Derby 进行开发 —— 取得节节胜利” 系列的第一篇,这个系列专门研究由 Apache Derby 项目开发的软件技术。Apache Derby 项目发布的软件是基于 IBM 赠给 Apache 软件基金会的技术基础上的开放源码数据库。Apache Derby 数据库软件是用 Java™ 编程语言编写的,所以是高度可移植的,但是在一个小小的包中仍然提供了可观的性能。
Derby 数据库也实现了许多数据库标准,所以如果有过数据库经验要开始使用 Derby,或者在需要的时候要把现有 Derby 数据库应用程序移动到其他符合标准的数据库系统,都会很容易。因为 Derby 正式发布还不到一年,所以有用的信息比较缺乏。IBM developerWorks 正在用大量 文章和教程 来填补这个空白。本系列针对的是数据库系统经验不多的用户。developerWorks Web 站点上的其他文章对 Apache Derby 数据库软件提供了更高级的介绍以及有关如何把它集成到 Java 企业软件栈中的信息。
为了符合本系列的精神,本文在详细讨论 Apache Derby 之前,首先简要介绍一下数据库系统。
回页首
不论您是否意识得到,在 Internet 上冲浪时,其实是在与各种数据库支持(database-backed)的 Web 应用程序进行交互。这种说法可能还比较陌生,但它只是表示所访问的 Web 站点是用保存在数据库中的数据动态生成的。为了演示,请考虑以下可能访问的 Web 站点类型:
点击查看大图
这些示例,每个都使用数据库动态地保存、查找和检索信息。在这些应用程序中,Web 站点从用户收集必要的信息(例如街道地址),查询应用程序数据库,并把请求的数据集合到一个合适的可视结果中。
许多这样的数据库系统都是又大又复杂 —— 试想一下要容纳用图片提供正确驾车路线所需要的全部地图信息!显然,保存数据,并让应用程序可以使用数据,是一项巨大的任务,这项任务已经被许多厂商解决了,其中 IBM 使用 IBM DB2®,Microsoft® 使用 Microsoft SQL Server。这些商业数据库系统提供了完整的、企业级的能力。所以,它们可以容纳海量数据,可以并发地与大量用户交互,能够在多个大型计算系统之间伸缩。
与您预期的一样,处理这些系统并不简单,而且它们运作起来也会很昂贵。从历史上看,操作这些数据库所需要的任务分成三类。虽然角色之间有时会有重叠,但它们各自的职责理解起来很容易:
如果前面的讨论让您觉得有点害怕,那就对了 —— 操作数据库历史上来说一直都很难。为了理解为什么,我们详细地来看一个具体示例:在线银行。在连接到银行的 Web 站点时,要提供凭证(最常见是用户名和口令),然后获得对财务帐户的访问。可以查看数据、支付帐户、转移资金。银行使用的数据库必须迅速地找到相关信息,安全地管理交易、安全地与用户交互,而最重要的是不能丢失任何数据!并且银行必须要同时为大量用户做这件事。
但并不是所有的应用程序都这么严格要求,特别是刚开始设计的应用程序。如果只是学习使用数据库,或者只想快速地实现数据库应用程序的原型,那么大多数商业数据库系统可能过于笨重。幸运的是,用 Apache Derby 数据库开发支持数据库的应用程序要比想像的简单。本文其余部分,将提供对 Apache Derby 项目的基本介绍。未来的专栏文章会演示如何用 Apache Derby 数据库构建数据库应用程序。
回页首
Apache Derby 项目的目标是构建一个完全用 Java 编程语言编写的、易于使用却适合大多数应用程序的开放源码数据库。可以想像,开发一个数据库并不简单,Apache Derby 数据库也不例外(因为它是个开放源码软件,所以您可以自行查看它)。但是 Derby 项目并不是从零开始的。回到 1996 年,一个叫做 Cloudscape, Inc 的新公司成立了,公司的目标是构建一个用 Java 语言编写的数据库服务器。公司的第一个发行版在一年之后推出,后来产品的名称变成 Cloudscape。1999 年,Cloudscape, Inc. 被大型数据库厂商 Informix Software, Inc. 收购。Informix Software 在 2001 年又被 IBM 收购,然后 IBM Cloudscape™ 数据库系统在许多 IBM 的产品中被用作内嵌的数据库引擎。2004 年 4 月,IBM 把 Cloudscape 数据库软件赠送给 Apache 软件基金会,从此 Apache Derby 项目诞生了(参见 图 2)。
这时,Cloudscape 数据库几乎已经有了 50 万行 Java 代码,所以花了一些时间才正确地把它转换成 Apache Derby 项目。经过孵化期之后,Derby 于 2005 年 7 月正式发布。所以虽然看起来像是新事物,但是 Derby 背后已经开发了几乎十年了。
IBM 继续管理 Cloudscape 数据库,该数据库是从 Apache Derby 源代码构建的。IBM 把 Cloudscape 数据库作为免费下载提供,而且为需要增强信心的客户提供收费的咨询服务。另外,Sun Microsystems 已经宣布它将包含一个修补过的 Apache Derby 版本作为它的 Java 数据库产品。来自 IBM 和 Sun 的强大投入,强化了 Apache Derby 数据库的光明前景。Derby 数据库也符合许多数据库标准,例如 SQL-92 和 JDBC 3.0 版本,所以开始用 Derby 数据库系统开发的应用程序可以容易地移植到其他数据库系统,例如 IBM DB2 通用数据库™。
Apache Derby 是用 Java 语言编写的,所以可以在任何存在合适的 Java 虚拟机(JVM)的地方运行。这意味着 Derby 实际上可以在任何操作系统上运行,包括 Microsoft Windows®、Macintosh、Linux® 和 UNIX® 平台。Derby 也可以在三个 Java 平台的任何一个上运行:Java 2 Platform, Micro Edition (J2ME)、Java 2 Platform, Standard Edition (J2SE) 和 Java 2 Platform, Enterprise Edition (J2EE)。Derby 软件绑定在 Java 档案(JAR)文件中,只有 2 MB 大小。由于内存占用这么小,所以 Derby 数据库可以容易地与应用程序绑定在一起。
可以用两种方式使用 Derby 数据库:
为了体会使用 Apache Derby 的简单性,最好的方式就是亲自试用它。本节其余部分提供了下载和验证 Apache Derby 版本的通用说明(请参阅参考资料 获得 Apache Derby 官方 Web 站点的链接,获得针对具体操作系统的说明)。这些说明假设已经在系统上安装了合适的 Java 运行时环境(JRE)。任何高于 1.3 版本的 JRE 都可以,但是本系列文章使用 Java 1.4.2 及以上版本。
这些准备条件就绪后,第一步是下载 Apache Derby。如 图 3 所示,可以下载三个不同版本:源代码、库和二进制。源代码版本就是源代码。要使用这个版本,必须编写源代码并构建自己的 .jar 文件。库版本只包含 Derby 数据库必要的 .jar 文件。二进制版本包含 .jar 文件和 Derby 文档。
为了简单起见,请下载二进制版本。请确保验证下载的完整性;包括验证 PGP(Pretty Good Privacy)签名,它可以保证下载的是正式版本,还要验证 MD5(消息摘要算法 5)签名,它可以保证下载的文件没有破坏。
在成功下载并验证了包含 Derby 数据库文档的档案之后,安装非常简单(虽然有轻微的平台依赖性):
CLASSPATH
环境变量。如果习惯使用命令提示符,也可以直接把 derby.jar(位于 db-derby-10.1.2.1-bin/lib 子目录)添加到 CLASSPATH
变量。另外,也可以运行 db-derby-10.1.2.1-binframeworksembeddedbin 子目录中提供的 setEmbeddedCP
脚本。在运行这个脚本之前,或者应当设置 DERBY_INSTALL
环境变量,或者修改脚本,以便 DERBY_INSTALL
指向安装 Derby 数据库的目录。sysinfo
工具验证安装,如 清单 1 所示。rb$ java org.ls.sysinfo ------------------ Java Information ------------------ Java Version: 1.4.2_09 Java Vendor: Apple Computer, Inc. Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home Java classpath: /opt/Apache/db-derby-10.1.2.1-bin/lib/derby.jar:/opt/Apache/db-derby-10.1.2.1-bin/lib/derbytools.jar:. OS name: Mac OS X OS architecture: ppc OS version: 10.4.3 Java user name: rb Java user home: /Users/rb Java user dir: /opt/Apache/db-derby-10.1.2.1-bin java.specification.name: Java Platform API Specification java.specification.version: 1.4 --------- Derby Information -------- JRE - JDBC: J2SE 1.4.2 - JDBC 3.0 [/opt/Apache/db-derby-10.1.2.1-bin/lib/derby.jar] 10.1.2.1 - (330608) [/opt/Apache/db-derby-10.1.2.1-bin/lib/derbytools.jar] 10.1.2.1 - (330608) [/opt/Apache/db-derby-10.1.2.1-bin/lib/derby.jar] 10.1.2.1 - (330608) [/opt/Apache/db-derby-10.1.2.1-bin/lib/derbytools.jar] 10.1.2.1 - (330608) ------------------------------------------------------ ----------------- Locale Information ----------------- ------------------------------------------------------
这时,就有了一个可工作的数据库系统,既可以作为独立的网络服务器运行,也可以作为内嵌的数据库在自己的应用程序中运行。未来的专栏文章会介绍如何在这两种模型下运行 Derby,并提供附加的数据库深入介绍。
使用数据库系统并不很难。使用 Apache Derby,可以迅速地开始使用特性齐全的数据库系统。而且因为 Apache Derby 是符合标准的数据库,所以在情况许可的时候,用它开发的应用程序可以容易地迁移到更强大的数据库系统上。
本文发布于:2024-02-01 08:41:40,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170674810035340.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |