简介:在开源运动的热潮中,我们随处可见开源数据库的身影。MySQL、PostgreSQL、SAPDB、Firebird……它们像一颗颗璀璨的星星闪耀在夜空。MySQL和PostgreSQL是其中两个比较优秀的代表。与传统商业数据库相比,开源数据库到底有哪些优点?它们在企业实际应用中究竟表现如何?如何才能更好地在中小企业中使用开源数据库?
当今社会,信息已经成为一种至关重要的资源。为此许多大型企业购进各种大型商业数据库,并基于它们展开一系列的应用,从而确保企业得以持续发展。然而这些大型商业数据库,虽然功能强大,可是价格也非常昂贵。对于许多中小型企业来说,过于昂贵的数据库成本,是阻碍各种数据库解决方案进入企业的重要因素。
那么是否存在一些数据库,它具备足够的功能,而价格又是中小型企业所能负担的呢?让我们将视线从各种商业数据库转移到开源数据库上吧。开源数据库是指开发源代码的数据库,目前,在开放源代码团体的努力下,已经涌现出一些有代表性的优秀开源数据库。这些开源数据库已经在各种企业中得以应用,特别是在中小型企业中。这是因为中小型企业对数据库有自身特殊的要求,而开源数据库能很好地满足这些需要。下面就来详细讨论一下中小型企业和开源数据库的关系。
中小企业对数据库的需求
中小型企业虽然规模有限,但在企业活动中同样离不开各种信息。对于一个企业来说,每天发生各种业务,产生大量数据,如何管理和利用好这些数据对企业的发展至关重要。而数据库的作用就是在组织和管理这些庞大而复杂的信息时体现出来的。如果是对于个人,一本记事本就可能将个人的数据管理得很好,但是对于一个企业这显然是不可实现的。
1.中小企业对数据库的要求
首先,中小型企业需要用数据库来代替人工及其它的传统手段来管理信息,表现在以下几个方面:
(1) 需要有效地保存信息
信息对于企业来说就意味着财富。企业将各种信息存入数据库,既便于保存,又便于恢复,其保存成本更是比传统的纸张等形式低得多。
(2) 需要强大的查询功能
数据库有着强大的查询功能。试想,你是愿意花几个小时从一堆文件中找到一行记录,还是愿意通过简单的数据库查询,在几秒钟内得到所需要的信息呢?
(3) 需要强大的统计和报表功能
对于企业的决策者来说,所需的信息更为抽象。他们需要从大量数据中做出科学的统计,产生各种统计报表,这些统计报表才是企业决策者最关心的数据。数据库可以帮助快速统计并产生报表。
其次,中小型企业还需要使用数据库来建立各种应用。企业信息化中,各项应用都离不开数据库的支持。企业在开发MRP、MIS、ERP、CIMS、网站、电子商务等应用时,也都需要有数据库来配合。
2.中小企业与大企业在对数据库要求上的差异
毫无疑问,中小型企业是需要数据库的,但由于中小型企业一般规模不大,这就导致他们对数据库的要求与大型企业存在差异。这种差异主要表现在以下几个方面:
(1) 数据规模
中小型企业的数据量相对于大型企业是比较小的。对于一个只有GB级数据量要求的企业,选用DB2、Oracle等大型数据库实在是有些浪费。
(2) 功能
一方面数据库的功能自然是越丰富越好,大型数据库虽提供了各种相关功能,但是对于中小型企业来说,并不是都用得上。另一方面,中小型企业也需要数据库能尽可能多地提供丰富的功能,而不是一味地简单。
(3) 开发
中小型企业希望能针对数据库进行快速地开发。虽然可以不要求它像一些大型数据库那样自带集成开发环境和工具,但是也要求可以支持其它的多种开发语言和工具,以便企业灵活地开发自己所需的各种应用。
(4) 成本
中小型企业的资金远不如大型企业雄厚,特别是一些小企业,成本往往是关键因素,所以中小型企业希望所用的数据库有良好的性价比。
(5) 服务
任何公司恐怕都不会愿意使用没有任何保障的软件,即使它是免费的。商用数据库显然具有良好的服务,但并不是说开源数据库就没有技术支持了,其实同样可以通过付费得到开发者的技术支持。此外,还可以通过网络或其它方式得到免费的帮助,甚至因为其开放源码的特性,存在自行解决问题的可能。
(6) 安全
中小型企业要求有适度的安全性,除非特殊的行业,否则显然不必要求得太苛刻。适度的安全性对于中小型企业来说已经足够。
开源数据库的特点
在了解中小型企业对数据库的需求后,再来看看开源数据库的特点。Linux下最受喜爱的三种数据库是:MySQL、PostgreSQL和Oracle 9i,其中MySQL、PostgreSQL就是开源数据库的优秀代表。
这里以MySQL为例,来看一看开源数据库具备了哪些特点。
1. 速度快
据MySQL开发者称,MySQL可能是目前能得到的、最快的数据库之一,可见开发者对MySQL速度的自信。关于MySQL测试数据的文章可以在以下链接中得到
http://www.mysql.com/information/benchmarks-old.html。
开源数据库之所以速度快,除了技术上的原因之外,还因为精简了一些看来不必要或不常用的功能,这一点对于中小型企业并没有太大影响,却得到了速度上的提升。
2. 易用性好
相对于Oracle、DB2等大型数据库的复杂设置和管理,MySQL可以算得上是既简单又高效的。稍加学习,用户就很容易管理好一个MySQL。
3. 支持SQL
SQL(结构化查询语言)是一种所有现代数据库都选用的语言。MySQL能很好地支持它,另外MySQL也支持使用ODBC,这些都使得MySQL和其它商业数据库具有了一定的共性。
4. 对网络的支持
MySQL可以应用于各种网络环境中,无论是LAN、WAN或Internet,用户都可以通过网络来访问MySQL的数据库,而通过Internet则可以与任何位置的任何人共享数据。当然,MySQL也有自己的访问控制机制,可以限定某人从某地看到某数据。
5. 可移植性
MySQL可以运行在各种常见的操作系统中,包括各种Unix、Solaris、FreeBSD、Linux、Windows、OS/2等,所以可以方便地将数据库从一个操作系统转移到另一个操作系统,而数据和应用不需再做修改。
6. 开放
这正是开源数据库的优势所在。如果不理解某个原理或算法,可以通过直接阅读源码进行分析;如果有不适合本应用的地方,还可以自行修改。
7. 技术支持
关于MySQL可以找到各种各样大量的文档,许多技术问题都可以从中找到答案,各种邮件列表、技术论坛中还会有许多热心人解答所提出的问题。还可以和MySQL开发者签订正式的技术支持合同,通过支付费用来直接得到开发者的技术支持。