科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 5669 次
  • 编辑次数: 1 次 历史版本
  • 更新时间: 2009-06-09
明天
明天
发短消息
相关词条
戴夫·海厄特
戴夫·海厄特
最佳编程语录大全
最佳编程语录大全
程序员笑话大全
程序员笑话大全
下一代程序员
下一代程序员
女程序员
女程序员
彼得·诺维格
彼得·诺维格
Russ Cox
Russ Cox
15名程序员界性感的奇葩
15名程序员界性感的奇葩
Mike Kruzeniski
Mike Kruzeniski
Jeff Fong
Jeff Fong
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

唐·钱伯林 发表评论(0) 编辑词条

唐·钱伯林(Don Chamberlin),是IBM Fellow,ACM及IEEE 特别会员。他是SQL关系数据库语言的发明人之一,也是XQuery语言的设计基础Quilt语言的发明人之一。Don拥有加利福尼亚大学博士学位。他目前在IBM Almaden 研究中心工作,在过去几年中,他代表IBM参与W3C XML Query工作组的工作。他是两本关于DB2书籍的作者,W3C XPath及XQuery语言规范的编辑。

(图)Don ChamberlinDon Chamberlin

Donald D. Chamberlin was born in San Jose, in the USA. After attending Campbell High School he studied engineering at Harvey Mudd College from where he holds a B.S. After graduating he went to Stanford University on an National Science Foundation grant where he studied electrical engineering and minored in computer science. Chamberlin holds a M.Sc and a PhD degree in electrical engineering from Stanford University. After graduating Chamberlin went to work for IBM Research at the Yorktown Heights research facility in New York where he had previously had a summer internship.

He is currently an IBM Fellow at the Almaden Research Center. Recently he has contributed significantly to the XQuery language specification, now a W3C Candidate Recommendation.

Chamberlin is also an ACM Fellow, IEEE Fellow and a member of the National Academy of Engineering.

作为 SQL 数据库语言的主要设计者之一,Don Chamberlin 有很高的知名度。他在 IBM 的 Almaden 研究中心工作,专攻数据库语言、数据库系统和文档处理。1994年,他获得 ACM Fellow 荣誉称号。1997年,他当选为 National Academy of Engineering,这也是工程学界的最高荣誉。由于在关系数据库语言方面的出色工作,最近他被评为 IBM Fellow。目前,他在 W3C XML Query 工作组中担当 IBM 的代表,同时也是多个 XQuery 语言工作草案的编辑。

目录

[显示全部]

SQL 之父Don Chamberlin编辑本段回目录

2003年对于Don Chamberlin来说,可以说是收获之年:这一年他获得了 IBM 公司技术方面的最高荣誉 IBM 名士(Fellow)称号;获得了 ACM SIGMOD 颁发的创新奖;获得了母校 Harvey Mudd 学院的杰出校友奖; 特别是,他还获得了《软件研发》英文版《Dr. Dobb'sJournal》颁发的 Dr. Dobb's 程序设计杰出奖 (Excellence in Programming Award),与 Linus Torvalds、James Gosling、Anders Hejlsberg 等一起载入史册。

(图)Don ChamberlinDon Chamberlin

Don Chamberlin 获得这些殊荣当然是无愧的:是他发起了数据查询的两次革命,他是 SQL 语言的创造者之一,也是 XQuery 语言的创造者之一。今天数以百亿美元的数据库市场的形成,与他的贡献是分不开的。

Don Chamberlin 似乎天生与数据库、信息检索有缘:小的时候,家里的一本 100 多磅重的百科全书是他的最爱,在他看来,这大概是数据库的最早形式。作为地地道道的硅谷人,他的本科是在规模很小但是声誉很高的 Harvey Mudd 学院度过的,这个学校至今仍然保持每年从 1600 多名申请者中仅招收 100 多名学生的制度。

在斯坦福大学获得博士学位以后,Chamberlin 加入了位于纽约的 IBM T.J.Watson 研究中心。那里汇聚了当时计算机界的大批精英,主要研究方向是操作系统。Chamberlin 一开始从事的项目是 System A,一年后,项目最终失败。当时担任项目经理的 Leonard Liu(后来曾担任 Cadence 公司首席运营官)很有远见地预见到数据库的美好前景,他转变了整个小组的方向。Chamberlin 从此如鱼得水,在数据库软件和查询语言方面进行了大量研究。他成了小组中最好的网状数据库 CODASYL 专家,整日徜徉在复杂指针和集合选择规则的海洋中。与此同时,20 世纪 60 年代晚期,在美国西海岸 IBM 圣何塞研究中心(Almaden研究中心的前身)工作的数学家 Edgar Codd 独自创造了关系数据库的概念。但是,由于这种思想对 IBM 本身已有产品造成了威胁,公司内部最初是持压制态度的。当然这也与 Codd 采用了太多数学方法(以谓词演算为基础),不容易理解有关。在 Codd 里程碑性的论文"A Relational Model of Datafor Large Shared Data Banks"以及许多重要的后续论文公开发表之后,IBM 研究中心从事数据库的研究人员中,还有不少人以怪异思想视之,或者半信半疑,或者完全摸不着头脑的,甚至有人做出如此轻蔑的评论:"这东西过十年再说吧。"

一天, Codd 到 Watson 研究中心访问, 在讨论会上, 他几乎用一行语句就完成了类似于"寻找比他的经理挣得还多的雇员"这样的查询。"我的天!"Chamberlin 知道,这个查询用 CODASYL 来表示的话,可能要超过 5 页纸。这种强大的功能使 Chamberlin 醍醐灌顶,幡然醒悟,从此转向了关系数据库。

在其后的研究过程中,富于程序员气质的 Chamberlin 相信,Codd 提出的关系代数和关系演算过于数学化,无法成为广大程序员和使用者的编程工具,这个问题不解决,关系数据库也就无法普及。因此他和刚刚加盟的 Ray Boyce 设想出一种操纵值集合的关系表达式语言-- SQUARE(Specifying Queries as Relational Expressions)。

1973 年,IBM 在外部竞争压力下,开始加强在关系数据库方面的投入。Chamberlin 和 Boyce 都被调到圣何塞,加入新成立的项目 System R。当时这个项目阵容十分豪华,有 Jim Gray ,Pat Selinger,和 Don Haderle 等数位后来的数据库界大腕。

(图)Don ChamberlinDon Chamberlin

System R 项目分成研究高层的 RDS(关系数据系统)和研究底层的 RSS(研究存储系统)两个小组。Chamberlin 是 RDS 组的经理。由于 SQUARE 使用的一些符号键盘不支持,影响了易用性,Chamberlin 和 Boyce 决心进行修改。他们选择了自然语言作为方向,其结果就是"结构化英语查询语言(Structured English Query Language,SEQUEL)"的诞生。当然,后来因为 SEQUEL 这个名字英国已经被一家飞机制造公司注册了商标,最后不得不改称 SQL。有趣的是,他们的野心很大,想借此实现非程序员也就是普通大众也能广泛应用计算机的梦想(当然,那时候还没有图形界面)。因此,项目组找来了一位语言学家,她跑到圣何塞州立大学,找了许多不懂计算机的大学生,教授他们 SEQUEL 和 SQUARE 两种语言,像白居易当年对老妪吟诗那样,寻找改进的方案。他们的梦想当然并没有实现,然而,SQL 的简洁、直观还是使它迅速成为了世界标准(1986 年ANSI/ISO),30 年后仍然占据主流地位。而经过了 1989、1992、1999 和 2003 年四次修订,当初仅 20 多页的论文就能说完的 SQL,如今已经发展为篇幅达到数千页的国际标准。

1988 年,由于"革命性地改变了数据库系统行业的面貌",System R 和伯克利分校开发的竞争系统 INGRES 共同获得了 ACM 颁发的"软件系统奖",Chamberlin 是 9 位获奖者之一。

此后,Chamberlin 曾一度顺应个人电脑的大潮,对桌面出版发生了兴趣。他领导了一个小组开发了一种文档编辑/格式化程序,名为 Quill。其中文档的逻辑视图是用 SGML 保存的。这是 Chamberlin 第一次接触标记语言。

20 世纪 90 年代,Chamberlin 再次返回数据库世界,开始从事对象--关系数据库的开发,其成果在 DB2 中得到了体现。其间他曾撰写过一本专门讲 DB2 的书《A Complete Guide to DB2 Universal Database》(Morgan Kaufmann,1998)。在网络时代到来,XML 日益成为标准数据交换格式的时候,Don 看到了自己两方面研究经验--数据库查询语言和文档标记语言相结合的最佳时机。他成为 IBM 在 W3C XML Query 工作组的代表,并与工作组中两位同事 Jonathan Robie 和 Dana Florescu 一起开发了 Quilt 语言,这构成了 XQuery 语言的基础。而后者经过多年快速发展,即将成为 W3C 的候选标准。对于 Chamberlin 来说,XQuery 语言标志着自己"整个职业生涯中的又一个高峰。"他深信 Web 数据技术的发展将带来第二次数据库革命。

Chamberlin 的学术成就,使他 1994 年当选为 ACM 院士,1997 年当选为美国工程院院士。他对于教育一直很有兴趣,多年来一直担任 ACM 国际大专程序设计竞赛(ICPC)的出题人和裁判。

(图)Don ChamberlinDon Chamberlin

附:Dr.Dobb's程序设计杰出奖

从 1991 年起,每年《Dr. Dobb's Journal》都会将荣誉给予那些对软件开发的发展做出了重要贡献的人。这就是著名的 Dr. Dobb's 程序设计杰出奖 (Excellence in Programming Award)。历年的获奖者包括:

1991 年:Alexander Stepanov,C++ 标准模板库(Standard Template Library,STL)的开发者。
1992 年:Linus Torvalds,Linux,操作系统背后的关键力量。
1993 年:Larry Wall,Perl 语言的作者。
1994 年:James Gosling,Java 首席架构师。
1995 年:Ronald Rivest,教授、作者和计算机安全专家,RSA 算法设计者之一,2002 年图灵奖获得者之一。
1996 年:Gary Kildall,操作系统、程序设计语言和用户界面等领域的先驱。
1997 年:Erich Gamma, Richard Helm, John VlissidesRalph Johnson,即 GoF,《Design Patterns: Elements of Reusable Reusable Object-Oriented Software》一书的作者。
1998 年:Guido van Rossum ,Python 之父。
1999 年:Donald Becker,Linux 联网功能开发者,Beowulf 项目的首席研究者。
2000 年:Jon Bentley,计算机科学家,本刊英文版特邀编辑。
2001 年:Anders Hejlsberg,Turbo Pascal 开发者,C# 和.NET 框架架构师。
2002 年:Adele GoldbergDan Ingalls,Smalltalk 和面向对象语言先驱。
2003 年:Don Chamberlin,SQL 语言和 XQuery 语言的开发者。

专家访谈: Don Chamberlin 编辑本段回目录

IBM Fellow 和 SQL 发明者之一 Don Chamberlin 谈论有关 XQuery 的工作。

Q:最近,您因为在数据库语言方面的工作而当之无愧地获得 IBM Fellow 称号,首先请允许我对此表示祝贺。我认为大多数读者都知道您是 SQL 的奠基人之一。那么,您将注意力从关系数据库转移到 XQuery,是一种自然而然的延伸,还是因为您需要作出一些调整呢?

A: 非常感谢!事实上,我在 IBM 的工作主要分为两大块:一个是数据库,还有一个是文档。我有幸能够有机会与 Ted Codd 一起参与了早期的关系数据库方面的工作,后来这些工作导致了 SQL 和 DB2 的诞生。之后,我花了几年的时间编辑和格式化结构化文档,当时凭借的是一种被称作 SGML 的符号,也就是 XML 的前身。在过去的几年当中,万维网已经将各自独立的文档和数据库融合到一起。因此我觉得,我在 XQuery 方面的工作正是我整个职业生涯中不断追求的兴趣的一个再自然不过的高峰。

(图)Don ChamberlinDon Chamberlin

Q:作为 XML Query 工作组的一名成员,您有何感想?

A: 这是一份很棒的工作!工作组大约有 40 名成员,代表着大约 25 家不同的公司。他们有着不同的工作背景,从关系数据库到图书馆学(library science)。这些人有些精于理论,有些则是实用主义者,还有几个是其他查询语言的设计者。我们每周有一次常规的电话会议,每 6 个星期举行一次碰面会议,而且,每个月我们都要互相发送数百份电子邮件。试想一下,要设计一门复杂的语言,同时要受到一些现有语言的接口的限制,这些设计工作都是在 25 个思维敏捷而又坚持己见的人之间进行,您可以想象得到,我们在工作中会碰到多少有趣的事情,为什么这一过程要花那么长的时间。

Q:那么 XML Query 目前进展如何?人们什么时候可以再次看到一份稳定的规范的诞生呢?

A:您知道,XQuery 被描述为在 Query 工作组 Web 页面上有链接的一套工作草案。这些工作草案提供了对 Query 语言的概览,并描述了这门语言的各个方面,例如数据模型、函数库、静态类型检查规则等等。到目前为止,有两份草案已经进入“Last Call”状态,这意味着公众可以在一段有限的时期内针对该文档提交评论和提出一些相关的问题。我认为在 2003 年结束之前,XQuery 规范的其余部分也进入“Last Call”状态是比较有把握的。

万维网联盟(W3C)在创建一个标准时都会采用一种非常结构化的过程,W3C 将这种标准称作建议(Recommendation)。在解决了 Last Call 期间提出的所有问题之后,XQuery 就符合了发展为候选建议(Candidate Recommendation)的条件。之后,如果至少有两套可互操作的实现通过了论证,那么它就进一步成为推荐建议(Proposed Recommendation)。W3C 理事会最后决定是否采用新的建议。上述过程通常需要花费几个月的时间。由于 XQuery 是一种复杂的语言,而且与其他一些 W3C 建议相互之间有着很大的影响,因此它获得批准的过程比起通常情况来要花更长的时间。我们正在尽量加快进程,以便能够与其他的 W3C 工作组保持步调一致,这些工作组包括  Schema 和 XSLT。

Q:听起来好像还要耽搁一些时间?

A: 不是这样,我上面所说的并不意味着实现者在实现 XQuery 之前将等待(或者必须等待)最终的 W3C 建议的出炉。目前,该规范的某些部分已经相当可靠了。这门语言的一些早期实现已经出现,在我提到过的 XML Query Web页面上,已经提供了其中某些实现的链接。在该规范完全确定下来之前实现这门语言的供应商要担当一定的风险,当工作草案完成之时他们可能需要作出一些修改。

Q: 假设大多数读者都熟悉 SQL 和关系数据模型,那么他们有望看到怎样的为了容纳 XML 数据而作出的语言修改呢?

A: 关系数据模型涉及结构化商业数据领域,其中的信息往往都是规则的、同构的。这就允许将“元数据(metadata)”,即描述数据的数据分解出来,按照单独的类别进行存储。另一方面,XML 涉及出版(publishing)领域,其中每一个文档都有不同的结构,每一块数据都必须是自描述的。在 XML 中,元数据以标记的形式分布在整个文档中。这意味着 XQuery 的操作符必须非常的灵活,因为它们不能确切地知道它们会碰到什么。例如,在 SQL 中,表达式 “salary + bonus”总是将一个 salary 值加上一个 bonus 值。但是在 XQuery 中,同样的表达式可应用于这样的一个 XML 元素:它具有值为 0 的 salary,或者有多个 bonus。 为这样非常灵活和动态的环境设计一门语言是一个很大的挑战。

关系数据和 XML 数据之间的另一个重要的不同之处在于,XML 数据有其固有的排列次序,而且这种排列次序与数据的值无关。同样,因为 XML 作为一种文档标记语言有其自己的根,一个文档的内容都具有自然顺序。排序是 XML 中的基本概念,对 XQuery 的许多操作符都有影响。

Q:XQuery 与正在 ANSI 中进行的工作有哪些不同?

(图)Don Chamberlin(右)Don Chamberlin(右)

A: SQL 是一种关系查询语言,它被设计用来对具有行和列的表进行操作。在 ANSI 中的 SQL/XML 工作被设计用来扩展 SQL 以提供某些 XML 相关的特性。例如,这些扩展将允许把 XML 数据存储在一个表的一列中,还将允许以 XML 的格式交付关系查询的结果。但是,事实上这些只不过是添加到一门基础性的关系语言中的一些新特性而已。

另一方面,XQuery 是一门全新的语言,它被设计用来操作 XML 数据。XQuery 不理解任何与行和列相关的事物。它是基于 XML Schema 的类型系统的,这与关系数据模型有很大的区别。XQuery 使用二值(two-valued)逻辑,而不是像 SQL 那样使用三值(three-valued )逻辑。XQuery 的许多操作符是从 XPath 继承而来的,这也使得这些操作符在行为上与 SQL 的操作符有所不同。例如,XQuery 中的“equals”操作符对值序列进行操作,如果左边序列的任何成员与右边序列的任何成员相等,那么该操作将返回“true”。

Q: 我们有望在什么时候能够看到 XQuery 受到 IBM 一些产品,例如 DB2® Universal Database™ 和 DB2 Information Integrator 的支持呢?

A: IBM 已经发布了 alphaWorks® 上的 XML for Tables 。XML for Tables 是 DB2 UDB 上的 XQuery 功能的技术预览。IBM 还计划在将来直接将 XQuery 功能构建到 DB2 UDB 和 DB2 Information Integrator 中。

Q: 大家都喜欢您撰写的 DB2 Universal Database 方面的 书籍。我们是否有望在将来看到你撰写的关于 XQuery 的书籍呢?

A: 多谢关心。恰好就在这个月(2003年8月),Addison-Wesley 将出版一本题为 XQuery from the Experts 的书,书中包含了由 XML Query 工作组中的十名成员编写的一些章节。我写的那一章题为“Influences on the Design of XQuery”。在书中我力图解释 XQuery 设计是如何进展的,其中要研究 8 个有争议的“分水岭问题(watershed issues)”,这些问题对 XQuery 语言有着很大的影响。在其他章节中,有一章是一个语言教程。每个参与编写的作者都从不同的角度描述了 XQuery,我认为这样写出来的书为读者提供了对 XQuery 语言的很好的概览。

Q: 完成了 XQuery 之后,您打算下一步做些什么?

A: XQuery 版本 1 将缺少一些重要的特性,包括更新功能、全文搜索和一个错误恢复程序。这只是因为我们没有足够的时间在第一次尝试中解决这些问题。我估计还会有后续版本,例如版本 1.1 或者版本 2,这样的后续版本将会把上述特性以及其他特性加进 XQuery 语言中。我很乐意与 XML Query 工作组里的人一起工作,我还希望参与 XQuery 将来的改进工作。

从长远来看,在信息检索领域的工作是激动人心的。Web 已经使得各种各样的信息随时、随地可以获取。这是一次革命性的发展,而其影响才刚刚为人所认识。组织和开发这笔信息财富的方法的发现任重而道远,足以让像我这样的工具建造者(tool-builder)忙上好一阵子。

Q:谢谢您抽空接受采访,Don。

A:谢谢对我的邀请!

三位先驱谈DB2发展:成功是必然的 编辑本段回目录

对 Don Chamberlin、Don Haderle 和 Pat Selinger 三位 DB2 先驱的访谈,讨论的范围涉及 DB2 的过去、现在和未来,这次谈话的主题是 DB2 发展历程中的 各个“转折点”。

DB2 杂志:对象/关系技术是一个转折点吗?即使它并未在市场上真正站稳脚跟?

(图)Don ChamberlinDon Chamberlin

Haderle:是的。对象/关系技术必须利用数据库的可扩展性,也就是如何提供一个可以添加您或其它人开发的新功能的平台。虽然对象/关系技术并没有在市场上得到广泛应用,但它成为了我们实现多个小组协作、添加功能和保持整体向前发展的基本的数据库引擎基础结构。在1995 年和 1996 年,我们开始第一次在 DB2 和 DataJoiner 中运用 Garlic 研究项目提供的技术。

Selinger:触发器、BLOB、用户自定义函数(UDF),所有这些都伴随着对象/关系技术的浪潮一同出现。现在每个人都可以充分利用这类技术,因为我们已经将它们整合到数据库引擎中。我认为对象/关系技术与人工智能(AI)有几分类似:一旦 AI 开始发挥作用,人们也就不再称它为 AI 了。剩下的是那些发展越来越缓慢的功能了。 但我认为,正如我们看到在对象/关系数据库结构中引入了 EJB 和其它新技术一样,我们将发现有越来越多的风险性技术被开发出来。

谈到数据可用性,我们还必须提到数据共享和多系统功能 - 联邦和Parallel Sysplex。大约在1994 年,我们在大型机和开放系统平台上引入了这些功能。我认为这类技术也是一个转折点。

Chamberlin:我认为我们现在正在经历信息集成的转折点。回顾过去,我发现两种截然不同但同时存在的技术潮流:一种专注于处理结构化、同构数据,另一种专注于处理非结构化的数据。如果您正在处理银行账户,所有记录就都是同构且结构化的。今天,我们可以用数字媒体来展示书籍,但书和银行帐户不一样,每本书的结构都是不相同的。

因此,历史上各种各样的软件都围绕这两类不同的数据技术潮流来发展。现在,Web 正在把它们融合在一起。我们需要通用的工具来同时处理这两类数据。这正是我们目前面临的挑战。

DB2 杂志:早期我们讨论了使用能够处理 DSS 和操作、事务处理行为的语言 SQL 是一种激进但可行的想法。现在 SQL 是否面临类似的考验,即是否能够支持结构化和非结构化的数据系统?

Selinger:是的,这就是为什么你看到 Don Chamberlin 在 XML 查询语言(Xquery) 委员会上强烈建议 IBM 来定义这一能够处理这两类数据的下一代查询语言的原因。展望未来,客户将希望引入更多的数据,而不仅仅是"循规蹈矩"的结构化信息。

Haderle:我同意 Don 的说法。正如我们所说,我们正处于这一转折点的浪尖上。它"诞生"了虚拟数据库概念以及支持这一概念的联邦技术。现在面临的主要问题是存在一组分散的数据,客户希望引入这些数据并将它们全部链接在一起,我们该怎么做呢?答案是提供虚拟层。

Selinger:在开发了所有 SQL 创新和关系功能之后,Don [Chamberlin] 花费了几年的时间来研究文件管理。我们认为这是他一次很大的转变,但我们当时并不知道这一切工作都是在前进的道路上兜圈子。

Haderle:在二十世纪 90 年代初,我们对 Don 说:"Don,这是个问题。"他说:"是的,我知道这是个问题。"我们问他:"SQL 是否是我们打算驾御的工具?它是否有足够的表现力?"Don 说:"不是。我需要不断地完善它。"因此,他成为了 XML 的拥护者,并提出了这样一种理念:我们需要通过现有的基于 SQL 的应用程序和基于 XML 的应用程序来提供接入。Don 一直在研究 XML数据模式,它是创建虚拟数据库层和提供允许人们获得无数信息的信息实用程序的核心。

在 DB2 XML Extender 的帮助下,我们才真正开始了这一过程。XML Extender 实现了一个 Native XML 数据库,它可以将DB2 封装起来。在不受太多关系规则约束的情况下,我们开发出了越来越多的功能,它将提供 XML 模式、XML 查询和其它工具。但是我们还有可以用于支持 XML 的关系功能 - 我们可以整合 XML 和关系功能,同时为您提供这两种技术的特性。

之后我们的重点转移到联邦技术上来。Pat 主攻元数据,它将使我们能够查看不同数据源和数据结构发送的信息并无缝地对其进行联合。对元数据的理解可以帮助我们开始研究描述数据在不同数据源环境中的语义规则-以及如何能够无缝地对它们进行联合。这就是用户所需要的,不是吗?我们正在为这个问题而努力,我们把这种技术叫做"信息集成。"

Selinger:您可以这样来考虑:SQL 和关系系统只需要您指定希望从数据中获得的信息,而无需关注数据在物理上是如何存储的,是否对某些数据进行了索引。SQL 和关系系统在物理数据存储上提供一个透明的层次。同样的,信息集成为您提供另外一个透明的层次-这次是在数据源的位置和语言上。信息集成能让您上升一个层面并使您能够与分布的异构数据源交互,就好像它们都在同一个位置,都使用 SQL 和 Xquery 语言一样。

Chamberlin:您必须以一种截然不同的方式来处理元数据。在纯粹的关系数据库中,数据是同构的 - 每个银行账户看起来都是一样的。您可以归纳出描述银行账户结构的元数据并将它存放目录中,而无需为每位账户复制它。但是如果数据是异构的,例如一个数字图书馆,因为每个对象都必须进行自我描述,所以元数据必须与数据密切结合。由于每个对象都是不相同的,您不能归纳出数据的描述并把它放在一个公共位置。元数据与数据是混合在一起的,数据模式也是动态的,这样,存取一组完全不同的数据的系统使用的查询语言必须能够同时查询数据和元数据。

Haderle:在使用 XML、Xquery 和联邦技术时,您必须提供非常强大的复制功能。如果您计划部署联邦系统,您不能保证总能够通过网络来获取到信息。为了使其能够正常运行,您必须将某些信息保留在本地。我们如何能够将实现数据的缓存?我们如何实现自动复制?我们如何设置不同的模式来保证事务更新、信息验证和异步连接的一致性?这都是我们正在研究的课题。我们正处于这一转折点上。

DB2 杂志:在 V8 中,将 Content Manager 整合到 DB2 似乎是这一演变过程中的关键一步。

Selinger:Content Manager 为我们带来了一次重要的转变。这种强大的内容管理应用程序能够保存包括文件夹、版本在内的所有数据库不能理解的信息的语义和功能。这一切都将基于 DB2,关系数据库管理系统在 Content Manager 中可以起到类似于图书馆中卡片目录的作用。

在DB2 V8中我们所做的工作的是在存储过程和 UDF 中实现相应功能以将它们集成到数据库中,然后就可以通过数据库提供的特性来使用这些功能。例如,如果我们需要,我们可以并行运行它。这就是目前我们将功能添加到 DB2 中采用的方法。我们正在致力于将更多的语义融合到数据库引擎中。

Haderle:这就是我们目前的途径。坦白地说,如果 DBMS 不能够实现版本管理和其它内容管理功能,开发商将基于 DB2 来编写自己的内容管理查询系统。开发商必须依赖 DB2 来构建自己的查询系统的原因是因为他的客户需要查询与时间相关的或者其它的一些特殊问题。通常的情形是,开发商构建的层面会变得越来越复杂,直到他将几乎整个查询系统都建立在我们的查询系统之上。接着,开发商开始担心并行机制和其它一些因素,如果脱离了我们的系统,他可能需要 200 位员工来开发本来 DB2 能够完成的功能。

因此,我们的工作是添加越来越多的语义和结构知识,从而使内容管理系统可以充分利用数据库并最大限度地减少单独构建一个完整查询系统的需求。如果我们不能把某些语义和功能添加到数据库引擎中,结果又将如何呢?借助于我们的可扩展性,如存储过程和 UDF,我们能够让内容管理系统将其它的功能加入到我们的结构中并同样能够享受查询编译、并行机制等特性带来的优势,而无须基于 DB2 来另外编写一个层面。

Chamberlin:我认为有一些对象/关系的观念正在奏效,它们在数据库层为我们解析复杂对象的语义提供了良好的基础。

Selinger:是的,通过提升数据库能够理解的抽象层次,可以减少上层应用程序的规模。这就是这场游戏的主题:减少员工工作,从而人们可以加速应用程序的交付和降低成本。您可以腾出更多的人手来开发下一个应用程序并使企业更具竞争力。

DB2 杂志:是否 Starburst 优化器的引入使得这么强的可扩展性成为可能?与 Starburst 一同推出的新型查询重写和查询编译技术为 DB2 引擎增加了更多的智能。

Selinger:Starburst 是一个完整的系统- 一种全功能的数据库系统。我们采取的口号是"现在我们已经走到了这一步,我们知道我们正在做什么,让我们从头开始,设计一个可扩展的系统。"我们希望实现高度的可扩展性和优化,这将对未来的发展起着决定性作用。Starburst 融合了对象/关系理念,以及可扩展性和可扩充性,并开始具有以查询重写和新型编译为代表的自主功能。Starburst 使 DB2 在开放系统上实现了功能上的显著跳跃。

Haderle:Starburst 是 DB2 成为开放系统的巨大转折点。但当我们谈到 20 世纪 90 年代中期的转折点时,我们有点不负责任,因为我们没有提到数据挖掘。我们在二十世纪 80 年代后期引入了查询并行机制,它使复杂的查询能够以非常快的速度完成。至于数据挖掘,我们的口号是"现在要致力于我们一直试图解决的业务问题。"Rakesh Agrawal 在研究方面的初期工作为我们提供了解决问题的其它方式。

最近,使用 DB2 可扩展性,我们已经将这一功能整合到数据库引擎中。用户可以规定不同的数据挖掘功能;数据库引擎使它们能够以更低的成本高速运行。

DB2 杂志:这样的结果是最初原本需要数据挖掘方法的大量业务问题,实际上可以由更传统的数据库查询来解决,对吗?

Chamberlin:是的,使数据挖掘极具魅力的是您不知道您正在寻找什么。SQL 有益于回答事先精心确定的问题:但是如果您不知道问题是什么,结果会是怎样呢?您可能有大量的数据,但您希望找到不寻常的信息,而您又不知道"不寻常"真正意味着什么。这就是极具挑战性的问题,数据挖掘功能对应对这类挑战效果显著。

Haderle:数据挖掘功能与其它功能(如并行机制)的结合,形成了 DB2 的另一个转折点。与谈论如何能够拥有更好地处理事务的基础设施不同的是,商务智能开始成为我们的关注点,也就是,我如何能够从信息中获得智能并解决遇到的商务问题?我们想要解决的问题不再只是询问"我们在数据库中有多少位秃头?",而是"我想销售假发;谁是最合适的客户?"没有数据挖掘,您可能永远不会知道,答案与快要秃头的人无关。 

SQL简单历史 编辑本段回目录

1971年,Don Chamberlin从斯坦福大学博士毕业,进入位于New York的IBM公司的Watson Labs工作,其第一个项目是编写一个实验性分时计算机的操作系统,一年后,项目完成,其所在的项目组的方向转到数据库软件。当时的数据库领域主要是Charles Bachman(此人开始在GE,后来在Honeywell)的网状模型。

1972年,Codd访问了Watson Labs,做了一个关于其“关系模型”的讲座,Don Chamberlin由此掌握了Codd关系模型的精髓,同时有了把这个理论模型转化为软件的灵感,而在当时,其他多数人还不懂Codd在说什么。

1973年,Don Chamberlin等几人转到San Jose实验室,组成一个20人的小组,开始System R项目,后来Jim Gray因为厌恶东部的寒冷气候,也加入进来,这个项目的目的就是把理论转化为产品,而不是对理论进行研究。Codd并未参与这个项目,而只是起一个类似顾问的作用。

Chamberlin和其同事Ray Boyce负责开发System R的用户接口(user interface),但是一年以后,即1974年,Boyce因病去世。这种语言开始称为SEQUEL(Structured English Query Languge),但是IBM的律师发现,这个名称已经被一个英国飞机公司作为商标,只得改为SQL。

1978年夏天,Ellison打电话给Chamberlin,说他看过了其与Boyce在1974年发表的文章:“SEQUEL:A Structured English Query Language”,他打电话想得到关于SQL的更多细节(error code values),从而其产品可以和IBM的产品兼容,但是他没达到其目的。尽管如此,Oracle还是在1979年(当时其公司名称还叫做:Relational Software, Inc.),在IBM之前发布了其关系型数据库产品,而此产品使用的查询语言就是SQL,IBM落后的原因是这时的IBM的IMS产品还有很大市场,IBM推出关系型产品的动力受到很大影响。

专访IBM DB2专家:XML引发数据库二次革命?编辑本段回目录

编者按:Don Chamberlin 是IBM院士,还是关系数据库标准化查询语言(SQL)和Quilt语言(后来演变为XQuery查询语言的基础)的核心发明者之一。在本次访谈中,他向大家介绍了IBM的历史、XQuery规范与XML数据模式、XML数据库的性能和安全。另外,还邀请到复旦大学计算机科学与工程系教授、博士生导师周傲英老师,探讨中、美数据库教育的差异,以及如何学好数据库开发技术。

(图)Don ChamberlinDon Chamberlin

XQuery规范与XML数据模式

熊建国(主持人):各位网友大家好,今天有幸请到IBM院士、IBM阿马丹(Almaden)研究中心高级工程师Don Chamberlin先生和复旦大学的周傲英老师做客IT168,与大家交流。

    IT168是专业的传播媒体,2000年我们成立了企业服务群组,定位为企业用户提供一流权威的咨询,IT168有中国最大的一个社区,即ITPUB,有65%会员是数据库开发人员和管理人员。

    我们知道Don Chamberlin先生是SQL语言的发明人,目前在W3C组织中从事XQuery规范的制定和研究工作。Don Chamberlin先生从事数据库据相关的研究工作已经有30多年的,可以说是目睹了数据管理几十年的发展和变迁,下面我们首先请Don带我们回顾一下这些历史? 

Don Chamberlin:非常感谢各位,能有机会来到这里感到非常荣幸。我在IBM工作差不多有30年的历史了,最大的兴许爱好就是研究数据库技术与研究数据库的历史和现在。

Don Chamberlin 先生

    数据库已经成为普通人生活中的一部分,如果大家去银行取钱、乘坐飞机,或者去商店里面购买物品,都不可避免的要和后台的数据库打交道。数据库虽然已经渗透到了生活各个方面,但从整个产业来看,数据库产业现在还是一个非常年轻的产业,只有40-50年的历史。

    在过去的40---50年里,数据库发展受到很多创新型想法的影响,接下来会总结一下数据库50年产生的重要思想。

    最早的电子化的数据是来自于美国的统计局,大概每隔十年左右的时间,国家会对工作的状态,家庭人员结构做一个全国性的普查和统计。但是有挑战性的是,虽然法律要求每十年做一个全国性的统计和普查,但是要对收集过来数据进行处理的时间往往会超过10年,所以每到下一次普查,上一次普查的数据还没处理完,所以国家需要一个新的方案来解决这个问题。

    麻省理工的教授霍列瑞斯博士发明一种方法,就是我们最早熟悉的打孔机,把数据的结构用打孔机读下来,然后加快数据处理的过程。发明这个想法的霍列瑞斯博士,后来申请这个专利,然后开了一家公司。这家公司与另外一家公司在1924年合并了,这就是IBM公司。

    从最开始IBM创立的时候就可以看到,IBM整个历史从一开始就和信息、数据的应用密切联系在一起。人们开始用打孔机记录数据一直延续到20世纪40年代,从现在观点来看,这是一个有非常悠久历史的产品,因为一个产品能超过15年的历史,应该算是一个非常好的产品。

    但是这种打孔机的卡本身有一个缺陷,它只能按照一个方法读取,不能随机读取,这导致第二个重要思想产生,就是采用磁盘的技术,使得对数据的读取可以随机读取。

    随着磁盘的产生,使得我们对数据的管理可以走向集成化的管理方式,使数据不再属于单个具体的应用,同时提供集中和管理模式,集中的备份等相关的内容。最早的数据库系统我们称为嵌套式数据库,它基本的原理,你要获取数据要编写一段代码,这段代码读取很多指针的链条,然后把数据找回来。很多那个时代的公司基于这样一个原理构建输出的系统,IBM是其中一家,我们基于这样一个技术构建了IBM的XML的系统。

    另外一次对数据库影响深远的变化,由E.F.Codd博士,也是IBM院士,提出的关系型数据库理论。Codd的想法是希望构建这样的系统,不是让用户告诉计算机如何找到这个信息,而是让用户把想找什么样的信息告诉这个系统,系统自动找寻。 在关系型模式下,数据是放在表里面一系列的值,用户通过高层的语言去描述他想去找什么样的数据,而不是去描述如何找到这样的数据。

    在这样一种设计下,比较重要的是物理存储的方式可以改变,用户可以自己添加数据或删除数据,这些都不影响应用访问数据的模式,这个想法最后称为数据独立性的想法。一开始人们认为这样的想法不现实,这里面最主要的原因,大家认为很难构建这样一种编译系统自动找寻访问数据的路径。我参与了IBM最早期关系型数据库的尝试——内部研究计划叫“Record System” ——去实现这个想法。我和Codd以及其他早期的研究人员一起共同构建一个实现关系型理论的系统,这里面的重点是侧重构建基于成本的编译器,可以按照语言的描述找到数据。这方面的研究产生的技术最后导致关系型数据库一系列产品的产生。

    在过去20年里,关系型数据库在全球范围内非常广泛的被应用,大多数的商业型数据被存储在关系型数据库中。但是我们现在正在另一次大的变革门口,会改变整个对信息系统的管理,这样一种变革的动力来自于互联网的发展,使得信息的量以及信息的类型和复杂度和以前大大不同。

    在传统的关系型数据库里,对数据的存储是片断式的信息存储,银行的账号、乘坐航空机票的预定以及产品信息都是要按照同样的结构来进行存储。但是由于互联网的发展,使得上述的情况发生了很大的变化,比如电子病历或健康档案,每个人每种病的描述情况都不一样,治疗的历史以及拥有医疗保险的情况都不同,采用传统的用表格结构化的模式来描述非常大差异型数据就面临非常巨大的挑战。

    在互联网上大多数的信息都通过HTML语言描述,但是HTML在标签上有一些限制,不能够把很丰富的数据内容完全涵盖。未来会发展非常快的一种数据模式就是XML,它是对HTML这种标准的扩展,使得他们在标签上不再有固定的限制,可以很大程度的扩充很多新的类型的标签。

    随着越来越多信息会采用XML格式,这就产生强烈的需求,需要针对这种数据提供查询的语言,在XML信息集里找到相应的信息。W3C是全球负责互联网相关标准的组织,他们建立了一个工作组来专门制定针对XML查询的语言标准。在参加这个工作组里面的人员包括从很多大的公司人员,以及一些主要的大学。

    我代表IBM参加了这个工作组,在开发一种有点类似SQL的语言,但比传统理解的SQL语言更灵活更有扩展性。在今年1月份的时候,第一个版本的查询语言叫XQuery 1.0已经被采纳。现在这个工作组还在继续工作,在现有XQuery版本基础上增加很多新的功能,从SQL语言标准组产生有25年的历史,现在XQuery两个标准都会存在。现在我们所处的时代从数据库的角度来看是非常令人兴奋的时代,从数据库的技术和这方面的演进会对整个社会生活产生深远的影响。

(图)Don ChamberlinDon Chamberlin

数据库历史的二次革命

熊建国(主持人):非常感谢Don先生带我们回顾了数据管理的历史,刚才谈到XML可能成为数据库第二次大的变革,为什么是XML而不是其他的(比如面向对象的数据库),为什么XML会是第二次数据库革命呢?

Don Chamberlin:我认为XML是一个非常重要的技术,其中最重要的几点,一个是非常强的灵活性。这里面来源一个重要的特点,XML数据是自我描述的,根据XML数据本身可以理解数据以及数据之间的结构。

    与此相对应的面向对象的技术,基础是针对对象来说,但是OO(Object –Oriented,面向对象)技术来说对对象的描述遵循更为严格的体系,从这个点来看,我们认为XML重要的要点在于“X”,使得这个技术能有更好的扩展性。

XQuery 1.0新标准

熊建国(主持人):今年年初发布了新的标准XQuery 1.0,目前商用数据库对这些标准的支持情况怎样?我们了解IBM去年发布了DB2 9,它对相关标准的支持是怎样的?其他厂商对这些标准支持情况怎样?

Don Chamberlin:你的问题让我想起SQL在过去25年被业界采纳的过程,目前W3C有一个网站,列出现阶段商用采纳的标准,支持的有超过50个,其中有IBM的产品,也包括其他厂商的产品。

SQL面临的挑战

熊建国(主持人):您作为SQL语言的发明人,面对新的查询语言XML,SQL有哪些问题和挑战,如何看待SQL语言的发展前景,它会往什么方向去走?

Don Chamberlin:首先关系型数据库会存在下去,而且会长久存在下去,关系型数据库经过很长时间的发展,已经证明对非常规律的结构化数据,在这个领域会比XQuery做得更好,关系型数据库数据独立性的原则会永远存在下去。

    XQuery语言的产生,更多适应一些需要有更强数据灵活性的结构,以及灵活数据需求的产品。从SQL语言发展的挑战来说,目前技术上大的挑战,是如何将这两项技术很好整合在一起,在用户应用中可能一部分数据要来源于关系型的信息,另外一部分来自半结构化非关系型的XML,如何很好的把这样两个技术无缝的整合在一起,这是目前面临最大的挑战。

熊建国(主持人):IBM去年发布了DB2 9,IBM是否已经解决了这个问题,混合型数据库的发展方向是怎样?

Don Chamberlin:DB2 9在这方面是很好的开端,但并不是结束,就像SQL一样,还会有很多新的特性不断往这个标准里填充。目前第一个版本XQuery的制定主要的规范表述是如何访问数据,还没有包括一些重要的内容,比如如何更新这些数据,这些工作正在进行,一旦这个标准完成,DB2就会采用这些成熟的技术。

XML数据库的性能和安全

熊建国(主持人):刚才谈到XML适合比较灵活性的应用,对一些不变的还是采用关系型数据库,现在大家对XML技术还是持观望的态度,一个是性能问题,在XML数据库在性能方面是否会有很大的问题,另外安全问题XML安全性如何?在新的标准制定,核心产品的研发过程当中,我们对性能如何考虑的,会达到怎样的级别?

Don Chamberlin:这个问题好像30年前刚刚出现SQL语言的时候,大家对这个技术所产生的不确定性以及怀疑是类似的。

    XML数据类型比传统关系型数据库可以解决更多、更复杂的问题,现在侧重对XML的研究,是侧重于对XML优化器方面的突破。另外一个重要的问题,现在从研究体系里正在关注的是对于XML数据的安全性,由于XML信息存储很多普通人的信息,这些信息对人们生活产生重要的影响,包括财务信息、保险信息,以及医疗相关的信息,这些信息通过XML的方式进入数据库进行管理的时候,需要考虑更多私秘性的问题,需要考虑数据完整性、准确性等相关的问题。

熊建国(主持人):关于XML的性能,现在关系型数据库处理数据非常快的,Oracle出了一个新的技术fast file,XML技术以后会不会达到这样的速度,性能会不会达到这样的性能?

Don Chamberlin:我主要的研究领域是语言而不是性能,但根据过去的经验非常有信心,因为现在技术人员在参与这个研究,在不久的将来,就像30年前,当大家刚刚实现SQL语言的时候有很多性能方面的担心,今天在XML领域,随着人们在这方面研究力量的投入,这方面的性能问题一定能够解决。

pureXML的实现方式

熊建国(主持人):现在其他的商业数据库都提供对XML的支持,IBM和甲骨文也都提出了支持,这些不同的厂商对XML的支持有哪些不一样?去年IBM发布了DB2 9,申请了pureXML的专利,请您分析一下它们实现的不同方式。

Don Chamberlin:IBM把XML数据看成一个战略性的方向,我们采用的方式不是用关系型的方式,我们采用的是完全按照XML原生态的方式处理这种技术,不是其他的通过关系型把XML分解成关系型来实现。

    在这个领域也提供两种语言都支持,支持SQL也支持XQuery,而且都是用原生态的方式支持,我们这里面专门针对XML,另外不依附于关系型数据库,有对应的编译方式,有对应数据库的优化方式,有相应的索引的技术和存储技术,而不是通过数据转换和翻译的方式把XML翻译成关系型,或者把关系型的信息翻译成XML。

中、美数据库教育的差异

熊建国(主持人):今天我们请到复旦大学的周老师,目前中美数据库教育有哪些差异,都讲哪些内容,如何做实践?

周傲英:今天很高兴和Don Chamberlin一起来到IT168。

    我们读书的时候就知道SQL,数据库发展30多年,在中国的教育,从20世纪80年代初的时候,中国就开始在大学里面有数据库这门课程。

    这么多年以来,数据库的变化很大,特别教材的变化特别快,几十年发展过程,现在我们的课程主要包括的内容,总结起来有三个部分。第一部分主要讲理论部分,理论部分讲的是数据模型,主要讲关系型数据的模型。在我读书的时候(20世纪80年代初)还是讲网状的,所谓层次型的数据库。现在那些东西都放弃了,那些更多是技术实现的问题,从建模的角度来说没有特别的理论根基,为什么关系型数据库能那么流行,最主要的是有它强大、坚实的理论基础,结合了数据逻辑。加上在这上面的一些操作,比如关系代数,关系演算,我们理论部分讲模型,主要讲这些内容,这很抽象的主要从建模角度来说。理论的另外一部分就是讲数据库的设计,我们学数据库都要讲这一部分,要讲数据库的设计,范式理论函数依赖。在教学的过程当中,如果光讲理论部分,讲完了以后,学生毕业了,还不知道数据库怎么用的。

    现在情况有很大的变化,因为我们有更多的机会可以动手,我们有实验室,很多学校安装了比如IBM的系统,DB2的系统或者甲骨文的系统,再早一点的还有很多的系统,大家有动手的机会,再理解这些理论。除了理论以外,要把数据库变得实用,我们课程里面还要介绍一部分,也就是我们讲的实现,关系型模型提出来,当时经过了10年,从E.F.Codd提出这个系统,到这个系统真正实现,开发这个实验系统,到SQL到 DB2,这些系统出现在差不多20世纪80年代,经过了10年,这10年主要解决性能的问题,本身是导航的,是人来做的,要让它怎么存储数据,现在关系型模型,不来存储,要系统来做,这系统就要变得很聪明,要有技术,查询优化的技术,主要为了解决性能的问题,所以在数据库课程里面介绍第二部分就是实现技术,要讲优化,要实现,要讲索引。

    数据库讲DBMS的应用要讲另外一部分,事务的处理。最早的Navigational数据库里最早就是事务处理,我们在操作系统就有这个问题,只不过在数据库里变得更为严重,我要解决安全,要能恢复,系统出错不丢失,不出问题,现在把所有数据库放在以前,以前用文件系统个人管个人的,一家出了问题,另外一家不受影响,现在整个大的企业,整个都是中心数据库,如果一出问题可能整个数据库都要瘫痪,所以如何保证这个问题,这就是实现的内容一定要讲清楚,对学数据库的学生来说,出来以后不见得实现DBMS,但是要知道工作的机理和机制。
   
    第三部分要讲应用,也就是我们怎么动手,这方面我们跟国外比是比较欠缺的部分,因为要做一个好的设计,要做一个实验要花很多的时间,要有一个很好的开放实验室,有一些学校做到了,有一些学校没有做到,我们现在数据库的教学主要这三个部分。我们新技术的教学来看,比如XML,数据仓库,数据挖掘这一块,会包括一些,但本科生的课程只是引导性的。

Don Chamberlin:在美国大学里面教授数据库的模式跟周老师谈到的情况比较类似的,首先美国对于本科的学生会从用户角度介绍基本数据库的知识,包括关系型数据库的模型,包括SQL语言的介绍,包括范式性的数据建模等基本概念。比较高级的课程主要侧重于数据库系统的实现,这里包括数据库优化技术,数据库索引技术,数据库锁技术,数据库交易系统以及数据库的访问系统等等。

    还有一些是相对比较专门性的课程,其中包括对于非结构化数据的访问,这里面比较典型的就是搜索技术,我们知道查询技术一般访问结果有明确定义的结果,一般只有两种情况,是或否的判断,对于搜索技术适用的范围是更模糊的范围,通过一系列的方式,不是完全结构化的数据,不会提供特别严格精确的结构。这个领域每个大学都提供一些这些方面的课程。

(图)Don Chamberlin著作Don Chamberlin著作

数据库技术人才的培养

熊建国(主持人):周老师刚才谈到,我们这边偏重的数据库应用的教学,我们培养的本科生是否能培养数据库的研发人员和设计人员的培养?

周傲英:应该说这和学校有关系,比如数据库研究历史比较久,师资力量比较强的学校都是有意识的做这方面,比如我们学校以及北京的很多学校都是这样的。但是对于绝大多数学校来说,主要的是要培养一个理念,让学生出来以后知道,数据库从某种意义来说是一种理念,要把数据都放在一起,大家在学数据库以前没有这种感觉,大家觉得自己管自己的数据,去在日常生活、学习当中,学校里面数据库,学校里面成绩登录,包括选课都是数据库在后台,他有体会但是没有这个感觉,所以培养他们一种理念和技术。

    更多的他们知道建模,知道SQL语言,知道SQL语言可以跟C语言结合在一起用,可以做一些应用的开发,绝大多数学校是这样一种方式,从研究角度来说中国需要数据库研究人员。但为什么不像美国那样大规模的培养,因为DBMS在中国,我们没有形成自己的产业,没有这个产业就没有人才的需求,包括IBM在中国的研究院,各种各样公司都成立研究机构,他们对数据库研究的核心慢慢移过来,前几年还是在本土。所以从研究的角度来说,人才的去向不是特别明确,现在一些学校培养的博士毕业,硕士毕业慢慢加入这些研究机构,比如国内的一些大公司也会成立自己的研究院、研究所或研究中心,会吸引这样一些人进去,随着我们应用水平的提高,和整个技术的提高需要这方面人才的培养。

熊建国(主持人):如果我们产业起来,或国外研发公司在数据库方面的需求,本土人才的培养会加快。

周傲英:对,现在从本科生角度来看,一般设计课程的时候,数据库作为基础核心课、操作系统、数据库和网络这是三大核心专业课程,每个学校都是很重要,要把它提升到跟后面的研究。因为本科生如果读研究生,比如我们招研究生就要看数据库背景怎样,有没有研究的感觉,不是只会写SQL语言,要知道问题在什么地方。

    另外一个角度来说,在中国做,因为我们没有自己DBMS,为什么国外有那么多数据库研究人才,我们从研究的角度来说,数据库研究还是走在前沿的,我们在国际上没有那么落后,只是深度广度不够,是受我们产业的限制,我们对国外的了解以及关注的问题都差不多,他们有很多的贡献,我们要想深入下去要靠国内应用需求的推动,这不仅是DBMS产业,从数据库研究人员的角度,要关注中国特有的应用,其实现在国际上数据库研究前沿的里面,真正核心技术,DBMS相关的东西不见得特别多,更多的是数据库部署那么多,在应用中有各种各样的问题,这些问题你要研究它,我们有意识得,在国内的数据库研究人员,从本科生、研究生教学,我们也有意识安排应用驱动的研究,这样可以把教学研究和应用结合起来,这样形成一个良性循环,我相信整个应用水平,研究水平都会有相当的提高。

数据库技术教育

熊建国(主持人):我们目前中国使用数据库的教材,据我了解没有XML的技术,您觉得是否有必要,以后在新的教材有必要把XML数据库加进去,甚至把XQuery语言加进去,有没有这个必要?现有教材有哪些需要补充的?

周傲英:其实我们的教材更新不够快,如果从教材内容来看,去年年底的时候就接到过邀请,刘晶炜跟我们讨论写DB2的书,XML的书的时候我们接受到高教社的邀请写一本新的数据库教材,当时我们很感兴趣也答应了,因为数据库有DB2和XML在前面,写一本书相当难,特别写教材,但是我们想把IBM这两本书写好,我们会积累一些经验,因为IBM的书相对是技术成份多一些,但是从教学角度来说,可以考虑的少一些,这部分写完了我们可以积累一些经验。所以数据库教材这本书我们还在策划当中,我们希望早一点把DB2书交稿了,我们可以马上写教材。

    从内容来看,从我理解来说,我可以分成两大阶段的变化,第一阶段的变化是80年代中后期,当时很大的变化,包括从王姗老师的书,最早的版本很多在讲导航,讲指针,讲逻辑儿子,逻辑父亲那都是指针,物理指针只有一个,其他就要靠逻辑指针做,那就是网状数据库和层次数据库,因为那跟语言有关,跟操纵语言有关,那个语言非常复杂,有很多指针和新的概念在里面,而那些概念没有一个逻辑性,完全是为了做到这一点,必须要做,没有任何理由,你必须要去用,然后变得熟练,所以当时是那样的特点。

    差不多到了20世纪90年代,那本书包括王老师的书和其他老师的书就变化了,那部分变成介绍历史的时候才会提,这是一个大的变化,这变化持续到现在,为什么那么多老师和学生包括出版社觉得要有新的教材,因为数据库演化到今天中间有很多新的故事,当时大家没有迫切的要求必须放在数据库教材里面,用来取代关系,或并驾齐驱,当时只是让大家做一个了解性的认识。

    现在已经到了一个阶段,我们必须把XML放进去,并且和关系型数据库并驾齐驱的介绍,因为XML所解决的问题是原来努力想解决的问题,其实关系数据库一成熟,大家就考虑关系数据库建模不够灵活,把所有东西变成关系表会有很多问题,丢失语义,并且不自然。包括语义的模型,图的模型面向对象的模型都没解决这个问题。XML从建模角度来说,跟关系模型是互补的,有它的灵活性,但是关系模型在很多方面有它的优势,它有很好的可扩展性,高可用性, XML可以弥补它的不灵活,如果有一种技术支持把这两种东西放在一起,DB2 9做到这一点,以前的系统,DB2 9以前的系统,所谓可扩展的实现,甲骨文里面的XML的一些支持,都是把它当成一个大对象,或者当成一个特殊的,或者是硬打碎放里面的,这些不自然。我们开始做研究也是这么做的,现在这种情况下,有过德国的系统,当时吸引了大家很多的注意力,大家觉得看到曙光了。

    DB2 9给出一个很好的解决办法,让它与关系型数据共存,以前把XML放在一个数据库里面,用数据库的话来说是二等公民,不是一等公民,它是特殊的,我们或者叫ADT(抽象数据类型)来解决,它要有相关额外的措施来解决,没有得到一等公民的待遇。现在这种情况都是一等的,在这种情况下是共存的,SQL要想办法支持XQuery的功能,XQuery有自己独立的语言,希望可以跟SQL有密切的结合,他们可以互操作,两种数据类型,结构化的和半结构化的可以互操作。这样我们对整个数据库建模的时候,就不是一种模式来建,可以有两种办法来建模,这时候问题变得相对简单,建模问题解决,系统可以支持这两种模型,整个现实当中的问题解决就会比较容易。刚才说到DB2 9是好的开始,但绝对不是故事的结束,会有很多新的问题发生。传统的数据库解决那么多问题,如果把XML变成一等公民加进去会带来很多问题,一个是设计的问题,原来的设计,要做成范式,现在的选择,你可以把它做成范式也可以变成XML,现在到底怎么选择,以前有设计的工具、规则、原理,这些规则就会发生变化,因为你可以选择,有选择就会灵活。

    另外一个问题就是事务模型,以前事务模型考虑到DBMS应用的场合,原来要增加、删除、更新,打电话记录要记下去,银行取钱账户要减掉,这是很自然的,在商业系统里面,商业数据库有这样的要求。XML是树的结构,是自描述的结构,它的删除、增加、修改是什么样的,有没有那么频繁,原来在做事务处理的时候,可以加锁,可以加一个表,一个页或一行,现在加锁怎么加?你锁的机制,或事务处理的机制,有没有办法直接搬过来用,事务处理这一块,最重要的是,我们所说对XML的操纵是什么,要做什么操纵,有没有删除,有没有增加,有没有更改等,根据使用情况,使用场合才能决定做什么事务模型,我是不是关系事务模型有了就行,这是一个问题,我们没有解决,我相信DB2 9里面会解决这个问题。

(图)Don Chamberlin著作Don Chamberlin著作

    另外一种是优化,优化是永恒的话题,因为优化涉及索引,还有各种各样的机制,就像原来学对象数据库一样,对象数据库很大的优化就是沿着路径优化。我在XML里面,就是有路径表达式,这就代替了原来在关系数据库里面的交易,这是一个代价最大的问题,你怎么解决它,为了解决这个问题需要一个什么索引,这些东西都解决了,才有可能真正把XML和关系数据库放在一起,所以面临着很多,我相信在IBM的研究部门,IBM的产品部门,可能都会考虑这些问题。从研究的角度来说,XML的研究最热的时候已经过去了,它完全是站在研究的角度来说,从实现的角度来说可能会引发新一轮XML原生态数据库技术的研发。

XML+XQuery新的未来?

熊建国(主持人):也就是说数据库还有很多东西要做,另外教学方面Don也赞同把XML技术,包括XQuery技术跟关系型数据库放在一起介绍。

周傲英:我们介绍模型不仅介绍SQL模型,也要介绍XML的类型,作为本科生教材比较容易,如果细下去查询优化,我们可以讲我们了解的,做研究的东西,那些东西不是现在主流的。我看过DB2 9很多技术报告、白皮书,但并没有介绍太多,它并没有讲优化,也可能是商业机密,或者没有成熟的东西在里面。

    从XML的角度来说,如果从建模的角度来说,完全可以和关系型数据放在一起。讲数据库讲ER模型,讲ER模型要转过来,转到关系模型有一套转换的规则,如果我们转换成XML的模型是更自然的,自然而然让学生知道。我们有各种各样办法,我们讲ER模型是概念模型,最终用户和设计人员之间,我为了刻划现实世界比较容易,先有ER模型,ER模型过来到物理世界到XML是很自然的,那XML有没有标准,我们说有这样的标准,那XML有没有类似的操纵语言?我们说XQuery也是类似这样的。国外的教材尽管更新比较快,但也没有这样的考虑。我去年在高教社主办计算机教学教材讨论会中,我提出这么一个观点,很多人很赞成,但是要把这个事情做的比较平滑的连接,跟原来知识整体性考虑我们还要有一些考虑,这是很好的问题。

熊建国(主持人):那国外教材对XML添加的情况,这部分内容取舍是怎么取舍的?Don请您谈谈?

Don Chamberlin:在斯坦福大学已经开设XML相关的课程,这里请到麦克凯瑞,是Wisconsin大学著名的教授。这只是一个开始,这里有非常大的空间,使大学教育部门开始引入这个新的技术。在教育领域里面,关系型数据库由于非常成熟,所以有非常大的群体来了解,这里面所涵盖的知识也比较成熟,尤其在数据库设计等相关的技术在大学教育里面比较容易开展。而XML领域刚刚产生,所以目前来说没有很多的人才能够了解这个技术,同时有一些问题还没有得到完全的回答,比如XML技术可以很好解决灵活性,可以用新的方式表达数据,如何表达这些数据,什么是最好的方式可能要新的研究,这需要一些科研性、研究性的项目在前面做先导,进行大规模普及型教育会在研究性项目完成之后展开和推广。

SQL语言设计过程中的故事

熊建国(主持人):这里有一个网友的问题,问道:Don Chamberlin先生您作为SQL语言主要设计者,想了解一下在设计过程中有什么信息和故事可以分享一下。

Don Chamberlin:在SQL发明过程中有很多故事,事实上在SQL发明过程中和另外一个SQL发明人Ray Boyce一起共同发明了SQL语言,那时候都很年轻,当时E.F.Codd提出关系型数据IBM非常重视,就把全美的技术精英集中在一起,开始做技术性的实现。那时候是在纽约工作,为了参加这个工作同时到了加州。

    你们可能听说过Boyce,比较遗憾的是,Boyce在SQL语言发明过程中,因为他头部的一个疾病去世了。当IBM启动System R项目的时候,很重要的步骤是要获得真实用户的反馈,一开始做了一个简单的原型,其中实现一小部分SQL语言子集的功能,IBM在北美选择不同的地区、行业选择三个客户,历时3年时间,以他们作为原型实现,了解这些用户的功能和反馈,我在那段时间亲自拜访了那些客户。

    与此同时,在研究一些基础的技术,尤其是优化器的技术,这部分内容是部门的一个成员,构建一个基于成本的优化器,这里面有一个有趣的故事,关于万圣节的故事,万圣节是美国一个比较有名的节日。这个节日很多家庭的小孩都要出去买一些礼物,这就和当时研究一个内容联系在一起,当时研究如何更新数据库里面的数据,比如在万圣节之前需要给员工增加工资,如果工资小于10万美金的需要提高工资。在这里实现的技术是通过数据库的索引技术非常快的找到记录,然后进行更新,比如要对于收入低于10万美金的员工加薪,先找到这些记录,更新记录的时候会找到索引,索引的位置就会产生变化,又跳到前面去了。由于索引更新以后记录往后延了,继续往下搜索又会碰到再一次加薪,这样就会给很多员工加很多次薪水,所以碰到这个事这种算法不起作用的。那是星期五,又是万圣节,小孩要买礼物,我们把这个问题叫万圣节的问题,过了万圣节再来解决吧。后来这个问题被正式命名为万圣节的问题,即使在大学的教学中也是引用了这个问题。

下一版的XQuery标准

熊建国(主持人):还有网友提问到下一版的XQuery标准想解决什么问题,预计什么时候发布?

Don Chamberlin:在下一版XQuery标准里面要补充的重要内容就是对XQuery更新的语言,包括更新XML信息重新放置,重新命名的操作,目前关于更新的语言在做最后的征求意见,新的版本出来之前会有一个草案,这个草案会放到网上公示,有机会让大家提一些建议。

另外要增加的内容是全文的搜索功能,这是对XQuery的扩充,提供一些基于语义的搜索能力,比如查机场,就会把飞机相关的同义词信息放在里面一起查询,这种模式会提供Ranking的机制和标准,如何采用数据来验证Ranking的标准。这些数据考虑如何把全文搜索技术和现在XML标准整合在一个整体,而不是把它作为分开的技术来使用。这两个部分都处在最后一次征求意见的阶段,一般来说我们会等待三个月时间采集大家的意见,如果一切顺利的话应该在明年年初确定下来,把这两个内容加入到XQuery中。

(图)David Elizandro, Laurie White, Bob Roos, Don Chamberlin; Stanley Wileman

David Elizandro, Laurie White, Bob Roos,

Don Chamberlin; Stanley Wileman

我们还有一些长期的计划,其中就包括分组汇总这些内容,这些内容可能按照一些分类对产品的信息进行汇总,它会在多维分析、商业智能里面非常有价值,目前也正在制定计划中。另外一个特性叫错误恢复的功能,由于XQuery比较强大,也可以处理比较复杂的情况,如果在查询的过程中出现错误,现在的机制,这个查询就会被中止,现在标准组织希望做到类似于Java的出错机制,用开启错误的模式进行对错误的处理,使得即使碰到错误也不会中断整个查询。

另外有一个正在研究制定的标准就是XQuery的脚本语言,如同现在看到Java要调动XQuery,Java是一套自己的语言,跟数据打交道是XQuery,在传统关系型数据库层面也面临同样的情况,不管是用C或其他语言调用SQL语句,我们使用的编程也不是完全匹配,中间要很多处理,在传统SQL方式下有一套机制提供一个针对SQL的控制模式,实现循环,实现分支处理和判断的因素,现在XQuery的标准也正在制定,希望把一些控制性的系统,和语言等内容放进去,可以由更多业务内容基于其中。

IBM与Oracle,谁占得先机

熊建国(主持人):有网友问到;每一次数据库技术的更新换代,IBM都站在最前端,但第一次关系型数据库发布的时候,IBM没有抢到先机反而让甲骨文抢到机会。这次IBM是不是认为已抢到先机?

Don Chamberlin:IBM在开放的标准上面做了很多的投入,我们和很多其他的公司一起,以及学校的研究机构一起共同制定和推广技术标准工作,在参与这些工作的同时也给我们自己建立了非常强大的技术实力以及为未来的产品奠定了很好的基础。

    另外一方面也听取很多用户实际的需求。这和我们当年推广关系型非常类似,IBM从技术研究来讲是比较开放的公司,当时关系型数据库突破之后,没有把这技术封锁在IBM,而是开放出来,对整个产业而言后来又了一系列关系型数据库的厂商,我们从这个过程学到经验,一旦标准出来,IBM需要把产品实现好,通过更好的技术实现建立起更好的竞争优势。

周傲英:Don意思是说他们制定标准公开有很多人会去跟踪,他们会实现,他们再来做的时候,他们不在意一开始是不是领先,这是IBM的策略。

    现在当然DB2占的份额很大,特别是在中国,在几年前,我们跟IBM合作通过教育部有比较长的合作,我就跟他们说,数据库从你们那发源的,为什么没有特别好推自己的系统,现在他们已经加强DB2在这一块的力量,在市场的份额越来越大。当时他们为什么没有抢得先机,一个与Don说的“比较开放”有关,另外当时IBM其他能够盈利的点特别多,它的软件、硬件,其实以前真正盈利的是硬件,别人原来批评它最早的IBM软件是封闭的,包括大型机,一些系统都是封闭的,没有开放,这可能是一个原因,他们的系统,DB2也是一样,只在自己的上面运转,没有可以在其他的系统上装,所以占不了太大的份额。去年我参加了他们一个IOD,我们知道他们在信息这一块,软件这一块,服务这一块,有很大的改变,他们营业收入点早也不只是计算设备制造了,原来IBM给人感觉是国际商用机器公司,现在可能软件在加强、服务也在加强,可能在这些方面会更开放,跟市场的结合会起一些作用。包括现在提的SOA,IBM也是起领头的作用。

熊建国(主持人):现在DB2 9是不是应该抓住这次机会,占得了先机?

周傲英:原来DB2 UBD出来的时候,在之前我很了解,他们做一个系统,递归查询优化那一块,觉得他们功能做的很好,那时候觉得这个东西很快会在产品里面体现出来,过不了多久他们就出来了。DB2 9推出来之前,我还不知道他们在这方面有那么多的积累,所以我不知道,原来我感觉到,他们是顺理成章的,很自然的。是不是采用另外一种措施,把这个做得很好,一下子加到产品里面公布,所以给我们感觉,原来并没有意识到这一点。后面的问题在于怎么样推广应用,怎么样得到业界的认可,特别是合作者,第三方合作者,也就是那些开发商愿意用DB2 9做各种各样的应用,如果用的越来越多,自然而然对其他数据库公司造成很大的压力,如果对其他公司有压力,它就是领先的,因为先走一步,并且有IBM的实力。

推荐数据库书籍和经验

熊建国(主持人):今天由于时间关系,聊天活动差不多了,最后两位给我们ITPUB的网友推荐一些数据库的书籍和经验。

Don Chamberlin:十年前就写过一本关于DB2的书,在这个领域,因为在中国,可能周老师在这个领域对国内数据库的教学和书籍层面会有更多的了解,而且周老师目前正在写几本有关数据库的书。请周老师回答这个问题。

周傲英:如果从综合全面的学数据库来说,国内有一些教材,书店里面可以看的到,国外教材更新很快的,有5、6本书,从ChinaPub可以找到。

    因为数据库的观念在变化,技术也在变化,所以更新比较快,可以看新一点的书,原版的书会更新比较快一些。如果从专门一点来看,XML书很多的,XML更多的是讲怎么用XML语言来标注,其实XML最早不是数据库的人做的,最早是图书馆的人做的,做情报系统和图书馆的人,要把文档、资料存起来怎么标注,后面才是数据库接入,如果想学数据库,从XML角度看数据库,比如《Data On the Web》。

    其实看书是一方面,如果IBM公布的白皮书,用户手册在网站上都可以拿到,这些书如果细的了解技术,我相信在其他数据库厂商里面也有类似的东西。如果在不同层次现在比较方便应该可以找到所需要的。

熊建国(主持人):各位网友,今天的聊天活动到此结束,感谢Don和周老师。谢谢!

参考文献编辑本段回目录

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: Donald D. Chamberlin Donald Chamberlin

收藏到: Favorites  

同义词: Don Chamberlin,Donald D. Chamberlin,唐纳德·钱伯林,Donald Chamberlin

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。