一、数据库的选型原则
1、稳定可靠(High-Availability)
数据库保存的是企业最重要的数据,是企业应用的核心,稳定可靠的数据库可以保证企业的应用常年运行,而不会因为数据库的宕机而遭受损失。企业的信息化可以促进生产力,但如果选择了不稳定产品,经常影响业务生产的正常运营,则实际效果很可能是拖了企业的后退。无论是计划中(数据库维护等正常工作)还是意外的宕机都将给企业带来巨大的损失,这意味着企业要减低收入、要降低生产力、要丢失客户、要在激烈的企业竞争中丢失信心。信息系统的稳定可靠是由多方面的因素构成的,包括网络、主机、操作系统、数据库以及应用软件等几方面,这些因素互相之间又有一定的依赖关系,因此,在企业信息化的选型中要通盘考虑这些问题。在数据库方面主要看数据库要具备灾难恢复、系统错误恢复、人为操作错误恢复等功能,同时要尽量降低数据库的计划内维护宕机时间。
2、可扩展(High-Scalability)
企业的应用是不断深入和扩展的,数据量和单位时间的事务处理量都会逐渐增加。如果要求企业购置一套信息系统足以满足未来若干年发展的需要显然是不恰当的,因为这实际意味着企业要多花很多钱而不能发挥信息设备的最大效能,造成资源的浪费。比较好的解决办法就是企业先购置一套配置较低,功能适用的系统,当未来业务有需要时可以方便的对系统进行扩展,使系统的处理能力逐步增加满足业务处理的需求。落实到数据库就是要选择具有良好的伸缩性及灵活的配置功能的产品,无论是主机系统的内存或硬盘方面的扩展还是集群系统的扩展,都能够被数据库利用,从而提高系统的处理能力。
3、安全性(Security)
数据库的安全性是指保护数据库以防止不合法的使用造成的数据泄露、更改或破坏。安全性问题不是数据库系统独有的,所有计算机系统都有这个问题。只是在数据库系统中保存着大量重要的数据,而且为许多最终用户共享使用,从而安全问题更为突出。系统安全保护措施是否有效是数据库系统的重要指标之一。 数据库的安全控制主要通过用户标识与鉴别、存取控制、视图机制、审计、数据加密等机制完成。
4、丰富的开发工具
无论是优秀的硬件平台还是功能强大的数据库管理系统,都不能直接解决最终用户的应用问题,企业信息化的工作也要落实到开发或购买适合企业自身管理的应用软件。目前流行的数据库管理系统大都遵循统一的接口标准,所以大部分的开发工具都可以面向多种数据库的应用开发。当然,数据库厂商通常都有自己的开发工具,例如SYBASE公司的PowerBuilder,Oracle公司的Developer2000,以及Ms的VisualStudio。这些开发工具各有利弊,但无疑选择和数据库同一个厂商的产品会更有利于应用软件的开发以及将来得到统一的技术支持。
5、服务质量
在现今信息高度发达的竞争中,数据库厂商完全靠产品质量打动用户的年代已不复存在,各数据库产品在质量方面的差距逐渐缩小,而用户选择产品的一个重要因素就是定位在厂家的技术服务方面。因为在你购买了数据库系统之后,你面临着复杂的软件开发,数据库的维护,数据库产品的升级等等,你需要得到数据库厂商的培训,各种方式的技术支持(电话、用户现场)和咨询。数据库厂家的服务质量的好坏将直接影响到企业信息化建设的工作。
2、Oracle
提起数据库,第一个想到的公司,一般都会是Oracle。该公司成立于1977年,最初是一家专门开发数据库的公司。Oracle在数据库领域一直处于领先地位。1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle的下一个版本,版本5,率先推出了分布式数据库、客户/服务器结构等崭新的概念。Oracle的版本6首创行锁定模式以及对称多处理计算机的支持最新的Oracle8主要增加了对象技术,成为关系-对象数据库系统。目前,ORACLE产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。
Oracle数据库产品具有以下优良特性:
Oracle 9i 通过提供用于电子商务环境的一系列特定功能和产品包,像Oracle 8i那样继续聚焦于Internet 。此外,Oracle 9i 添加了新特性和功能,扩大给予关键任务的基础结构的投资。下面我们介绍 Oracle 9i 在某些关键开发领域的新特性:
实现连续的数据可用性
Oracle 9i 大幅度地扩展了 Oracle 在 Internet 数据库可用性方面的地位。其中包括:
(a)世界领先的数据保护环境
Oracle 9i 包括了许多改进数据保护的新特性。除了对现有的Standby 产品进行了重点增强外,还包括了一个提供监视、自动化和控制的框架。与管理备用数据有关的许多任务也是自动化的,包括初始化实现、错误跳转和轻松的主从之间的来回切换。在 Oracle 9i 中还增强了 LogMiner,以便提供全面的基于 SQL 的日志分析。
(b)联机数据演变
Oracle 9i 包含了一个新的联机重新组织和重新定义结构,此体系提供了更为强大的重新组织功能。Oracle 9i 目前允许连机“Create Table As Select”操作。在新的体系结构中,表的内容被复制到一个新表中,在复制内容的同时,数据库跟踪对原始表的更新。使用新的体系结构,可以连机更改表的任何物理属性,另外许多逻辑属性都可以更改。Oracle 9i 还支持索引编排表上级次索引的联机创建、重建等。管理员也能快速的停止数据库以便执行要求非活动事务处理的操作。
(c)准确的数据库修复
Oracle 8i 包含非常完备的恢复功能,Oracle 9i 通过使这些功能更强大和更准确对它们进行了扩展。Oracle 9i 包括对磁盘损坏的更好预防和改进的处理方法。Oracle 9i 也可以通过使用新的两关口恢复算法更快地从崩溃中恢复过来,此算法确保只有那些需要处理的块才能从数据文件中读取和写入数据文件。
(d)自我服务错误更正
Oracle 9i 包含处理人为错误的强大技巧,包含授权终端用户以更准确、更有效和更容易的方式更正其自身错误的功能。要更改错误,终端用户需要能够通过查看更改历史识别错误,并且他们需要能够通过将数据恢复为错误发生之前的数据来退出错误。查询方法有两种,一种是利用 Oracle 9i 的 Flashback(回闪式)的查询特性允许从过去的某一点来查询数据,一种是用 Logminer 从日志文件中查寻数据库的更改历史。
可伸缩性和性能
Oracle 9i 允许电子商务扩展到千万用户,每个用户每小时都执行数百万事物处理。包括:
(a)Oracle 9i Real Application Clusters-Cache Fusion
Oracle 9i Real Application Clusters 可以使所用的应用程序不经修改便能获得数据库的高可用性、可伸缩性和高性能。Oracle 9i Cache Fusion 体系结构中利用簇中所有节点的聚合高速缓存来满足数据库请求。Oracle 9i Cache Fusion在读/读、读/写和写/写 争用的情况下直接将数据块从一个节点的高速缓存运送到另一个节点的高速缓存。这建立在处理读/写 争用以前的Oracle 8i Cache Fusion执行的基础之上。
(b)可伸缩的会话状态管理
新的共享内存功能、JAVA 会话支持的改进、联网和多线成服务器改进大大减少了 Oracle 9i 上每个用户所需的覆盖区-允许将更多的用户托管在同一个或更大的硬件平台上。
(c)对电子商务起关键作用的优化特性
Oracle 9i 中的特定性能改进集中于改进对电子商务解决方案起关键作用的领域和性能。对本地编译改进的 PL/SQL 优化的支持大大提高了当今许多应用程序的性能。对应用程序服务器和后端的Oracle 9i 数据库之间的连接来说,Oracle Net Services 的新特性--VI(Virtual Interface,虚拟接口)Protocol支持性能改善10%。此外,特定的网络接口优化、新改进的虚拟线路 I/O 和统一的事件/等待模式都大大提高了客户机/服务器的通信性能。通过使用OCI来重做数据库/数据库通信提高了分布式数据库的性能。
提供端到端的安全体系结构
Oracle 9i 继续提供业界最安全的应用平台和部署平台。包括:
(a)健壮的三层安全
通过代理认证增强了三层安全,包括 X.509 许可证文件或判别(DN)的信用代理、对胖JDBC的支持、应用程序用户的连接共享(胖JDBC和瘦JDBC、OCI)和与Oracle Internet Directory的集成。
(b)基于标准的PKI
Oracle Advanced Security(高级安全)的基于标准的PKI包括Public Key Certificate (PKCS)#12的支持,允许现有的PKI信用由Oreacle Wallet 共享,从而降低PKI部署成本并增强交互操作性。
(c)深层数据库保护
Oracle Label Security,一个基于Viretual Private Database(虚拟私有数据库,VPD)的产品,具有更强的VPD功能,更加精细的粒度审核,能够提供更让人放心的主机安全。精细的粒度审核允许定义审核政策,它能够为数据库指定触发相应的审核事件的存取提前,并利用了一种灵活的事件处理器,将触发的事件通知系统管理员。
(d)改进的Enterprise User Security(企业用户安全)
Oracle Advanced Security 的Enterprise User Security得到了增强,其中包括在Oracle Internet Directory中提供能了基于密码的用户管理,而且密码管理的功能亦得到了加强,这些促进了用户和安全政策管理的改善。
(e)数据加密
Oracle 增加了将一个安全随机数产生器(RNG)合并到DBMS_OBFUSCATION_TOOLLKIT中的数据存储加密功能。
(f)Oracle Label Security(Oracle 标签安全)
Oracle Label Security 是一个精密粒度访问控制产品。它将一个特殊的标签添加到数据行中,提供复杂而灵活的标签安全。
(g)Oracle Internet Directory(Oracle因特网目录)
Oracle 9i 支持 LDAP 技术以实现网络命名系统的管理、方便系统的部署,不论客户拥有一个还是几百个数据库,每个数据库拥有十几 个还是成千上万个用户。
电子商务应用程序的开发平台
Oracle 9i 继续为电子商务应用程序和传统应用程序的开发提供最佳的开发平台。包括:
(a)Enterprise Java Engine
在Oracle 8i 的第三版中,就已提供了一系列JAVA特性,Oracle 9i Database 第一版对 Java 的支持主要集中在:提高嵌入式Java Virtual Machine(虚拟机)的性能、提供新的IDBC和SQLJ功能、增强Java存储过程以及对J2EE容器的错误修正。
(b)XML支持-XML 类型和XDK
Oracle 9i 以许多增强的数据库操作为特征,这些操作通过SQL将XML存储在数据库中并将传统数据库数据转换为XML。在Oracle 9i 中支持两个主要的XML领域,一个是内置的AML Developer Kit(XML 开发工具包,XDK),一个是本地XML 类型。
(c)SQL和PL/SQL改进
在Oracel 9i 中改进了 SQL 和 PL/SQL 以满足现代开发的要求。除了本地编译外,还改进了总体 PL/SQL 编译。为了增强对象的有用性、继承、类型演变和动态方法分派在 Oracle 9i 中均得到支持。Oracle 9i 也支持新的 ANSI 要求,包括对 CASE 语句、符合 ANSI 的链接和保留版本标注的支持。
可管理性
管理是Oracle 9i 主要改进之一。Oracle 9i 采取的管理方法有五个方面:
(a)自我管理数据
Oracle 9i 数据库能够管理其自身的撤销(回退,Rollback)段--管理员不再需要仔细规划并优化回退段的数目和大小,或者为如何在策略上将事务处理分配给特定的回退段而操心。内存管理是 Oracle 9i 中给予重大管的另一个领域。
(b)改进的和简化的操作管理
数据库的其他传统管理领域也得到了改进。随着Oracle 9i 中持久地INIT.ORA 特性的引入,参数改变在多次关闭中持续存在。
(c)精细的、自动化的资源管理
在 Oracle 8i 中引入Database Resource Manager 在Oracle 9i 中得到了极大地增强,能够对更细小的资源进行控制,并且增加了一些新的特性。
(d)管理工具和技巧
Oracle 9i 也提供了新的特性、工具和技巧,使管理员留下了很少的工作成了一件乐事。在Oracle 9i 中,Oracle Enterprise Manager 继续提供支持数据库和整个电子商务平台的新功能的易用管理工具。为了进一步简化管理任务,增强了 Oracle Enterprise Manager 包括有指导的专家诊断和问题解决方案。所有的基本管理功能是基于 WEB 的,管理员可以直接从 WEB 浏览器管理其系统。
(e)端到端的系统管理解决方案
在 Oracle 9i 中,Oracle Enterprise Manager 也允许管理员超出仅监视单个目标(如数据库)的性能这一范围,管理员能够监视基于Oracle 的整个系统的响应,并确保它们满足所需要的商业服务级别约定。
Windows集成
Oracle 9i 作为基于 Windows 2000 平台上的领导地位。包括:
(a)与 Windows 2000 的集成
Oracle 9i 支持与 Microsoft Transaction Service、Microsoft Message Queuing 和 Internet Information Services 的更好集成。Oracle 9i 中的 PKI 体系结构和 Single Signon 功能也与 Windows 2000、Active Directory 和 Microsoft Certificate Store 很好的集成在一起。
(b)在 MS Windows 平台上开发和部署
对于 Windows 开发者,Oracle 9i 提供了一个增强的本地 OLE DB provider。Oracle Object for Windows 支持 XML、Database Event(数据库事件)和Oracle 9i OCI 扩展。
1、SQL Sever 2000
(1)SQL SERVER的发展历程回顾
Microsoft SQL Server自从1989年被推出后,稳步地从桌面发展到工作组,并最终走进企业计算机机房。Microsoft SQL Server 2000是Microsoft 公司继Microsoft SQL Server6.5和Microsoft SQL Server7.0以后推出的又一改进的新版关系型数据库管理系统。边疆能使用户快捷的管理数据库和开发应用程序。SQL Server从20 世纪80年代后期开始开发,最早起源于1987年的Sybase SQL Server.。1988年,Microsoft公司、sybase公司和aston-tate公司把该产品移植到OS/2上。后来Aston-Tate公司退出了该产品的开发,而Microsoft公司、sybase公司签署了一个共同的开发SQL server移植到Windows NT上。这两家公司的共同开发结果是发布了用于Windows NT操作系统的 SQL server 。在sql server 4版本发行以后,MICROSOFT公司和SYBASE公司在SQL SWRVER的开发方面停止了合作。MICROSOFT 公司致力于WISOWS NT 平台上的SQL SERVER 开发,而SYBASE公司则致力于UNIX平台上的SQL SERVER 开发。SQL SERVER6。0版是第一个完全由MICROSOFT公司开发的版本。1996年,MICROSOFT 公司发布具有巨大变化的7。0版。这一版本在数据存储和数据库引擎方面发生了根本性的变化。又经过两年的努力开发,于2000年9月 布了SQL SERVER 2000。从SQL SERVER 7。0到SQL SERVER 2000的变化是渐进的,没有从6。5到7。0变化那么大,只是在SQL SERVER 7。0的基础上进行了增强。
(2)当前SQL SERVER的市场占有情况
SQL Server作为微软在Windows 系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐。区别于FoxPro、Aclearcase/" target="_blank" >ccess小型数据库,SQL Server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。因此它已成为当前市场占上的领先产品。
SQL Server 是发展最快的关系数据库,收入增长为 45%,是整个关系数据库市场的三倍。SQL Server 是 Microsoft Windows 平台上最流行的关系数据库,占 38% 的市场份额。(Gartner,2001 年 6 月) SQL Server 是最流行的 Web 数据库,市场份额为 68%。(Zona Research,2000 年 1 月)目前 在 SQL Server 上运行的应用程序超过了 2000 个。 调查发现, SQL Server 的拥有成本较 Oracle 等产品低,而且目前 有超过 85,000 名经培训的 SQL Server 数据库管理员 (DBA)。从以上指标可以看出SQL SERVER 在当前市场上的突出表现。
(3)Microsoft SQL Server 2000和SQL Server 7.0的性能比较。Microsoft SQL Server 2000在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理(详细内容见后文)。总之,对于希望确保数据库解决方案具备伸缩性、可靠性及灵活性的客户而言,SQL Server 2000提供的新特性较SQL Server 7.0具有显著的优势。
(4)SQL Sever 2000的局限性。由于SQL SERVER 仅仅局限于MICROSOFT 的操作系统。使得SQL SERVER 不能从其他的操作系统的优良特性中获益。如UNIX在增强的并行体系 结构或是企业计算等领域就优于WINDOWS NT/2000。