开发数据库应用,选择一个好的数据库是非常重要的。目前,商品化的数据库管理系统以关系型数据库为主导产品, 技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有SQL Server、ORACLE、SYBASE、INFORMIX和 DB2。本文从一些方面比较了SQL Server与Oracle、SYBASE、DB2、INFORMIX 这些数据库,为您选择数据库提供一些参考。
性能
SQL Server
老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。保持了多项TPC-C纪录。具体参见http://www.tpc.org/
Oracle
性能最高, 保持Windows NT下的TPC-D和TPC-C的世界记录。
SYBASE
性能较高,支持Sun、IBM、HP、Compaq和Veritas的集群设备的特性,实现高可用性。适应于安全性要求极高的系统。
DB2
适用于数据仓库和在线事物处理,性能较高。 客户端支持及应用模式。
INFORMIX
性能较高,支持集群,实现高可用性。适应于安全性要求极高的系统,尤其是银行,证券系统的应用。
可伸缩性,并行性
SQL Server
以前版本SQL Server并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能有了较大的改善,在Microsoft Advanced Servers上有突出的表现,超过了他的主要竞争对手。
Oracle
平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果Windows NT不能满足需要, 用户可以把数据库移到UNIX中,具有很好的伸缩性。
SYBASE
新版本具有较好的并行性,速度快,对巨量数据无明显影响,但是技术实现复杂,需要程序支持,伸缩性有限。
DB2
DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点,伸缩性有限。
INFORMIX
采用单进程多线程的技术,具有较好的并行性。但是仅运行于UNIX平台,伸缩性有限。
安全性
SQL server
Microsoft Advanced Server 或的最高安全认证,服务器平台的稳定性是数据库的稳定性的基础,新版本的SQL的安全性有了极大的提高。
Oracle Server
获得最高认证级别的ISO标准认证。
SYBASE
通过Sun公司J2EE认证测试,获得最高认证级别的ISO标准认证。
DB2
获得最高认证级别的ISO标准认证。
INFORMIX
获得最高认证级别的ISO标准认证。
*** 作简便
SQL Server
*** 作简单,采用图形界面。管理也很方便,而且编程接口特别友好(它的SQL-DMO让编程变得非常方便!) ,从易维护性和价格上SQL Server明显占有优势。
Oracle
较复杂, 同时提供GUI和命令行,在Windows NT和Unix,Linux下 *** 作相同。对数据库管理人员要求较高。
SYBASE
复杂,使用命令行 *** 作,对数据库管理人员要求较高。
DB2
*** 作简单,同时提供GUI和命令行,在Windows NT和Unix下 *** 作相同。
INFORMIX
使用和管理复杂,命令行 *** 作。对数据库管理人员要求较高。
使用风险
SQL Server
完全重写的代码,性能和兼容性有了较大的提高,与Oracle,DB2的性能差距明显减小。该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。
Oracle
长时间的开发经验,完全向下兼容,可以安全的进行数据库的升级,在企业,*中得到广泛的应用。并且如果在WINNT上无法满足数据的要求,可以安全的把数据转移到UNIX上来。
SYBASE
开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。
DB2
在巨型企业得到广泛的应用,向下兼容性好。风险小。
INFORMIX
开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。
开放性
SQL Server
只能在Windows 上运行,C/S结构,只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。Windows9X系列产品是偏重于桌面应用,NT server适合各种大中小型型企业。 *** 作系统的系统的稳定对数据库是十分重要的。Windows平台的可靠性,安全性经过了*别的C2认证的。在处理大数据量的关键业务时提供了较好的性能。
Oracle
能在所有主流平台上运行(包括 Windows)。完全支持所有的工业标准。采用完全开放策略。多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。可以使客户选择最适合的解决方案。对开发商全力支持。
SYBASE
能在所有主流平台上运行,在银行业中得到了广泛的应用。
DB2
有较好的开放性,最适于海量数据。跨平台,多层结构,支持ODBC,JDBC等客户。在大型的国际企业中得到最为广泛的应用,在全球的500家最大的企业中,大部分采用DB2数据库服务器。
IINFORMIX
仅运行在UNIX平台,包括SUNOS、HPUX、 ALFAOSF/1。在银行中得到广泛的应用。
易维护性和价格
SQL Server
从易维护性和价格上SQL Server明显占有优势。基于Microsoft的一贯风格,SQL Server的图形管理界面带来了明显的易用性,微软的数据库管理员培训进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,SQL Server的价格也是很低的,但是在License的购买上会抬高价格。总体来说SQL Server的价格在商用数据库中是最低的。
Oracle
从易维护性和价格体来说Oracle的价格是比较高的,管理比较复杂,由于Oracle的应用很广泛,经验丰富的Oracle数据库管理员可以比较容易的找到,从而实现Oracle的良好管理。因此Oracle的性能价格比在商用数据库中是最好的。
SYBASE
SYBASE的价格是比较低的,但是SYBASE的在企业和*中的应用较少,很难找到经验丰富的管理员,运行管理费用较高。
DB2
价格高,管理员少,在中国的应用较少,运行管理费用都很高,适用于大型企业的数据仓库应用。
INFORMIX
价格在这些系统中居于中间,与SYBASE一样,在企业和*中应用较少,仅在银行中得到了广泛的应用。经验丰富的管理人员较少,运行管理费用高。
数据库二次开发
SQL Server
数据库的二次开发工具很多,包括Visual C++, Visual Basic等开发工具,可以实现很好的Windows应用。开发容易。
Oracle
数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。
SYBASE
开发工具较少,经验丰富的人员很少。
DB2
在国外巨型企业得到广泛的应用,中国的经验丰富的人员很少。
INFORMIX
在银行业中得到广泛的应用,但是在中国的经验丰富的人员很少。
数据库综合比较结果
表1.1数据库综合比较结果表
性能 伸缩性 安全 *** 作 风险 开放性 维护性 价格
MSSQL ●●●●● ●●●● ●●●● ●●●●● ●●●● ●●●● ●●●●● ●●●●●
ORACLE ●●●●● ●●●●● ●●●●● ●● ●●●●● ●●●●● ●● ●
SYBASE ●●●● ●●● ●●●●● ●● ●●●●● ●● ●● ●●●
DB2 ●●●● ●●● ●●●●● ●●● ●●●●● ●● ●● ●●●
INFORMIX ●●●● ●●● ●●●●● ●● ●●●●● ●● ●● ●●●
经过以上比较,如表1.1所示,我们得出结论如下:一般的中小型企业或者中小型的应用中,采用MS SQL Server 作为数据平台,既可以节约资金,又便于维护管理。小型应用主要考虑的是资金问题,SQL Server的资金投入最小,是中小型应用的最佳选择。大型应用系统要求有较高的数据处理能力,一般应该采用了高性能的大型数据库管理系统——Oracle,大型高可靠性要求的系统安全稳定性是首要考虑的因素,Oracle 能够提供很高的安全稳定的性能,因此Oracle是在国内的大型数据库的必然的选择。在国外的巨型企业中很多采用全套IBM解决方案,使用DB2作为公司的数据仓库,可以达到几乎与Oracle相同的安全稳定性和相近的性能,但是国内使用DB2的人很少,经验丰富的管理员更少,很难实现很好的数据库管理。在银行和证券系统中,采用安全性较好的INFORMIX和SYBASE。随着SQL2000的发布和完善,在大型数据库应用中Microsoft也将占一席之地。
对于流动人口管理系统来说,由于区县的每个人都要有一条记录,一个市或县的人口数量一般达到10万,有些大县甚至达到100万级,每一个人的记录包括出生年月,户口所在地,姓名,性别……,如果育龄妇女占1/3,则大约有30万条数据,因此系统数据量不是很大,属于中小型应用在此,我们建议采用Microsoft SQL Server数据库作为后台的数据库。这主要是考虑系统的性能价格比,和易于管理性,易维护性。
如前所述,Microsoft SQL Server是基于Windows 2000 Advanced Server服务器的,我们通过TPC的网站可以看到Microsoft SQL Server的性能已经稳居数据库应用的前几位,可以满足系统的稳定性和大数据量的要求。对于小县/区来说,系统的数据容量较小,采用WINNT平台安装数据库也可以较好的满足要求。当人口增加,数据量变大的时候,Microsoft SQL Server也可以很好的满足数据管理的要求
数据库的稳定是建立在 *** 作系统稳定的基础上。Windows 2000 Advanced Server经过了最严格的安全认证,获得了最高的C2级别的安全认证标准。由此可以证明Windows 2000 Advanced Server的系统稳定性是极高的,他的代码经过检验,证明是稳定的。Microsoft SQL Server的性能我们已经在TPC网站上看到了,某些大型电信级的数据库也以Microsoft SQL Server作为数据支持。
数据库良好稳定的运行需要管理员的辛勤工作,管理员的经验直接关系到数据库的安全稳定,MS SQL SERVER在中国的企业和*得到了广泛的应用,有大量经验丰富的管理员。MS SQL SERVER 数据库的管理和 *** 作是最简单的,整个系统的安全性和稳定性也较好,而且性能价格比最高,完全满足人口管理的稳定安全的要求,同时节约资金,降低成本,是我们理想的选择。
因此,基于对人口管理系统的性能最优,安全稳定性和易于管理的综合要求,我们建议选择Microsoft SQL SERVER数据库作为后台数据服务基础