擦亮自己的眼睛去看SQLServer之历史渊源

       在这个擦亮自己的眼睛去看SQLServer的系列中的第二篇中提过要写历史渊源,这里的历史主要描述的是数据库本身的历史与SQLServer本身关系不大。说实话这部分的内容要说清楚个人感觉难度比较大比较抽象。个人能力有限,如果文中有什么不合适的地方或者有错误的地方,望大家指出。可以这么说数据库的诞生和发展给计算机信息管理带来了是一场巨大的革命,40年来数据库领域获得了三次计算机图灵奖更加充分地说明了数据库是一个充满活力和创新精神的领域。

       跟研究任何一门技术一样,先弄懂以下几个问题才能算是对这门技术有所了解吧:1、数据库技术主要解决什么问题 2、认识认识数据库技术发展中的大牛们 3、数据库技术经历哪些阶段 。以下就一一来聊聊这几个问题。

       一、数据库技术主要解决什么问题

       数据库是基于计算机的,目前计算机已经深入到我们生活任何一个角落。不过归纳起来计算机主要解决两个问题:计算与数据处理。计算机诞生于20世纪40年代,最初仅仅用于科学计算不能用于数据处理。当时计算机只能处理数字,不能处理字母与符号而字母与符号却是数据处理中的主要处理对象。还有当时确实也没有数据处理所需要的大容量存储器。针对这两个问题,50年代出现了字符发生器以及成功将高速磁带机用于计算机存储。解决了这两个问题为计算机能进行数据处理起了决定性作用。后来因为磁带机不够快,IBM公司Remington Rand成功推出磁盘系统。这些硬件推动了计算机数据处理的发展。

      从以上看出,数据库技术是属于数据处理技术。还有类似的解决方案就是文件管理的形式。不少人有过这样的疑问文件完全也可以进行数据处理,为什么要出现数据库技术呢?文件管理中,数据文件和应用程序一一对应,会造成数据冗余,数据不一致性和数据依赖。这样给程序编写数据维护带来很多问题。后来出现过文件管理系统作为应用程序与数据文件的接口,这些应用程序只需要与文件管理系统交互就可以带来了一些灵活性。不过这种方式还是解决不数据冗余,数据库一致性、处理效率低的问题,特别是在较大规模的系统中更加明显。针对这些问题,后来人们做了很多探索解决文件管理系统分散管理的缺点,推出能对数据集中控制统一管理的技术——数据库技术。可以通过以下的图看出这里描述的三种方式的区别。

       综上所述,当时的数据库技术主要解决文件管理系统在数据处理时出现的数据冗余、数据不一致性、处理效率低、分散管理的问题。后面随着数据库技术的发展解决的问题就更多了。

       二、认识认识数据库技术发展中的大牛们

       大牛总是让人仰慕的,他们对数据库技术的发展起了很大的作用,值得大家尊重。牛人很多,这里仅仅介绍“教父”级人物让大家认识认识。相信很多人都听过他们的名字。他们都是图灵奖的得主:Charles W.Bachman(查理士·巴赫曼)、EdgarF.Codd(埃德加·考特)、James Gray(詹姆士·格雷)。下面一一介绍下:

       1、Charles W.Bachman(查理士·巴赫曼)

        查理士·巴赫曼19241211日生于堪萨斯州的曼哈顿,现86岁。1948年在密歇根州立大学取得工程学士学位,1950年在宾夕法尼亚大学取得硕土学位。20世纪 50年代在Dow化工公司工作,1961—1970年在通用电气公司任程序设计部门经理,1970—1981年在Honeywell公司任总工程师,同时 兼任Cullinet软件公司的副总裁和产品经理。1973年获得图灵奖。

       网状数据库之父,DBTG之父。两项重大贡献:1、在通用电气公司任程序设计部门经理期间,主持设计与开发了最早的网状数据库管理系统IDS IDS1964年推出后,成为最受欢迎的数据库产品之一,而且它的设计思想和实现技术被后来的许多数据库产品所仿效。2、巴赫曼积极推动与促成了数据库标准的制定,那就是美国数据系统语言委员会CODASYL下属的数据库任务组DBTG提出的网状数据库模型以及数据定义和数据操纵语言即DDL DML的规范说明,于1971年推出了第一个正式报告报告——DBTG,成为数据库历史上具有里程碑意义的文献。这个首次提出数据库三层体系结构,明确DBA的概念,规定DBA的作用与地位。在数据库的文档资料中,有一种描述网状数据库模型的数据结构图,这种图解技术是巴赫曼发明的,通常被称为“巴赫曼图”(Bachman diagram)。此外,在担任ISO/TC 97/SC—16主席时,巴赫曼还主持制定了著名的“开放系统互连”标准,即OSI(Open System Interconection)。OSI对计算机、终端设备、人员、进程或网络之间的数据交换提供了一个标准规程,实现OSI对系统之间达到彼此互相开放有重要意义。巴赫曼也是建立在波士顿的计算机博物馆的创始人之 一。

       有时候在想,我们的很多课本上提到了三层体系结构、数据库管理系统概念,DDL,DML等等这些概念时, 都没提到这些概念都是查理士·巴赫曼以及它的团队。是不是有点说不过去。

       详细介绍见:http://en.wikipedia.org/wiki/Charles_W._Bachman

       2、EdgarF.Codd(埃德加·考特)

         埃 德加·弗兰克·科德(Edgar Frank Codd,1923-2003)。1 9 2 3  年8 月1 9 日生于英格兰中部的港口城市波特兰。第二次世界大战爆发以后,年轻的考特应征入伍在皇家空军服役,1 9 4 2 至1 9 4 5 年期间任机长,参与了许多重大空战,为反法西斯战争立下了汗马功劳。二战结束以后,考特上牛津大学学习数学,于1 9 4 8 年取得学士学位以后到美国谋求发展。他先后在美国和加拿大工作,参加了I B M 第一台科学计算机7 0 1 以及第一台大型晶体管计算机 S T R E T C H 的逻辑设计,主持了第一个有多道程序设计能力的操作系统的开发。他自觉硬件知识缺乏,于是在6 0 年代初,到密歇根大学进修计算机与通信专业( 当时他已年近4 0 ) ,并于1 9 6 3 年获得硕士学位, 1 9 6 5 年取得博士学位。这使他的理论基础更加扎实,专业知识更加丰富。加上他在此之前十几年实践经验的积累,终于在1 9 7 0 年迸发出智慧的闪光,为数据库技术开辟了一个新时代。1 9 7 0 年以后,考特继续致力于完善与发展关系理论。1 9 7 2 年,他提出了关系代数和关系演算的概念, 定义了关系的并、交、投影、选择、连接等各种基本运算, 为日后成为标准的结构化查询语言(S Q L )奠定了基础。

 

       被誉为“关系数据库之父”,并因为在数据库管理系统的理论和实践方面的杰出贡献 于1981年获图灵奖。1970年,科德发表题为“大型共享数据库的关系模型”的论文,文中首次提出了数据库的关系模型。由于关系模型简单明了、具有坚实 的数学理论基础,所以一经推出就受到了学术界和产业界的高度重视和广泛响应,并很快成为数据库市场的主流。20世纪80年代以来,计算机厂商推出的数据库 管理系统几乎都支持关系模型,数据库领域当前的研究工作大都以关系模型为基础。

       这位人物只要看过几乎任何一本数据库书,基本都提到了他。主要原因是现在几乎所有主流数据库都基于他提出的关系理论。

       著名论文:<<大型共享数据库的关系模型>>

       详细介绍见:http://en.wikipedia.org/wiki/Edgar_F._Codd

       3、James Gray(詹姆士·格雷)

        詹姆士·格雷生于1944年,在著名的加州大学伯克利分校计算机科学系获得博士学位。其博士论文是有关优先文法语法分析理论的。学成以后,他先后在贝尔实验室、IBM、 Tandem、DEC、MS等公司工作。在IBM期间,他参与和主持过IMS、System R、SQL/DS、DB2等项目的开发,其中除SystemR仅作为研究原型外,其他几个都成为IBM在数据库市场上有影响力的产品。在MS期间,领衔微软超级网络数据库TerraServeres项目以及SQLServer内核设计者。他曾参与建设了世界最大的天文学数据库Sloan Digital SkyServer,其中所研究的星系从最初的100万达到了如今的2亿个,他参与设计的“世界视野望远镜”(World-Wide Telescope)把天文学家的数据库连接为一个整体。James Gray“开创性的数据库研究”为自动提款机、机票网上预定系统和google earth的诞生奠定了基础。于在1998年获得图灵奖。2007年1月28日,在海上失踪。

       被誉为“SQL之父”。格雷进入数据库领域时,关系数据库的基本理论已经成熟,但各大公司在关系数据库管理系统(RDBMS)的实现和产品开发中,都遇到了一系列技术问题,主要是在数据库的规模愈来愈大,数据库的结构愈来愈复杂,又有多用户共享数据库的情况下,如何保障数据的完整性(Integrity)、安全性(Security)、并行性(Concurrency),以及一旦出现故障后,数据库如何实现从故障中恢复 (Recovery)。这些问题如果不能圆满解决,无论哪个公司的数据库产品都无法进入实用,最终不能被用户所接受。正是在解决这些重大的技术问题,使DBMS成熟并顺利进入市场的过程中,格雷以他的聪明才智发挥了十分关键的作用。

       上述及其他各种方法可总称为"事务处理技术"。格雷在事务处理技术上的创造性思维和开拓性工作,使他成为该技术领域公认的权威。他的研究成果反映在专著《Transaction Processing: Conceptsand Techniques》。事务处理技术虽然诞生于数据库研究,但对于分布式系统,C/S结构中的数据管理与通信,对于容错和高可靠性系统,同样具有重要的意义。另一部著作是《The Benchmark Handlook: for Database and Transaction Processing Systems》。此外,他还是联机分析处理技术(OLAP)的奠基人,他提出了Data Cube等重要概念。近十年来(而且可能一直延续到未来十年),他一直是数据库,数据仓库和数据挖掘等领域当之无愧的领军人物。

       这位大师算是离我们比较近的,看看上面的介绍就会发现他提出的事务处理技术在整个关系型数据库中起的作用是非同小可。 还有他于1987年提出的5分钟法则对我们做缓存起了很重要的指导作用。 还创办了排序的新赛事PennySort,用来衡量计算机的性价比。1999年提出了未来信息技术领域需要解决的十二个问题,意义深远。

       详细介绍见:http://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)

       五分钟法则:http://queue.acm.org/detail.cfm?id=1413264

       PennySort论文:/Files/yueyue_jwfm/PennySort.pdf

       十二个问题: /Files/yueyue_jwfm/十几信息技术的研究目标.pdf

       三、数据库技术经历哪些阶段

 1、层次数据库和网状数据库

       其主要特点是支持三级模式结构;用指针来表示数据之间的联系;数据定义语言(Data Definaition LanguageDDL)和数据操纵语言(Data Manipulation LanguageDML)相对独立;数据库采用过程性(导航式)语言,用户在操作数据库时不但说明要做什么,还要说明怎么做。例如,在查找语句中不但要说明查找的对象,而且要规定存取路径。这和现在被广泛使用的非过程性语言SQL是不同的。网状数据库代表:IDS,1961美国通用电气公司。层次数据库代表:IMS,1968年IBM为阿波罗11号飞船顺利登月提供重要保障。

 2、关系数据库

       关系数据库有严格的数学理论作为基础,概念清晰,易于使用。1970年,美国IBM公司San Jose研究实验室研究员E.F.Codd提出了关系数据库模型,奠定了关系数据库理论的基础。E.F.Codd也因此获得了1981年的计算机图灵奖。1974年, San Jose实验室研制成功System R,这是世界上最早的关系数据库管理系统(RDBMS)。1980年后,众多RDBMS产品相继推出,包括OracleInfomixSybase等。1990年后,RDBMS不断发展,能够支持分布式数据库、开放环境下异构数据库互连,OLTPOn-Line Transaction Processing)联机事务处理和OLAPOn-Line Analytical Processing)联机分析处理。关系数据库代表:Oracle、DB2、SQLServer、MySQL、SyBase、InFormix等。

 3、后关系数据库

       关系数据库在数据模型、性能、扩展伸缩性上存在问题。由于出现了一些后关系数据库的技术,比如面向对象数据库,基于扩展的关系数据库模型或者面向对象数据库模型,目前,该技术尚未完全成熟。但是它支持包括数据、对象的管理,能够很好地和面向对象设计技术相融合。因此,许多商品化的关系数据库管理系统也都进行了扩充,增加了面向对象特性,发展成ORDBMS。还有这两年很热的结构化数据库NOSQL,它打破了长久以来关系型数据库与ACID理论大一统的局面。NoSQL 数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。

        今天分析就到此结束,文中如有描述不当的地方,欢迎指出。共同进步才是硬道理。

posted @ 2011-08-28 15:58  小军人  阅读(2792)  评论(10编辑  收藏  举报