本系列学习课程我们以DB 9为学习重点
DB2综述

      DB2是IBM公司研制的一种关系型数据库系统。主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、UNIX、WINDOWS等平台下。DB2提供了高层次的数据利用性、完整性、安全性、可恢复性、以及小规模到大规模应用程序的执行能力,具有与平台无关性的基本功能和sql命令。DB2采用了数据分级技术,能够使大型机数据很方便的下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据。并使本地化及远程连接透明化。拥有非常完备的查询优化器。其外部连接改善了查询性能。并支持多任务并行查询。DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可以同时激活上千个活动线程,对大型分布式应用应用系统尤为适用。
        为了更加全面的了解DB2,我们先从DB2的发展历程开始讲起,我想对于每个从事相关工作的人来说连接其来由,知道其发展过程,不仅可以有效把握技术的发展方向,还能培养具有更好的前瞻眼光,看到DB2发展的技术和产品的前景,可以说DB2在关系型数据库中是非常优秀的,只不过商业化重,所以感觉在大众的使用普遍性上并不是那么强,然而在行业内,如金融、电力、电信等行业内却是被广泛应用。所以我们有必要先了解其发展历程,才能更好的为自己的学习提供动力,我相信经过努力一番努力,功夫终究不负有心人。
送给每个开始学习的人一句名言:梅花芳香苦寒来。
DB2 大事记1968:IBM 在 IBM 360 计算机上研制成功了 IMS V1,这是业界第一个层次型数据库管理系统,也是层次型数据库中最为著名的和最为典型的。在关系型数据库大行其道的今天,很多企业仍然还在使用该数据库,其生命力可见一斑。
1970:这是数据库历史上划时代的一年,IBM 公司的研究员 E.F.Codd 发表了业界第一篇关于关系数据库理论的论文"A Relational Model of Data for Large Shared Data Banks",首次提出了关系模型的概念。这篇论文是计算机科学史上最重要的论文之一,也奠定了 Codd 博士"关系数据库之父"的地位。
1970:阿波罗 13 号宇宙飞船登月失败,在营救宇航员的活动中,IBM 计算机发挥了重要作用。
1973:IBM 研究中心启动了 System R 项目,旨在探讨和研究多用户与大量数据下关系型数据库的实际可行性,这个项目在 DB2 发展史上占有重要意义,它为 DB2 的问世打下了良好的基础。由于取得了一大批对数据库技术发展具有关键性作用的成果,该项目于1988年被授予ACM 软件系统奖。
1974:IBM 的研究员 Don Chamberlin 和 Ray Boyce 通过 System R 项目的实践,发表了论文"SEQUEL:A Structured English Query Language"。论文中提出的 SEQUEL 语言是一套比关系微积分与关系代数更适合最终用户使用的非程序化查询语言,我们现在所熟知的 SQL 语言就是基于它发展起来的。
1975:IBM的研究员 Don Chamberlin 和 Morton Astrahan的论文"Implentation of a Structured English Query Language"在 SEQUEL 的基础上描述了 SQL 语言的第一个实现方案。这也是 System R 项目得出的重大成果之一。
1976:IBM System R 项目组发表了论文"A System R: Relational Approach to Database Management",描述了一个关系型数据库的原型。
1976:IBM 的研究员 Jim Gray 发表了名为"Granularity of Locks and Degrees of Consistency in a Shared DataBase"的论文,正式定义了数据库事务的概念和数据一致性的机制。
1977:System R 原型在3个客户处进行了安装,这 3 个客户分别是:波音公司、Pratt & Whitney 公司和 Upjohn 药业。这标志着 System R 从技术上已经是一个比较成熟的数据库系统,能够支撑重要的商业应用了。
1979:IBM的研究员 Pat Selinger在她的论文"Access Path Selection in a Relational Database Management System"中描述了业界第一个关系查询优化器。
1980:IBM 发布了 S/38 系统,该系统中集成了一个以 System R 为原型的数据库服务器。为了方便应用程序的移植,它的 API 与 S/3、S/32 的 API 一致。
1981:由于发明了关系型数据库模型,IBM 的研究员 E.F.Codd 接受了ACM 图灵奖,这是计算机科学界的最高荣誉。Codd 博士也是继查尔斯.巴赫曼(Charles W. Bachman) 之后,又一位由于在数据库领域做出巨大贡献而获此殊荣的计算机科学家。
1982:IBM PC 的出现标志着 PC 产业开始孕育发展。在以后相当长的一段时间内,在各种品牌的个人电脑上标记着的"IBM PC Compatible"字样都见证着 IBM 在这个领域的辉煌。
1982:IBM 发布了 SQL/DS for VSE and VM 。这是业界第一个以 SQL 作为接口的商用数据库管理系统。该系统也是基于 System R 原型所设计的。
1983:千呼万唤始出来,IBM 在这一年发布了DATABASE 2(DB2)for MVS(内部代号为"Eagle"),一个长盛不衰的品牌就此出现了。
1986:System/38 V7 发布,该系统首次配置了查询优化器,能够对应用程序的存取计划进行优化。
1987:IBM 发布带有关系型数据库能力的 OS/2 V1.0扩展版,这是IBM第一次把关系型数据库处理能力扩展到微机系统。这也是 DB2 for OS/2、Unix and Window 的雏形。
1988:IBM 发布了SQL/400,为集成了关系型数据库管理系统的AS/400服务器提供了SQL支持。
1988:IDUG(国际DB2用户组织)组织成立。这标志着 DB2 的用户已经形成了相当的规模。
1989:IBM 定义了 Common SQL 和 IBM 分布式关系数据库架构(DRDA),并在 IBM 所有的关系数据库管理系统上加以实现。
1989:第一届 IDUG 北美大会在美国芝加哥召开。
1992:第一届 IDUG 欧洲大会在瑞士日内瓦召开。这标志着 DB2 应用的全球化趋势。
1993:IBM 发布了DB2 for OS/2 V1(DB2 for OS/2 可以被简写为DB2/2)和DB2 for RS/6000 V1(DB2 for RS/6000 可以被简写为DB2/6000),这是 DB2 第一次在Intel 和Unix 平台上出现。
1993:郭士纳 ( Louis V. Gerstner) 入主 IBM。在这位管理大师的指挥下,IBM 进行了大刀阔斧的改革,一举扭转颓势。
1994:DB2 For MVS V4 通过并行 Sysplex 技术的实现在主机上引入了分布式计算(数据共享)。
1994:IBM 发布了运行在 RS/6000 SP2 上的 DB2 并行版 V1,DB2 从此有了能够适应大型数据仓库和复杂查询任务的可扩展架构。
1994:IBM 将 DB2 Common Server 扩展到 HP-UX 和 Sun Solaris 上。DB2 开始支持其他公司开发的 UNIX 平台。
1994:DB2/400 集成在 OS/400 V3.1中发布,并且引入了并行机制、存储过程和参照完整性等机制。
1994:IBM 宣布在 OS/2 和 AIX 平台上的 DB2 产品能够对多媒体数据和面向对象应用程序提供支持。
1995:IBM 发布了 DB2 Common Server V2,这是第一个能够在多个平台上运行的对象-关系型数据库产品,并能够对 Web 提供充分支持。DataJoiner for AIX 也诞生在这一年,该产品赋予了 DB2 对异构数据库的支持能力。
1995:DB2 在 Windows NT 和 SINIX 平台上的第一个版本(DB2 V2)发布。
1995:IBM 发布了在 AIX 和 MVS 平台上的数据挖掘技术,用于管理大文本、图像、音频、视频和指纹信息的扩展器(Extender)以及可以对数据仓库进行可视化构造和管理的Visual Warehouse。
1995:IBM 发布了 DB2 WWW Connection V1 for OS/2 and AIX(该产品后来被更名为Net.Data)。该产品可以将数据库中的数据快速发布到 Web。
1995:第一届 IDUG 亚太区大会在澳大利亚悉尼召开。
1995:IBM 并购了 Lotus Development Corp,这是 IT 界的经典并购案例之一。

1996:IBM 发布 DB2 V2.1.2 ,这是第一个真正支持 JAVA 和 JDBC 的数据库产品。
1996:DataJoiner 开始支持对非关系型数据库(比如 IMS 和 VSAM)的存取。
1996:IBM 发布了 Intelligent Miner,该产品可以对基于 DB2 的数据源实施数据挖掘。
1996:IBM 并购 Tivoli。
1996:IBM 将 DB2 更名为 DB2 通用数据库(DB2 Universal Database),这是第一个能够对多媒体和 Web 进行支持的关系型数据库管理系统。该系统具有很好的伸缩性,可以从桌面系统扩展到大型企业,适应单处理器、 SMP 和 MPP 计算环境,并可以运行在所有主流操作系统和硬件平台上。DB2 V5 是以前的两个产品的合并:DB2 Common Server V 2.1.2 和 DB2 并行版 1.2。
1996:IBM 发布了数字图书馆产品,这是一个多媒体资产管理产品,也是 IBM Content Manager 的前身。
1996:DB2 Magzine 第一期发布,DB2 有了自己专门的技术刊物。
1997:IBM 发布了可以支持 Web 的 DB2 for OS/390 V5,这是当时唯一能够支持64, 000个并发用户和百 TB 级别的数据库产品。
1997:IBM 发布了DB2 UDB for UNIX、Windows and OS/2,该产品支持 ROLLUP 和 CUBE 函数,对联机分析处理(OLAP)具有重要意义。
1997:IDUG 第一次技术论坛在加拿大多伦多召开。
1997:I IBM 发布了用于企业级内容管理的 EDMSuite,该产品包含了用于管理计算机生成报表的 OnDemand 和 管理图像的 ImagePlus VisualInfo。
1997:IBM 基于 RS/6000 SP 架构的超级计算机"深蓝"在国际象棋的 6 番棋对抗中战胜了世界棋王卡斯帕罗夫,创造了电脑打败人脑的神话。
1998:IBM 发布了 DB2 OLAP Server,这是一个基于 DB2 的完整的 OLAP 解决方案。这个产品是和 Arbor Software(Hyperion的前身)合作开发的。
1998:IBM 发布了 DB2 Data Links 技术,该技术可使 DB2 对外部文件进行管理。
1998:DB2 的 shared-noting 集群技术扩展到 Windows 和 Solaris 平台。
1998:IBM 发布了 DB2 Spatial Extender,这是与ESRI公司在DataJoiner基础上联合开发的,该产品赋予了DB2 对地理信息数据的存取能力。
1998:IBM 发布了 ContentConnect,该产品是 Enterprise Information Portal(EIP)的前身。
1998:DB2 对 SCO UnixWare 平台提供支持。
1998:吉尼斯世界纪录大全认定 IBM 在实施 1998 长野冬季奥林匹克运动会的信息系统时打破了两项世界纪录,一是有史以来最受关注的 Intrenet 事件,二是一分钟内承受了 110,414 次点击。DB2 在这次规模空前的 Internet 应用中以其稳定、高效的特点圆满地完成了任务。
1998:DB2 UDB V5.2 增加了对 SQLJ、Java 存储过程和用户自定义函数的支持。
1998:IBM 发布 DB2 UDB for AS/400,使 AS/400 成为充分支持电子商务的机型。
1999:IBM 为了对移动计算提供支持,发布了DB2 UDB 卫星版和DB2 Everywhere(这是一个适用于手持设备的微型关系数据库管理系统,现在的版本被称为DB2 Everyplace)。
1999:IBM 发布了 Enterprise Information Portal,该产品可以跨数字图书馆和 EDMSuite 提供一个统一的联合检索功能。
1999:DB2 增加了能够识别 XML 语言的文本检索功能,从而引入了 XML 支持,并启动了DB2 XML Extender 的 beta 计划。
1999:IBM发布了 Intel 平台上的 DB2 UDB for Linux。
1999:IBM 研究机构将 DB2 的联邦功能和 Garlic 技术集成到生命科学解决方案DiscoveryLink 中
2000:IBM发布了 DB2 XML Extender,成为在业界第一个为数据库提供内置 XML 支持的厂商。
2000:IBM 将 Visual Warehouse 集成到 DB2 中,为DB2 提供了内置的数据仓库管理功能。
2000:DB2对Linux 的支持进一步增强,能够支持基于 Intel 的 Linux 集群、发布了可以运行在主机上的 DB2 UDB for Linux和可以运行在嵌入式Linux上的 DB2 Everyplace。
2000:DB2 开始支持 NUMA-Q 平台,可以运行在该平台上的类 UNIX 操作系统 DYNIX/ptx 上。
2000:DB2 通过 Net.Search Extender 提供了 in-memory 高速文本检索功能。
2000:IBM 启动了数据库管理工具业务,起初着重于为主机上的 IMS 和 DB2 提供高效管理工具,最终这项业务扩展到 UNIX、Linux 和 Windows 平台。Informix 数据库产品也在支持之列。
2000:IBM开始通过在DB2中集成 DataJoiner 来提供数据联邦功能
2000:IBM 发布了用于管理数字资产的Content Manager。IBM 数字图书馆和EDMSuite 产品现在都被包含在一个单一的架构中来提供多媒体资产管理和企业内容管理。荷兰国家图书馆、梵蒂冈图书馆都是最早的用户。
2000:DB2 在主机上销售出了它的第10,000个许可证。
2001:IBM 以 10 亿美金收购了 Informix 的数据库业务,这次收购扩大了 IBM 的分布式数据库业务。
2001:DB2 OLAP Server中增添了数据挖掘功能。
2001:IBM 发布了第一个能够支持多种平台的 DB2 工具。
2001:DB2 提供了基于 SOAP 的 Web 服务的支持。DB2 XML Extender和存储过程可以使DB2成为 Web 服务的提供者。
2001:IBM 科学家在纳米碳管晶体管技术领域取得突破。IBM 用纳米碳管制造出了世界上第一批纳米晶体管--由直径 10 个原子大小的碳原子组成的小圆柱结构,比当今基于硅的晶体管小 500 倍。
2001:DB2 拓宽了其数据联邦的能力,可以对WebSphere MQ 消息队列和生命科学领域特定格式的文件提供支持。
2001:IBM 发布了 DB2 UDB for OS/390.
2002:IBM 发布了 Xperanto,这是一个基于标准的信息集成中间件的演示版,可以用来优化对分散数据源的存取。这个演示版本使用了XML、Xquery、Web 服务、数据联邦和全文检索等先进技术。
2002:IBM 宣布计划收购 Rational Software Corp,从而使得 IBM 软件能够支持从设计、开发、部署到管理和维护的完整过程。
2002:DB2 通过基于 SOAP 的 Web 服务扩展了数据联邦的能力。并可以作为 Web 服务的使用者出现在 Web 服务架构中。
2002:DB2 OLAP Server中添加了hybrid(多维和关系)分析能力。
2002:作为 IBM 自主运算策略的一部分,SMART(自我管理和资源调节)技术在 DB2 UDB V8.1 中首次正式应用。
2002:IBM 并购 Tarian Sotware,从而加强了Content Manager 中记录管理组件的功能。
2003 (to May 15):IBM 将数据管理产品统一更名为信息管理产品,旨在改变很多用户对于 DB2 家族产品只能完成单一的数据管理的印象,强调了 DB2 家族在信息的处理与集成方面的能力。
2003 (to May 15):DB2 发布了 DB2 Information Integrator(该产品由以前的 DB2 DataJoiner和 Enterprise Information Portal演化而来),该款软件旨在帮助客户即时访问、集成、管理和分析存储于企业内外任何平台上的各类信息。
2006:IBM发布DB2 9,将数据库领域带入XML时代。IT建设业已进入SOA(Service-Oriented Architecture)时代。实现SOA,其核心难点是顺畅解决不同应用间的数据交换问题。XML以其可扩展性、 与平台无关性和层次结构等特性,成为构建SOA时不同应用间进行数据交换的主流语言。而如何存储和管理几何量级的XML数据、直接支持原生XML文档成为SOA构建效率和质量的关键。在这这种情况下,IBM推出了全面支持Original XML的DB2 9,使XML数据的存储问题迎刃而解,开创了一个新的XML 数据库时代。同年1月30日,IBM发布了一个DB2免费版本DB2Express-C。这是对最近公布的Oracle免费版本10g以及微软免费版本SQLServer的回应。和Oracle以及微软的免费版本不同,Express-C,它不限制用户数量以及数据库的大小。DB2 Express-C8.2版本和9.1版本对运行服务器的硬件有所限制,而DB2 Express-C9.5却可以在Windows以及Linux的任何大小的机器上运行,只是数据库引擎最多只能使用2个CPU内核和2GB的内存。2007年IBM提供了一个为期一年的服务支持产品叫做Fixed TermLicense(FTL),对每一台服务器只要你每年付3000美元,将会得到Express-C一年的电话技术支持。购买FTL后DB2Express-C引擎可以被允许用于高达4核的CPU以及4GB的内存。没有购买FTL的DB2Express-C用户也可以在免费公开论坛上得到IBM技术人员和其他DB2用户的技术支持和帮助。
DB2版本
    DB2发行有很多版本,每个版本都包含低一级版本的所有功能和特性,并添加了新的特性和功能。Linux、UNIX 和 Windows(luw)平台上的代码有大约 90% 是相同的,在每种操作系统上有 10% 的专用代码,用于使数据库与底层操作系统紧密地集成。例如,使用 AIX 上的 Huge Pages 或 Windows 上的 NTFS 文件系统。
DB2 系列中还有两个成员没有显示在下图中:DB2 for System i 和 DB2 for System z。这些数据库基于不同的代码基础,专门针对运行它们的底层操作系统和硬件架构做了调整,它们的 SQL 可移植度达到 95%,这使它们成为 DB2 系列的成员。例如,DB2 for System i 构建在 i5/OS 操作系统中。DB2 for z/OS 利用了 System z 服务器上的硬件耦合器(Coupling Facility),因此与使用 “shared-nothing” 方式的 DB2 luw 相反,它采用 “shared-everything” 的方式。


DB2 的各个版本从低到高依次为:
         DB2 Everyplace
         DB2 Personal Edition
         DB2 Express
         DB2 Express Edition
         DB2 WorkGroup
         DB2 Enterprise
         DB2 Data WareHouse Enterprise

      每个版本都包含前一个版本的所有特性和功能,并添加了新特性和新功能。
DB2 在 AIX、Windows 和 UNIX 、Linux 平台上的代码大约有90%是相同的,另有10%的专用代码,用于使数据库和底层操作系统紧密集成。