6个具有商业质量特性的免费数据库

免费和开源的数据库有多有效?为了找到答案,我们回顾了6::Microsoft SQL Server Express, PostgreSQL, Oracle的MySQL, MariaDB, Apache Derby和Firebird SQL。

12 第二页
第2页共2页

Apache Derby在20世纪90年代中期开始时是Cloudscape,然后被Informix收购,当IBM从Informix接管资产时,它被重新命名为IBM Cloudscape。2004年,IBM向Apache项目贡献了Cloudscape代码,2005年,第一个Apache Derby版本发布为10.1.1版本。Apache Derby可以以两种模式运行,一种是作为功能完整的嵌入式数据库引擎(例如在Apache Tomcat和Red Hat应用服务器中使用),另一种是作为使用Derby Network server的传统客户机-服务器数据库运行。

我们在运行Oracle Java运行时虚拟环境(JRE) 1.7版本的Windows Server 2008上安装了10.9.1版本。在安装Apache Derby之前安装JRE是很重要的,而且安装确实需要从DOS提示符发出一些命令。Apache Derby附带一个名为“ij”的交互式脚本工具。它与嵌入式Derby JDBC驱动程序或客户机JDBC驱动程序一起工作。通过使用命令提示符,我们可以使用一些简短的命令从命令提示符创建一个测试数据库和空表。

在创建测试表之后,我们决定利用内置的批量插入过程来插入超过百万的测试行。大容量插入工作正常,除了在执行语法中遇到了与PostgreSQL类似的大写和小写问题。我们的表名为test1,全是小写,但解析器(以及一些在线研究后的文档)坚持让我们输入全是大写,像这样:

SYSCS_UTIL打电话。SYSCS_IMPORT_TABLE (null, TEST1,‘c: \ temp \ SampleData.txt’,‘,’,空,空,0);

在修复了案例问题之后,数据导入只花了几秒钟,检索前100,000条记录的选择语句不到5秒钟就运行了。正如我们在其他数据库服务器上观察到的那样,处理单独的数据行证明是非常有效的,我们的选择、更新和删除语句在不到一秒钟的时间内就完成了。尽管Apache Derby在我们的测试中没有提供与MariaDB和MySQL相同的速度,但是差异很小,从十分之一到百分之一秒不等。

安全特性包括允许对象级访问限制的用户身份验证和授权。Apache Derby数据库也可以在创建时进行加密,或者可以向现有数据库添加加密。

Apache Derby占用空间小,这使它成为嵌入Java应用程序(如运行在pda或手机上的应用程序)的极佳选择。Apache网站提供了全面和最新的文档,还有一个相当活跃的博客社区和论坛,全部或部分专门针对Apache Derby。

火鸟

Firebird自1981年以来就以某种形式存在,目前基于Borland在2000年发布的备受推崇的InterBase代码。当前的模块是根据初始开发人员的公共许可证发布的。Firebird可以在Linux、Unix和Windows上运行。我们回顾了Windows Server 2008 R2上最新的稳定版本2.5.1。安装非常简单,只需几分钟即可完成,安装过程中需要选择的选项很少。此外,我们还决定安装Firebird的跨平台管理工具FlameRobin。

FlameRobin不像pgAdmin、SQL Server Management Studio或HeidiSQL那样功能丰富,但它确实提供了一些基本功能,如创建数据库、表和其他对象的能力。对象是通过提供示例T-SQL代码创建的,而不是提供一个可以输入字段名等的接口。但是,一旦创建了一个对象(如表),就可以使用GUI对其进行编辑。结果是,我们使用FlameRobin越多,就会发现更多有用的功能。

在完成安装之后,我们创建了一个测试数据库,其中有一个表来保存测试数据。由于没有真正的批量插入选项,也没有导入功能,我们最终创建了一个“临时”表来保存外部数据,并使用它将数据插入到我们真正的表中。这个过程并不是很优雅,但是在经过一些权限问题的反复处理之后,它确实完成了任务。与免费和开源软件的情况一样,文档并不总是最新的,也不像商业软件那样显示,但是一个规范的搜索引擎短语最终会为大多数任务产生结果。

加载测试数据后,我们执行常规测试,但在使用select语句从Firebird ISQL工具和使用FlameRobin选择大量行(10万多行)时遇到了问题。ISQL工具只是崩溃了,而FlameRobin却返回了记录,但由于每次只返回几百条记录,所以很难感受到性能。在使用较小的子集时,我们发现Firebird工作效率很高,我们能够在不到一秒的时间内选择、更新和删除单个行。

Firebird的一些安全特性包括对象级访问控制和删除触发器、过程和视图源代码的能力。Firebird目前不提供本地加密,但有第三方工具可以提供。至于文档,Firebird有一个很好的FAQ网站,还有许多其他的文档可以在Firebird网站上找到。

总的来说,Firebird SQL给我们留下了深刻的印象,因为供应商为已经非常优秀的数据库InterBase添加了额外的特性。例如,Firebird SQL的最新版本包括递归查询、远程DB访问的过程触发器和多线程。一个新的主要版本3.0正在开发中,预计将在今年晚些时候发布一个alpha版本。这将包括诸如用Java和c++编写存储过程的功能。

结论

底线,我们回顾了非常有能力的所有产品数据库服务器并选择一个将取决于多种因素,如现有的基础设施和脚本语言,数据存储/检索的大小,是否能够嵌入数据库,和供应商支持是必要的。一旦选择了候选产品,在将其用于生产环境之前,请确保遵循供应商推荐的最佳实践,以确保产品和主机操作系统的安全。

Perschke是Arc Seven Technology的CSO。她也是一位经验丰富的技术作家,曾为许多组织撰写过多篇白皮书,其中包括《财富》500强公司。可以通过susan@arcseven.com联系到苏珊。

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对自己最关心的话题发表评论。

版权所有©2012 IDG ComRaybet2munications, Inc.

12 第二页
第2页共2页
SD-WAN买家指南:向供应商(和您自己)提出的关键问题