1、数 据 库 发 展 简 史1. 数 据 管 理 的 诞 生数 据 库 的 历 史 可 以 追 溯 到 五 十 年 前 , 那 时 的 数 据 管 理 非 常 简 单 。 通 过 大 量 的 分 类 、比 较 和 表 格 绘 制 的 机 器 运 行 数 百 万 穿 孔 卡 片 来 进 行 数 据 的 处 理 , 其 运 行 结 果 在 纸 上 打 印出 来 或 者 制 成 新 的 穿 孔 卡 片 。 而 数 据 管 理 就 是 对 所 有 这 些 穿 孔 卡 片 进 行 物 理 的 储 存 和 处理 。 然 而 , 1 9 5 1 年 雷 明 顿 兰 德 公 司 ( Remington Rand
2、 Inc.) 的 一 种 叫 做 Univac I 的 计 算 机 推 出 了 一 种 一 秒 钟 可 以 输 入 数 百 条 记 录 的 磁 带 驱 动 器 , 从 而 引 发 了 数 据 管 理的 革 命 。 1956 年 IBM 生 产 出 第 一 个 磁 盘 驱 动 器 the Model 305 RAMAC。 此 驱动 器 有 50 个 盘 片 , 每 个 盘 片 直 径 是 2 英 尺 , 可 以 储 存 5MB 的 数 据 。 使 用 磁 盘 最 大 的好 处 是 可 以 随 机 地 存 取 数 据 , 而 穿 孔 卡 片 和 磁 带 只 能 顺 序 存 取 数 据 。1951:
3、 Univac 系 统 使 用 磁 带 和 穿 孔 卡 片 作 为 数 据 存 储 。数 据 库 系 统 的 萌 芽 出 现 于 60 年 代 。 当 时 计 算 机 开 始 广 泛 地 应 用 于 数 据 管 理 , 对 数据 的 共 享 提 出 了 越 来 越 高 的 要 求 。 传 统 的 文 件 系 统 已 经 不 能 满 足 人 们 的 需 要 。 能 够 统 一管 理 和 共 享 数 据 的 数 据 库 管 理 系 统 ( DBMS) 应 运 而 生 。 数 据 模 型 是 数 据 库 系 统 的 核 心和 基 础 , 各 种 DBMS 软 件 都 是 基 于 某 种 数 据 模
4、型 的 。 所 以 通 常 也 按 照 数 据 模 型 的 特 点将 传 统 数 据 库 系 统 分 成 网 状 数 据 库 、 层 次 数 据 库 和 关 系 数 据 库 三 类 。最 早 出 现 的 是 网 状 DBMS, 是 美 国 通 用 电 气 公 司 Bachman 等 人 在 1961 年 开 发 成功 的 IDS( Integrated DataStore) 。 1961 年 通 用 电 气 公 司 ( General ElectricCo.)的 Charles Bachman 成 功 地 开 发 出 世 界 上 第 一 个 网 状 DBMS 也 是 第 一 个 数 据 库 管
5、 理系 统 集 成 数 据 存 储 ( Integrated DataStore IDS) , 奠 定 了 网 状 数 据 库 的 基 础 ,并 在 当 时 得 到 了 广 泛 的 发 行 和 应 用 。 IDS 具 有 数 据 模 式 和 日 志 的 特 征 。 但 它 只 能 在 GE 主 机 上 运 行 , 并 且 数 据 库 只 有 一 个 文 件 , 数 据 库 所 有 的 表 必 须 通 过 手 工 编 码 来 生 成 。之 后 , 通 用 电 气 公 司 一 个 客 户 BF Goodrich Chemical 公 司 最 终 不 得 不 重 写 了 整 个系 统 。 并 将 重
6、 写 后 的 系 统 命 名 为 集 成 数 据 管 理 系 统 ( IDMS) 。网 状 数 据 库 模 型 对 于 层 次 和 非 层 次 结 构 的 事 物 都 能 比 较 自 然 的 模 拟 , 在 关 系 数 据 库出 现 之 前 网 状 DBMS 要 比 层 次 DBMS 用 得 普 遍 。 在 数 据 库 发 展 史 上 , 网 状 数 据 库 占 有重 要 地 位 。层 次 型 DBMS 是 紧 随 网 络 型 数 据 库 而 出 现 的 。 最 著 名 最 典 型 的 层 次 数 据 库 系 统 是IBM 公 司 在 1968 年 开 发 的 IMS( Information
7、 Management System) , 一 种 适 合 其 主 机 的 层 次 数 据 库 。 这 是 IBM 公 司 研 制 的 最 早 的 大 型 数 据 库 系 统 程 序 产 品 。 从 60 年 代 末 产 生 起 , 如 今 已 经 发 展 到IMSV6, 提 供 群 集 、 N 路 数 据 共 享 、 消 息 队 列 共 享 等 先 进 特 性 的 支 持 。 这 个 具 有 3 0 年 历 史 的 数 据 库 产 品 在 如 今 的 WWW 应 用 连 接 、 商 务 智 能 应 用 中 扮 演 着 新 的 角 色 。1973 年 Cullinane 公 司 ( 也 就 是
8、 后 来 的 Cullinet 软 件 公 司 ) , 开 始 出 售 Goodrich 公 司 的 IDMS 改 进 版 本 , 并 且 逐 渐 成 为 当 时 世 界 上 最 大 的 软 件 公 司 。2. 关 系 数 据 库 的 由 来网 状 数 据 库 和 层 次 数 据 库 已 经 很 好 地 解 决 了 数 据 的 集 中 和 共 享 问 题 , 但 是 在 数 据 独立 性 和 抽 象 级 别 上 仍 有 很 大 欠 缺 。 用 户 在 对 这 两 种 数 据 库 进 行 存 取 时 , 仍 然 需 要 明 确 数据 的 存 储 结 构 , 指 出 存 取 路 径 。 而 后 来
9、 出 现 的 关 系 数 据 库 较 好 地 解 决 了 这 些 问 题 。1970 年 , IBM 的 研 究 员 E.F.Codd 博 士 在 刊 物 Communication of the ACM上 发 表 了 一 篇 名 为 “A Relational Model of Data for Large Shared Data Banks”的论 文 , 提 出 了 关 系 模 型 的 概 念 , 奠 定 了 关 系 模 型 的 理 论 基 础 。 尽 管 之 前 在 1968 年 Childs 已 经 提 出 了 面 向 集 合 的 模 型 , 然 而 这 篇 论 文 被 普 遍 认 为
10、 是 数 据 库 系 统 历 史 上 具 有 划 时代 意 义 的 里 程 碑 。 Codd 的 心 愿 是 为 数 据 库 建 立 一 个 优 美 的 数 据 模 型 。 后 来 Codd 又 陆续 发 表 多 篇 文 章 , 论 述 了 范 式 理 论 和 衡 量 关 系 系 统 的 12 条 标 准 , 用 数 学 理 论 奠 定 了 关系 数 据 库 的 基 础 。 关 系 模 型 有 严 格 的 数 学 基 础 , 抽 象 级 别 比 较 高 , 而 且 简 单 清 晰 , 便 于理 解 和 使 用 。 但 是 当 时 也 有 人 认 为 关 系 模 型 是 理 想 化 的 数 据
11、模 型 , 用 来 实 现 DBMS 是不 现 实 的 , 尤 其 担 心 关 系 数 据 库 的 性 能 难 以 接 受 , 更 有 人 视 其 为 当 时 正 在 进 行 中 的 网 状数 据 库 规 范 化 工 作 的 严 重 威 胁 。 为 了 促 进 对 问 题 的 理 解 , 1974 年 ACM 牵 头 组 织 了 一次 研 讨 会 , 会 上 开 展 了 一 场 分 别 以 Codd 和 Bachman 为 首 的 支 持 和 反 对 关 系 数 据 库 两派 之 间 的 辩 论 。 这 次 著 名 的 辩 论 推 动 了 关 系 数 据 库 的 发 展 , 使 其 最 终 成
12、 为 现 代 数 据 库 产品 的 主 流 。1969: Edgar F。 “Ted” Codd 发 明 了 关 系 数 据 库1970 年 关 系 模 型 建 立 之 后 , IBM 公 司 在 San Jose 实 验 室 增 加 了 更 多 的 研 究 人 员研 究 这 个 项 目 , 这 个 项 目 就 是 著 名 的 System R。 其 目 标 是 论 证 一 个 全 功 能 关 系 DBMS 的 可 行 性 。 该 项 目 结 束 于 1979 年 , 完 成 了 第 一 个 实 现 SQL 的 DBMS。 然 而 IBM对 IMS 的 承 诺 阻 止 了 System R 的
13、 投 产 , 一 直 到 1980 年 System R 才 作 为 一 个 产 品正 式 推 向 市 场 。 IBM 产 品 化 步 伐 缓 慢 的 三 个 原 因 : IBM 重 视 信 誉 , 重 视 质 量 , 尽 量 减 少故 障 ; IBM 是 个 大 公 司 , 官 僚 体 系 庞 大 ; IBM 内 部 已 经 有 层 次 数 据 库 产 品 , 相 关 人 员 不积 极 , 甚 至 反 对 。然 而 同 时 , 1973 年 加 州 大 学 伯 克 利 分 校 的 Michael Stonebraker 和 Eugene Wong 利 用 System R 已 发 布 的 信
14、 息 开 始 开 发 自 己 的 关 系 数 据 库 系 统 Ingres。 他 们 开 发 的 Ingres 项 目 最 后 由 Oracle 公 司 、 Ingres 公 司 以 及 硅 谷 的 其 他 厂 商 所 商 品 化 。 后 来 , System R 和 Ingres 系 统 双 双 获 得 ACM 的 1988 年 “软 件 系 统 奖 ”。1976 年 霍 尼 韦 尔 公 司 (Honeywell)开 发 了 第 一 个 商 用 关 系 数 据 库 系 统 Multics Relational Data Store。 关 系 型 数 据 库 系 统 以 关 系 代 数 为 坚
15、 实 的 理 论 基 础 , 经 过 几 十 年的 发 展 和 实 际 应 用 , 技 术 越 来 越 成 熟 和 完 善 。 其 代 表 产 品 有 Oracle、 IBM 公 司 的 DB2、 微 软 公 司 的 MS SQL Server 以 及 Informix、 ADABASD 等 等 。3. 结 构 化 查 询 语 言 (SQL)1974 年 , IBM 的 Ray Boyce 和 Don Chamberlin 将 Codd 关 系 数 据 库 的 12 条 准则 的 数 学 定 义 以 简 单 的 关 键 字 语 法 表 现 出 来 , 里 程 碑 式 地 提 出 了 SQL(S
16、tructured Query Language)语 言 。 SQL 语 言 的 功 能 包 括 查 询 、 操 纵 、 定 义 和 控 制 , 是 一 个 综 合 的 、通 用 的 关 系 数 据 库 语 言 , 同 时 又 是 一 种 高 度 非 过 程 化 的 语 言 , 只 要 求 用 户 指 出 做 什 么 而不 需 要 指 出 怎 么 做 。 SQL 集 成 实 现 了 数 据 库 生 命 周 期 中 的 全 部 操 作 。 SQL 提 供 了 与 关系 数 据 库 进 行 交 互 的 方 法 , 它 可 以 与 标 准 的 编 程 语 言 一 起 工 作 。 自 产 生 之 日
17、起 , SQL语 言 便 成 了 检 验 关 系 数 据 库 的 试 金 石 , 而 SQL 语 言 标 准 的 每 一 次 变 更 都 指 导 着 关 系 数据 库 产 品 的 发 展 方 向 。 然 而 , 直 到 二 十 世 纪 七 十 年 代 中 期 , 关 系 理 论 才 通 过 SQL 在 商业 数 据 库 Oracle 和 DB2 中 使 用 。1986 年 , ANSI 把 SQL 作 为 关 系 数 据 库 语 言 的 美 国 标 准 , 同 年 公 布 了 标 准 SQL文 本 。 目 前 SQL 标 准 有 3 个 版 本 。 基 本 SQL 定 义 是 ANSIX313
18、5-89, “Database Language - SQL with Integrity Enhancement”ANS89, 一 般 叫 做 SQL-89。 SQL-89 定义 了 模 式 定 义 、 数 据 操 作 和 事 务 处 理 。 SQL- 89 和 随 后 的 ANSIX3168-1989, “Database Language-Embedded SQL”构 成 了 第 一 代 SQL 标 准 。 ANSIX3135-1992ANS92描 述 了 一 种 增 强 功 能 的 SQL, 现 在 叫 做 SQL-92 标 准 。 SQL-92 包 括 模 式 操 作 , 动 态 创
19、建 和 SQL 语 句 动 态 执 行 、 网 络 环 境 支 持 等 增 强 特 性 。 在 完 成 SQL-92 标 准 后 , ANSI和 ISO 即 开 始 合 作 开 发 SQL3 标 准 。 SQL3 的 主 要 特 点 在 于 抽 象 数 据 类 型 的 支 持 , 为 新一 代 对 象 关 系 数 据 库 提 供 了 标 准 。4、 数 据 库 巨 人 的 诞 生 甲 骨 文 公 司 ( Oracle)1976 年 IBM E.F.Codd 发 表 了 一 篇 里 程 碑 的 论 文 “R 系 统 :数 据 库 关 系 理 论 ”, 介 绍了 关 系 数 据 库 理 论 和 查
20、 询 语 言 SQL。 Oracle 的 创 始 人 Ellison 非 常 仔 细 地 阅 读 了 这 篇 文章 , 被 其 内 容 震 惊 , 这 是 第 一 次 有 人 用 全 面 一 致 的 方 案 管 理 数 据 信 息 。 作 者 E.F.Codd十 年 前 就 发 表 了 关 系 数 据 库 理 论 , 并 在 IBM 研 究 机 构 开 发 原 型 , 这 个 项 目 就 是 R 系 统, 存 取 数 据 表 的 语 言 就 是 SQL。 Ellison 看 完 后 , 敏 锐 意 识 到 在 这 个 研 究 基 础 上 可 以 开发 商 用 软 件 系 统 。 而 当 时 大
21、 多 数 人 认 为 关 系 数 据 库 不 会 有 商 业 价 值 。 Ellison 认 为 这 是他 们 的 机 会 :他 们 决 定 开 发 通 用 商 用 数 据 库 系 统 Oracle, 这 个 名 字 来 源 于 他 们 曾 给 中 央情 报 局 做 过 的 项 目 名 。 几 个 月 后 , 他 们 就 开 发 了 Oracle 1.0 。 但 这 只 不 过 是 个 玩 具 ,除 了 完 成 简 单 关 系 查 询 不 能 做 任 何 事 情 , 他 们 花 相 当 长 的 时 间 才 使 Oracle 变 得 可 用 ,维 持 公 司 运 转 主 要 靠 承 接 一 些
22、数 据 库 管 理 项 目 和 做 顾 问 咨 询 工 作 。 而 IBM 却 没 有 计 划开 发 , 为 什 么 蓝 色 巨 人 放 弃 了 这 个 价 值 上 百 亿 的 产 品 , 原 因 有 很 多 : IBM 的 研 究 人 员大 多 是 学 术 出 身 , 他 们 最 感 兴 趣 的 是 理 论 , 而 非 推 向 市 场 的 产 品 , 从 学 术 上 看 , 研 究 成果 应 公 开 , 发 表 论 文 和 演 讲 能 使 他 们 成 名 , 为 什 么 不 呢 ? 还 有 一 个 很 主 要 的 原 因 就 是 IBM 当 时 有 一 个 销 售 得 还 不 错 的 层 次
23、 数 据 库 产 品 IMS。 直 到 1985 年 I B M 才 发 布 了关 系 数 据 库 D B 2 ,Ellision 那 时 已 经 成 了 千 万 富 翁 。 Ellison 曾 将 IBM 选 择 Microsoft 的 MS-DOS 作 为 IBM-PC 机 的 操 作 系 统 比 为 : “世 界 企 业 经 营 历 史 上 最 严 重 的 错 误 , 价值 超 过 了 上 千 亿 美 元 。 ”IBM 发 表 R 系 统 论 文 , 而 且 没 有 很 快 推 出 关 系 数 据 库 产 品 的 错误 可 能 仅 仅 次 之 。 Oracle 的 市 值 在 1996
24、年 就 达 到 了 280 亿 美 元 。5. 面 向 对 象 数 据 库随 着 信 息 技 术 和 市 场 的 发 展 , 人 们 发 现 关 系 型 数 据 库 系 统 虽 然 技 术 很 成 熟 , 但 其 局限 性 也 是 显 而 易 见 的 : 它 能 很 好 地 处 理 所 谓 的 “表 格 型 数 据 ”, 却 对 技 术 界 出 现 的 越 来 越多 的 复 杂 类 型 的 数 据 无 能 为 力 。 九 十 年 代 以 后 , 技 术 界 一 直 在 研 究 和 寻 求 新 型 数 据 库 系统 。 但 在 什 么 是 新 型 数 据 库 系 统 的 发 展 方 向 的 问
25、题 上 , 产 业 界 一 度 是 相 当 困 惑 的 。 受 当时 技 术 风 潮 的 影 响 , 在 相 当 一 段 时 间 内 , 人 们 把 大 量 的 精 力 花 在 研 究 “面 向 对 象 的 数 据库 系 统 (object oriented database)”或 简 称 “OO 数 据 库 系 统 ”。 值 得 一 提 的 是 , 美 国 Stonebraker 教 授 提 出 的 面 向 对 象 的 关 系 型 数 据 库 理 论 曾 一 度 受 到 产 业 界 的 青 睐 。 而 Stonebraker 本 人 也 在 当 时 被 Informix 花 大 价 钱 聘
26、为 技 术 总 负 责 人 。然 而 , 数 年 的 发 展 表 明 , 面 向 对 象 的 关 系 型 数 据 库 系 统 产 品 的 市 场 发 展 的 情 况 并 不理 想 。 理 论 上 的 完 美 性 并 没 有 带 来 市 场 的 热 烈 反 应 。 其 不 成 功 的 主 要 原 因 在 于 , 这 种 数据 库 产 品 的 主 要 设 计 思 想 是 企 图 用 新 型 数 据 库 系 统 来 取 代 现 有 的 数 据 库 系 统 。 这 对 许 多已 经 运 用 数 据 库 系 统 多 年 并 积 累 了 大 量 工 作 数 据 的 客 户 , 尤 其 是 大 客 户 来
27、说 , 是 无 法 承受 新 旧 数 据 间 的 转 换 而 带 来 的 巨 大 工 作 量 及 巨 额 开 支 的 。 另 外 , 面 向 对 象 的 关 系 型 数 据库 系 统 使 查 询 语 言 变 得 极 其 复 杂 , 从 而 使 得 无 论 是 数 据 库 的 开 发 商 家 还 是 应 用 客 户 都 视其 复 杂 的 应 用 技 术 为 畏 途 。6. 数 据 管 理 的 变 革二 十 世 纪 六 十 年 代 后 期 出 现 了 一 种 新 型 数 据 库 软 件 : 决 定 支 持 系 统 (DSS), 其 目 的是 让 管 理 者 在 决 策 过 程 中 更 有 效 地
28、利 用 数 据 信 息 。 于 是 在 1970 年 , 第 一 个 联 机 分 析处 理 工 具 Express 诞 生 了 。 其 他 决 策 支 持 系 统 紧 随 其 后 , 许 多 是 由 公 司 的 IT 部 门开 发 出 来 的 。1985 年 , 第 一 个 商 务 智 能 系 统 (business intelligence)由 Metaphor 计 算 机 系 统 有限 公 司 为 Procter & Gamble 公 司 开 发 出 来 , 主 要 是 用 来 连 接 销 售 信 息 和 零 售 的 扫 描 仪数 据 。 同 年 , Pilot 软 件 公 司 开 始 出
29、 售 第 一 个 商 用 客 户 /服 务 器 执 行 信 息 系 统 Command Center。 同 样 在 这 年 , 加 州 大 学 伯 克 利 分 校 Ingres 项 目 演 变 成 Postgres, 其 目标 是 开 发 出 一 个 面 向 对 象 的 数 据 库 。 此 后 一 年 , Graphael 公 司 开 发 了 第 一 个 商 用 的 对象 数 据 库 系 统 Gbase。1988 年 , IBM 公 司 的 研 究 者 Barry Devlin 和 Paul Murphy 发 明 了 一 个 新 的 术 语信 息 仓 库 , 之 后 , IT 的 厂 商 开
30、始 构 建 实 验 性 的 数 据 仓 库 。 1991 年 , W.H. “Bill“ Inmon 出 版 了 一 本 “如 何 构 建 数 据 仓 库 ”的 书 , 使 得 数 据 仓 库 真 正 开 始 应 用 。1991: W.H.“Bill” Inmon 发 表 了 ”构 建 数 据 仓 库 ”二 十 世 纪 九 十 年 代 , 随 着 基 于 PC 的 客 户 /服 务 器 计 算 模 式 和 企 业 软 件 包 的 广 泛 采 用, 数 据 管 理 的 变 革 基 本 完 成 。 数 据 管 理 不 再 仅 仅 是 存 储 和 管 理 数 据 , 而 转 变 成 用 户 所 需要 的 各 种 数 据 管 理 的 方 式 。 Internet 的 异 军 突 起 以 及 XML 语 言 的 出 现 , 给 数 据 库 系 统的 发 展 开 辟 了 一 片 新 的 天 地 。