信息技术的发展离不开数据库技术的不断发展,从dbase、Foxbase、Foxpro、Access,到Microsoft SQL Server、Sybase SQL Server、Oracle,数据库的规模越来越大,其功能也越来越强大。在各种商业数据库中,有3个无法忽视的名字:IBM DB2,微软SQL和甲骨文。无论是他们的市场占有率还是各有所长的数据库技术都毫不掩饰其各自的辉煌。
IBM DB2
1970 年,IBM 圣何塞研究室的 E. F. Codd 发表了一篇开创了计算机管理信息新方法的论文。他的论文“A Relational Model of Data for Large Shared Data Banks”提出了用于存储、管理和交互操作数据的新体系结构。这一新的关系模型使应用程序开发人员从必须了解被管理数据的详细信息的桎梏中解脱出来。
4 年以后,IBM 员工Don Chamberlin和Ray Boyce 发表了“SEQUEL: A Structured English Query Language”,该论文成为了 SQL 语言标准的基础。用新的 SQL 语言编写问题变得比如何在磁盘存储和组织数据更重要。该语言可以询问和回答功能更强大的新问题。构建应用程序也比以往迅速得多。该关系数据库系统自身承担了更多数据管理的任务,从而使应用程序拥有更多的自由以专注于业务逻辑。
1980 年,最初的System R项目首次实现了关系技术:集成到System/38服务器的数据库。1982 年,SQL/DS产品被用于大型机操作系统VM 和VSE,它也是基于System R的。DB2(正式名称是 DATABASE 2)于1983年诞生于MVS上。1987 年,OS/2 Extended Edition中的数据库管理器是分布式系统上的首个关系数据库。用于新的AS/400服务器的SQL/400在 1988 年出现。新的 DB2 版本被用于AIX(1993)、HP-UX 和 Solaris(1994)、Windows(1995)和 Linux(1999)。
如今,DB2 系列跨越了各种UNIX、Linux与Windows平台和IBM iSeries(OS/400操作系统)和zSeries(OS/390、z/OS、z/VM 和Linux)服务器系列。DB2 Everyplace支持手持设备和嵌入式Linux环境,并提供了与更大型系统的数据同步。为整个系列的应用程序开发和数据库管理提供了常用工具。来自所有系列成员的创新以及 2001 年收购的 Informix 数据库系列,满足了整个系列的发展需求。
除了强大的和创新的技术之外,DB2 还为所有规模的客户提供了很高的价值。UNIX、Linux 和Windows系统中的 DB2 定价被业界分析人员公认为大约是其主要竞争对手定价的一半。DBA自动化和自我管理增强功能与低价结合,为DB2客户提供了卓越的价值。
DB2 9数据库相对于其他数据库管理系统来说有了大幅度的创新。实际上,DB2 9对于XML的支持不仅仅体现在XML类型的数据上,一些用关系模型难以解决的问题也可以使用XML模型得以解决。DB2 9对XML的支持与经典的关系数据模型相比所具有的优势是不可忽略的。
与其他主流数据库管理系统比起来,DB2有其优势也有自己的不足。在处理datawarehouse系统上DB2的性能应该是非常优秀的,同时DB2对优化器做的相当完美,对于大部分复杂查询可以有效地将其重写为最优语句,并且分配合理的执行计划。
DB2在关闭机制上有一定的不足。这与DB2的设计框架相关,内存锁的使用在提升效率的同时也对系统的优化要求提到了最高。如果用户对数据库的本身优化和应用程序优化做的不足,那么DB2会容易出现锁等待现象。
同时,对于所有的数据库系统高可用性也是一个比较令人头疼的问题。在DB2中的高可用性对于普通用户来说可能比较复杂,但是IBM有一些经典的技术文档可以用来参照帮助用户自己设置。对于管理多分区系统的DBA来说,怎样对各分区协调,如何合理设置分区键是重要的。
也许很多人都认为DB2比起其他的数据库系统要复杂很多,但是个人认为那是由于这些人对其底层的架构和模型不了解所导致的。真正意义上理解DB2以后就会发现其中的每一个模块都是经过精心设计的。如能完整地优化系统,许多数据库常见的问题就不会出现。
ORACLE
Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。
1、ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
2、提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
3、支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。
4、提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。
5、提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
ORACLE存储结构
1、物理结构
ORACLE数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着数据的添加和应用程序的增大而变化。
2、逻辑结构
ORACLE数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们准备上马一个较大的ORACLE应用系统时,应该创建它所独占的表空间,同时定义物理文件的存放路径和所占硬盘的大小。
ORACLE分布式数据库管理介绍
1、原理
物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单个的大数据库。用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接细节、无需关心数据在网络接点中的具体分布情况、也无需关心服务器之间的协调工作过程。
2、过程
由网络相连的两个ORACLE数据库之间通过数据库链接(DB-LINKS)建立访问机制,相当于一方以另一方的某用户远程登录所做的操作。但ORACLE采用的一些高级管理方法,如同义词(SYNONME)等使我们觉察不到这个过程,似乎远端的数据就在本地。数据库复制技术包括:实时复制、定时复制、储存转发复制。对复制的力度而言,有整个数据库表的复制,表中部分行的复制。在复制的过程中,有自动冲突检测和解决的手段。
Microsoft SQL Server
SQL Server是Microsoft公司的一个关系数据库管理系统,但说起它的历史,却得从Sybase开始的。SQL Server从20 世纪80年代后期开始开发,最早起源于1987年的Sybase SQL Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把该产品移植到OS/2上。后来Aston-Tate公司退出了该产品的开发,而Microsoft公司、Sybase公司则签署了一项共同开发协议,这两家公司的共同开发结果是发布了用于Windows NT操作系统的SQL Server,1992年,将SQL Server移植到了Windows NT平台上。
在SQL Server 4版本发行以后,Microsoft公司和Sybase公司在SQL Server的开发方面分道扬镳,取消了合同,各自开发自己的SQL Server。Microsoft公司专注于Windows NT平台上的SQL Server开发,而Sybase公司则致力于UNIX平台上的SQL Server的开发。本文中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。
SQL Server6.0版是第一个完全由Microsoft公司开发的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接着在1998年又推出了具有巨大变化的7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。又经过两年的努力开发,Microsoft公司于2000年9月布了SQL Server 2000,其中包括企业版、标准版、开发版、个人版四个版本,第一次引入Notification Service,Data Mining &Reporting等现在都通行标准的特性。从SQL Server 7.0到SQL Server 2000的变化是渐进的,没有从6.5到7.0变化那么大,只是在SQL Server 7.0的基础上进行了增强。SQL Server2000后经历了5年的开发时间才正式发布的SQL Server2005,同样叫人惊喜。
SQL Server到现在为止已经存在了超过10多年,每个新发布都会带来一个更加复杂的产品,当然也有额外的丰富特点的功能。不可否认,这个发布带来了很多的改变和新的特性。
SQLServer2005凭借其在企业级数据管理、开发工作效率和商业智能方面的出色表现,赢得了众多客户青睐,成为目前唯一能够真正胜任从低端到高端任何数据应用的企业级数据平台。微软表示市场反应远超出了之前的预期。
而低端到高端的应用也有望摆脱“盛名所累”,改观微软为基础软件供应商的传统形象。据介绍,如果SQLServer单独分拆出来,将成为全球第五大软件实体公司。仅从这一点不难看出,微软在企业级市场凝聚的实力已不容小觑。
据IDC统计,中国数据库市场平均年增长率保持在10%-12%。而SQLServer2005在发布的第一年中就创下了3倍于市场平均增长率的增长速度,重新定义了企业级市场新格局,不仅与IBM、甲骨文分庭抗争,还在一定程度上挤压着Businests、Hyperion等BI厂商的生存空间。
2000年,微软推出数据库第二代代表产品SQLServer2000,SQLServer售价与IBM的DB2以及甲骨文的10g基本持平,但微软丝毫不避讳地表示,“友商”的产品还要收很多其它费用,SQLServer2005的基本产品包,加上数据管理产品、商业智能产品及多核心支持的所有费用仅为其他厂商的1/10。
同甲骨文、IBM相比,微软在数据库市场只能算后起之秀,但正是凭借自下而上及低价策略,增长势头强劲,一点点蚕食着IBM与甲骨文在数据库版图内的疆土。除了对UNIX+DB2构成威胁外,微软自下而上的策略,不可避免地碰到了其它行业的应用软件厂商,其中包括BI领域。据悉,SQLServer2005内置了商业智能套件,利用历史数据,提供关系型数据库所无法完成的快速统计分析功能;提供各种角度和层次的深入数据分析报表与统计,支持商业决策制定,并结合前端工具生成报表进行灵活展现。