虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > MongoDB数据库 > 数据库发展简史和DB2简介

数据库发展简史和DB2简介
类别:MongoDB数据库   作者:码皇   来源:<a href="http://blog.csdn.net/zhaodafu1122" target="_blank" rel="nofollo   点击:

数据库发展简史和DB2简介。数据库的产生和发展的根本目的是方便数据的管理和应用程序的开发。最开始的数据管理形式是文件,这种管理方式的不足是数据分散,不好集中管理,不方便数据共享。

1 数据库发展简史和DB2简介

数据库的产生和发展的根本目的是方便数据的管理和应用程序的开发。

最开始的数据管理形式是文件,这种管理方式的不足是数据分散,不好集中管理,不方便数据共享。

之后,1961年美国通用电气公司(General Electric)开发了第一个DBMS------“Integrated DataStore”(简称IDS)这是一个网状数据库管理系统(数据模型用的是网状模型)。IDS只能在GE主机(就是通用电气公司生产的主机)上运行。IDS的数据库只对应物理存储上的一个文件,而且要通过手工编码才能生成数据表。这些是IDS的缺点。综上,要注意世界上第一个数据库是网状模型的,不是关系型的。制作出第一个数据库的是通用电气公司,而不是IBM公司。

和网状数据库并行发展的是层次型数据库。1968年IBM的“Information Managerment System“(简称IMS)就是一款著名的层次数据库。IMS并不是第一个层次数据库,但是非常著名。而对于IBM公司而言,IMS是IBM公司开发的首个DBMS。可见,IBM推出的第一款DBMS并不是关系型的(更不是DB2),而是层次型的IMS。

网状数据库和层次数据库的时代,已经解决了用文件形式管理数据的时候数据分散,不好集中管理,不方便共享的缺点。(网状数据库比层次数据库更流行一些)。但是,网状和层次数据库也有它们的缺点——数据的独立性不大,抽象级别太低。具体的体现就是数据和底层物理存储方式的绑定程度太大,当存取数据的时候,要知道具体的物理存储结构和存储路径,这样的数据库当数据量加大的时候会越来越难以处理,而且对于应用开发也非常不方便。

为了解决上述的问题,产生了关系型的数据库。关系型数据库的产生是以坚实的数学成果为背景的(关系代数)。1970年IBM的codd发表了著名的论文《A Relational Model of Data for Large Shared Data Bank》拉开了关系数据库的序幕。后来,IBM依据这篇论文以及相关的关系代数理论逐步完善最终形成了SQL语言。

1979年,oracle公司推出了第一款关系型数据库。可见,首个推出关系型数据库的公司不是IBM,第一个关系型数据库也不是IBM的DB2.

后来有人觉得关系型数据库在处理复杂的数据结构时非常不方便,于是提出了面向对象的数据库,简称OO数据库(Object-Oriented)

之后又有了混合型数据库,这种数据库的代表是IBM的DB2 V9(2006年出品)。之所以称之为混合型数据库是因为这个数据库同时支持传统的SQL数据(就是一般的整形,字符型等数据)和XML文档型数据。这种数据库可以让用户同时处理传统的关系型数据和XML文档型数据。要注意DB2 V9对于传统的关系型数据和XML文档型数据在底层还是分开存储的。但是底层存储方式对于上层的应用是不透明的。就是说应用程序不需要关注对传统关系型数据和XML数据在存取方式上的区分,这些底层上对这两种数据类型(传统关系型数据和XML文档数据)的存储配置处理工作是由DB2自动完成的。正因如此DB2 V9是DB2众多版本中的里程碑。

数据库大事件:

1969 IBM的IMS诞生,这是IBM的第一代数据库,所以也称IMS为DB1(之后的关系型的是该公司的第二代数据库,所以统称DB2了)

1970 IBM的codd发表了论文《A Relational Model of Data forLarge Data Bank》拉开了关系型数据库的序幕

1973 IBM成立System R项目,该项目旨在开发IBM的首个关系型数据库,并第一次部署了SQL,首次部署了事务处理。System R为IBM的第二代数据库即DB2的产生打下了基础。

1974 IBM 的Don Chamberlin和Ray Boyce发表了《A Structured English Query Language》这成为了日后SQL标准的基础。

1975 IBM的Don Chamberlin 和 Morton Astrahan 的论文《Implementation of Structured English Query Language》阐述了在System R中的SQL实现情况。

1976 IBM System R团队出版了论文《System R: Relational Approach to Database Managemen》这篇文章阐释了System R这个关系数据库的原型。之后IBM 的 Jim Gray发表《Granularity of Locks and Degreesof Consistency in a shared database》给出了数据库事物和结合度的概念,并为数据库并发理论打下了基础。

1979 IBM的Pat Selinger 在论文《Access Path Selection in aRelational Database Management System》中阐释了行业中的第一个关系查询优化器,这正是DB2数据库优化器的雏形。

1979 Oracle公司推出了世界首个关系型数据库的成品。

1980 在一家早期的S-100/CP/M公司Cromemco工作的Roger Sippl和Laura King开发了一个基于ISAM技术的小型关系数据库,作为一个报表记录器软件的一部分。1980年二人离开Cromemco去从事关系数据库系统的开发。1981年二人发布了他们的首个成品——Informix(“Information on UNIX“的缩写)。(索引顺序存取方法(ISAM,Indexed Sequential Access Method)最初是IBM公司发展起来的一个文件系统,可以连续地(按照他们进入的顺序)或者任意地(根据索引)记录任何访问。每个索引定义了一次不同排列的记录。)

1982 IBM为VSE/VM发布了SQL/DS。SQL/DS是IBM的第一个商业用的关系型数据库产品(带有System R的SQL接口)SQL/DS就是后来的DB2的前身。

1984 sybase(system database的缩写)公司成立。1987年sybase推出了本公司首个关系型数据库Sybase SQL Server 1.0 注意:Sybase公司是第一个提出并在自己的产品中是实现了客户机/服务机结构形式的数据库系统的公司。

1988年微软公司与Sybase 公司联手开发SQL Server。最初的几年,微软的SQL Server和Sybase公司的基本是完全一样的。直到SQL Server 2005以后,微软的SQL Server有了重大改进,从此和Sybase的产品有了显著的区别。

DB2大事件:

1983 IBM发布了Database2(简称DB2) forMVS。这标志这DB2的诞生。之所以称为DB2,是应为IBM之前推出早期的数据库产品(就是所谓的DB1——“IMS“)注意:DB1是层次型的数据库,不是关系型的。

1986 System/38(这是一种大型机) V7发布,首次配置了查询优化器,能对存取计划进行优化。这就是现在日后DB2强大的优化器的雏形。此时的DB2还只能在大型机上运行。

1987 IBM推出OS/2 V1.0扩展版(OS/2是一种IBM推出的适合个人机的操作系统),这是OS/2,UNIX,Windows上的DB2的先驱。从此DB2不在局限于大型机,开始对小型机有了支持。

1995 DB2开始支持Windows ,UNIX等多个平台,这是标志性的一年。

1996 DB2更名为DB2 UDB(UDB是“UniversalDatabase”的缩写,意思是“通用数据库”)

1999 DB2完成了对LINUX的支持。

2000 DB2 完成了对XML扩展的支持。

2001 IBM收购informix数据库

2002基于自我调节技术(SMART)的DB2 V8.1出现。

2006 DB2 V9出现,这是划时代的一个版本。是首个混合型数据库(有传统的关系型数据,也有XML层次型数据)。

DB2产品的组件和功能:

DB2 Engine——这是核心组件,提供数据库的核心功能,保障数据库的性能。

DB2客户机——简化,方便了应用程序连接到DB2时所需的基础设施的部署。

DB2客户机又可以细分为几类:

DB2 V9 Runtime Client(DB2 RTCL)——提供基本核心的客户端功能。

DB2 V9 Client——包括了DB2 RTCL的全部功能,额外提供了图形化工具进行客户机-服务器配置,数据库管理和应用程序开发功能。即提供了用于数据库管理配置和应用程序开发的图形化工具。

JAVA Common Client(JCC)——提供DB2数据服务器的JDBC和SQLJ应用程序访问。(SQLJ是一个与Java编程语言紧密集成的嵌入式SQL的版本,这里"嵌入式SQL"是用来在其宿主通用编程语言如C、C++、Java、Ada和COBOL)中调用SQL语句。 JDBC(JavaData Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。)

DB2Client V9 Lite——DB2 V9中新增的一种客户机。功能和JCC类似。只不过DB2 Client V9 Lite不是提供针对JAVA的数据库连接支持,而是提供用于CLI(命令行)/ODBC应用程序的数据库连接支持。(开放数据库互连(ODBC)是Microsoft提出的数据库访问接口标准。开放数据库互连定义了访问数据库API的一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言)

Communication Support(通讯支持)——提供通过多种网络协议对数据库进行存取的通道。

DB2 Relational ConnectDB2 Data Joiner——增强了DB2的跨数据库供应商的分布式数据存取能力。允许把存在于不同的数据库供应商提供的不同DBMS中的数据映像到DB2上访问。

DB2 Connect——允许小型机开放平台连接到中型机、大型机,有利于分布式的实现。

DB2 Extender——使得DB2应用程序超越传统的数据类型。也可以为底层数据库服务提供额外的功能。如XML Extender(对XML型数据提供支持)、Net Search Extender(可以提高检索数据时数据库的性能)等。DB2 Extender是一个可选的组件。

相关热词搜索: