Oracle
Oracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用
SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。
Oracle公司是目前全球最大的数据库软件公司,也是近年业务增长极为迅速的软件提供与服务商。DC(Internet Data Center)2007统计数据显示数据库市场总量份额如下:Oracle 44.1% IBM 21.3%Microsoft 18.3% Teradata 3.4% Sybase 3.4%。不过从使用情况看,BZ Research的2007年度数据库与数据存取的综合研究报告表明76.4%的公司使用了Microsoft SQL Server,不过在高端领域仍然以Oracle,IBM,Teradata为主。
2007年7月12日,甲骨文公司在美国纽约宣布推出数据库Oracle 11g,这是Oracle数据库的最新版本。Oracle介绍说,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。Oracle 11g在安全,XML DB,备份等方面得到了很大提升。Oracle发展历史见转载《书写历史的甲骨文-ORACLE公司传奇》一文。
SQL Server
Microsoft SQL Server是微软公司开发的大型关系型数据库系统。SQL Server的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。SQL Server可以与Window操作系统紧密集成,不论是应用程序开发速度还是系统事务处理运行速度,都能得到较大的提升。对于在Windows平台上开发的各种企业级信息管理系统来说,不论是C/S(客户服务器)架构还是B/S(浏览器/服务器)架构,SQL Server都是一个很好的选择。SQL Server的缺点是只能在Windows系统下运行。1987 年,微软和IBM合作开发完成
OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。Microsoft在与Sybase分道扬镳后,随后在其6.05和7.0版本中重写了核心数据库系统,如今SQLServer 2008 已到来。
mySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:
www.mysql.com
MySql
优点
MySql是一个快速、多线程、多用户的SQL数据库服务器。几乎是免费的,支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。
MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySql能很容易充分利用CPU。
MySql可运行在不同的操作系统下。简单地说,MySql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多种操作系统平台。这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统下。
MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。
MySql支持ODBC for Windows。MySql支持所有的ODBC 2.5函数和其他许多函数,这样就可以用Access连接MySql服务器,从而使得MySql的应用被大大扩展。
MySql支持大型的数据库。虽然对于用PHP编写的网页来说只要能够存放上百条以上的记录数据就足够了,但MySql可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySql可以针对不同的应用进行相应的修改。
MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。事实上,MySql的稳定性足以应付一个超大规模的数据库。
强大的查询功能。MySql支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。
PHP为MySql提供了强力支持,PHP中提供了一整套的MySql函数,对MySql进行了全方位的支持。
缺点
比较的难学;
MySQL不完全支持陌生的关键词;
MySQL也缺乏一些存储程序的功能;
使用缺省的ip端口,但是有时候这些ip也会被一些黑客闯入;
使用myisam配置,如果你不慎损坏数据库,结果可能会导致所有的数据丢失;
几款数据库的比较
1、性能
SQL Server 老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。保持了多项TPC-C纪录。具体参见http://www.tpc.org/
Oracle 性能最高,保持Windows NT下的TPC-D和TPC-C的世界纪录。
2、可伸缩性,并行性
SQL Server 以前版本SQL Server并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能有了较大的改善,在Microsoft
Advanced Servers上有突出的表现,超过了他的主要竞争对手。
Oracle 并行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果Windows NT不能满足需要, 用户可以把数据库移到UNIX中,具有很好的伸缩性。Oracle的并行服务器对各种UNIX
平台的集群机制都有着相当高的集成度。
3、安全性
SQL server Microsoft Advanced Server 获得最高安全认证,服务器平台的稳定性是数据库的稳定性的基础,新版本的SQL的安全性有了极大的提高。
Oracle Server 获得最高认证级别的ISO标准认证。
4、操作
SQL Server 操作简单,采用图形界面。管理也很方便,而且编程接口特别友好(它的SQL-DMO让编程变得非常方便!) ,从易维护性和价格上SQL Server 明显占有优势。
Oracle 较复杂, 同时提供GUI和命令行,在Windows NT和Unix,Linux 下操作相同。对数据库管理人员较高。
5、使用风险
SQL Server 完全重写的代码,性能和兼容性有了较大的提高,与Oracle,DB2的性能差距明显减小。该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。经历了长期的测试,不断延迟,许多功能需要时间来证明,并不十分兼容。
Oracle 长时间的开发经验,完全向下兼容,得到广泛的应用,完全没有风险。可以安全的进行数据库的升级,在企业、政府中得到广泛的应用。并且如果在WINNT上法满足数据的要求,可以安全的把数据转移到UNIX上来。
6、开放性
SQL Server 只能在Windows 上运行,C/S结构,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。Windows9X系列产品是偏重于桌面应用,NT server适合各种大中小型型企业。操作系统的系统的稳定对数据库是十分重要的。 Windows平台的可靠性,安全性经过了最高级别的C2认证的。在处理大数据量的关键业务时提供了较好的性能。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。
Oracle 能在所有主流平台上运行(包括Windows)。完全支持所有的工业标准。采用完全开放策略。多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。可以使客户选择最适合的解决方案。对开发商全力支持
7、易维护性和价格
SQL Server 从易维护性和价格上SQL Server明显占有优势。基于Microsoft的一贯风格,SQL Server的图形管理界面带来了明显的易用性,微软的数据库管理员培训进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,SQL Server的价格也是很低的,但是在License的购买上会抬高价格。总体来说SQL Server
的价格在商用数据库中是最低的。
Oracle 从易维护性和价格体来说Oracle的价格是比较高的,管理比较复杂,由于Oracle的应用很广泛,经验丰富的Oracle数据库管理员可以比较容易的找到,从而实现Oracle的良好管理。因此Oracle的性能价格比在商用数据库中是最好的。
8、数据库二次开发
SQL Server 数据库的二次开发工具很多,包括Visual C++, Visual Basic等开发工具,可以实现很好的
Windows应用。开发容易。
Oracle 数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。
INFORMIX
在银行业中得到广泛的应用,但是在中国的经验丰富的人员很少。
经过以上比较,我们得出结论如下:一般的中小型企业或者中小型的应用中,采用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的性能已经稳居数据库应用的前位,可以满足系统的稳定性和大数据量的要求。对于小县/区来说,系统的数据容量较小,采用WINN平台安装数据库也可以较好的满足要求。当人口增加,数据量变大的时候,
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数据库作为后台数据服务基础。