全文预览已结束
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 开放源代码数据库系统之比较 开放源代码数据库系统之比较 韩近强 高军 杨冬青 唐世渭 北京大学计算机科学与技术系 北京 100871 Email jqhan 摘要 开放源代码软件的流行推动了计算机软件的发展 本文从几个方面分析并比较了四 种开放源代码的数据库系统 关键字 开放源代码数据库 MySQL PostgreSQL SAPDB InterBase Compare of the Open Source Databases Compare of the Open Source Databases Han Jinqiang Gao Jun Yang Dongqing Tang Shiwei Dept of Computer Science Peking University Beijing 100871 Abstract Open source software impels the development of computer software This article analyses and compares four open source databases from several aspects Keywords open source database MySQL PostgreSQL SAPDB InterBase 当今开放源代码的软件被越来越广泛 的使用着 像 Linux 操作系统一样 开放源 代码的数据库的出现也有其必然性 在当 Oracle IBM Microsoft 等几大数据库厂商 在数据库领域处于垄断地位的时候 出现了 以 PostgreSQL 和 MySQL 为代表的开放源代 码的数据库系统 它们的出现推动了软件事 业的发展 开放源代码的数据库相比商业数据库 有着许多的优势 使用免费 管理简单 系 统小巧精干 功能可以与商业数据库相比甚 至更强大 如 PostgreSQL 开放源代码的 数据库也有它的劣势比如它没有稳定技术 支持 如果使用中出了问题将会是很麻烦的 事 不过目前也出现了一些公司对这些开放 源代码的程序提供非免费的技术支持 据不完全统计 目前世界上存在至少上 百 种 开 放 源 代 码 的 数 据 库 系 统 ACM SIGMOD 8 上列出了60多种目前公众可 以使用的开放源代码的数据库系统 这其中 包括比较著名 MySQL 1 PostgreSQL 2 SAPDB 3 InterBase 4 mSQL miniSQL 等数据库系统 同时还有许多用 Java 写的 数据库系统和 XML 数据库 如 HyperSonic XQL Mckoi SQL SMYLE eXist 我们这里 只比较用内核用 C 编写的四个数据库系统 MySQL PostgreSQL SAPDB InterBase 我们选取的这四个数据库系统原因有三 一 是它们的功能强大 文档齐全 二是使用广 泛 三是有开发人员还在进行再开发 各种开放源代码的数据库开放其代码 的初衷也是不一样的 主要来说有三种 一 是由大学科研原型系统转变为当今的开放 源代码数据库 如 PostgreSQL 二是由一个 人或者几个人自发的开发的数据库系统 如 MySQL 三是一些商业数据库为了推广自己 的产品扩大市场份额开放了自己的源代码 如 InterBase 和 SAPDB 需要说明的是我们这里的比较的四种 数据库使用分别是发稿截至时的最新版本 MySQL4 0 5 PostgreSQL7 3 SAPDB7 4 InterBase6 0 1 下面我们先简单介绍一下 每种开放源代码的数据库系统的背景 1 简介简介 1 1 MySQL MySQL 最早起始与 1979 年 Michael Monty 为瑞典 TcX 公司创建的数据库 它是 一个快速的多线程和多用户的数据库系统 MySQL 对自己的数据库有一个定位就是世界 最流行 the world s most popular 的 开放源代码的数据库 不错 MySQL 当前来看 使用者明显超过其他数据库 但是它也有自 己数据库功能上的缺陷 我们下面会提到 1 2 PostgreSQL 2 PostgreSQL 对自己的定位是最先进 the most advanced 的开放源代码的数 据库 的确在使用中我们也深深的地体会到 了这一点 PostgreSQL 是一个对象关系数据 库系统 它不仅支持关系数据库的各种功 能 而且还支持类 继承等功能 它的发展 主 要 经 历 了 三 个 阶 段Postgres Postgres95 PostgreSQL Postgres 项目开 始于 1984 年 它是加州大学 Berkeley 分校 的 Michael Stonebraker 领导的一个科研项 目 当时 Postgres 使用的查询语言是自己 的定义的 Postquel 语言 1994 年 Andrew Yu 和 Jolly Chen 为 Postgres 增加了一个 SQL 的解释器 这就是 Postgres95 1996 年开 发者选择了一个新的名字 PostgreSQL 以反 映 Postgres 版本和 SQL 的能力 1 3 SAPDB SAPDB 对自己的定位是面向企业 FREE Enterprise 开放源代码数据库 SAPDB 是德 国软件巨头 SAP 公司开发的数据库系统 2000 年底 SAP 公司决定开放其数据库系统 的源代码 SAPDB 国内用的比较少 在欧洲 使用的人可能多一些 给我们的感觉 SAPDB 系统和 Oracle 很像 兼容 Oralce 的 SQL 语 法 并且有像 Oracle 一样的图形化的管理 数据库的 GUI 管理数据库非常容易方便 1 4 InterBase InterBase 数 据 库 是 美 国 Inprise Borland 公司 80 年代开始开发的大型关系 数据库 2000 年 6 月 Borland 公司开放了 InterBase6 0 的源代码 后来引发了命为 firebird 9 开放源代码的计划 InterBase 4 0 是免费的 但是在 InterBase 5 0 以后 Borland 公司决定走商业软件的模式 开始 对其收费 后来随着自由软件的盛行 最终 还是推出免费的 InterBase 6 0 加入了开 发代码的行列 在其开放其源代码不久 一 些使用者通过分析源代码发现 InterBase 6 0 有安全漏洞 于是 Borland 公司马上推 出修补漏洞的版本 InterBase6 01 但是其 后续推出的6 5和7 0版本没有继续开放其 源代码 2 支持的平台支持的平台 总 的 来 说MySQL PostgreSQL和 InterBase 支持绝大对数的平台 SAPDB 相 比之下支持的少一下 不过它对大部分常用 的平台是支持的 它们都支持的平台有 AIX HP UX Linux Solaris Tru64 Unix Windows 9x Me NT 2000 and XP MySQL PostgreSQL 和 InterBase 除此之外 还支持 FreeBSD SCO UNIX SGI IRIX 等其 他平台 PostgreSQL 在 Windows 平台下的安装 需要 Cygwin 环境 这一点我们认为是 PostgreSQL 的 目 前 一 大 缺 陷 不 过 把 PostgreSQL 移植到 Windows 平台下并非易 事 由于 PostgreSQL 初衷就是 Unix 环境下 的数据库系统 它的源代码中用到了大量的 和 Unix 操作系统相关的系统调用 目前 PostgreSQL 的开发人员正在进行 win32 移 植 3 源代码大小源代码大小 MySQL和InterBase有Linux Unix和 Windows平 台 下 的 两 套 源 代 码 PostgreSQL SAPDB 的只有一套源代码 表 1 中列出的每个数据库代码量的大小 我 们认为 PostgreSQL 的代码功能比最高 MySQL 代码量较少但是功能也较弱 SAPDB 和 InterBase 系统虽然相比大些 但 是它们的实用性和功能很强 Unix My P SAP IB 压缩包 11 4M10 5M 13M 7 2M 解压后 53 3M43 1M 77 9M 40 4M C 代码 11 2M12 8M 31 9M 32 1M WindowsMy PG SAP IB 压缩包 13 2M 13M 8 3M 解压后 48 3M 77 9M 41 4M C 代码 14 7M 31 9M 33M 表 1 4 功能功能 总的来说 PostgreSQL 数据库的功能最 强 而 MySQL 的数据库的功能最弱 SAPDB 和 InterBase 功能较强 我们有数据库的功 能有一个总结 10 4 1 基本功能基本功能 这四种数据库都基本上支持 SQL92 的 entry level 并带有一些扩展或不同 PostgreSQL 支持一些 SQL92 full level 和 3 SQL99 的一部分功能 MySQL 虽然使用的比 较普遍 但是许多数据库应该有的功能并不 支持 起初的 MySQL 是不支持事务操作的 众所周知 不支持事务操作的数据库不能称 为完整的数据库系统 为了弥补这一不足 他们引入 Berkeley DB 5 和 InnoDB 6 到他 们的数据库系统系统中 所以目前的 MySQL 的六种表类型中有两种支持事务操作的表 类型 BDB InnoDB 还有四种不支持事务的 表类型 HEAP ISAM MERGE and MyISAM InnoDB 支持事务原子操作 行级别的锁 破 坏后的恢复 多版本控制 外码支持等机制 它比仅支持事务操作的 Berkeley DB 功能要 强 尽管 MySQL 引入了 InnoDB 目前它对存 储过程 嵌套查询 视图 触发器等数据库 基本功能还是不支持的 4 2 支持的数据类型支持的数据类型 这四种数据库都支持常用的数据类型 如整数 单双精浮点数 定点数 日期时间 定长字符串 变长字符串 大对象等等 除 此之外 MySQL 还支持集合 Set 和枚举 Enum 类型 PostgreSQL 支持许多几何类型和网络 地址类型 PostgreSQL 和 SAPDB 还支持序列 Sequence 和布尔类型 4 3 中文支持中文支持 我们还研究了这四种数据库对中文的 支持情况 MySQL 需要修改 character set 变量为 gb2312 两种方法修改 一种是在 Linux 编 译 配 置 时 加 入 参 数 with charset gb2312 或 者 在MySQL启 动 时 设 定 default character set gb2312 这样 数据库名 表名 字段名 数据内容就都可 以为中文 PostgreSQL 不用设置用户名 表名 字 段名 数据库名 数据内容都可以是中文 SAPDB 用户名 表名 字段名 都可以 是中文 但数据库名不可以是中文 这一切 都需要在创建数据库实例是设置参数 UNICODE YES InterBase 用户名 数据库名 字段名 数据内容都可以使用中文 但是表名不可 以 我们建议使用英文的数据库名和字段 名 4 4 编程接口编程接口 表 2 列出了四种数据库支持的编程接 口 M P S I ODBC支持 支持 支持 第三方 JDBC 支持 支持 支持 支持 PHP 支持 支持 支持 第三方 Perl 支持 支持 支持 第三方 C 支持 支持 支持 C 支持 支持 支持 Python 支持 支持 支持 第三方 TCL 支持 支持 第三方 嵌入 SQL 支持 支持 支持 表 2 5 大数据量测试结果大数据量测试结果 我们使用AS3AP标准对这四种数据库进 行了测试比较 测试分为单用户测试和多用 户测试 具体的测试结果参看 10 单用户 连接下 我们发现 1 没有那个数据库绝对快 每个数据库都 有自己的优势 SAPDB 插入的速度要快 于其他的数据库 但是它建立表和删除 表的速度要比其他的慢 PostgreSQL 的连接速度比其他的慢 MySQL 在索引 的建立和删除上速度比其他的要慢 InterBase 在各方面都比较快 2 MySQL 的 MyISAM 类型的表要比 InnoDB 快 InnoDB 又比 Berkeley DB 快 3 MySQL 的 MyISAM 类型的表由于没有事 务处理要比其它数据库快一些 4 PostgreSQL 有两种运行模式 fsync 和 0 200 400 600 800 1000 1200 1400 1481216202430 用户数 TPS PostgreSQLInterbaseSAPDB MySQLInnoDBBDB 4 nofsync fsync 模式下每个事务执行后 都要写回磁盘 因此 nofsync 模式下执 行 insert 或 update 语句时要比 fsync 模式快一倍 多用户连接下 PostgreSQL和MySQL 的 TPS 要明显高于 SAPDB 和 InterBase 图 1 显示了多用户连接下的数据库事务处理能 力 结论结论 我们认为这四种数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精神文明创建工作方案
- 2026年自考03228眼耳鼻喉口腔科护理学试题及答案
- 2025年新疆博尔塔拉蒙古自治州政府采购评审专家考试真题含标准答案
- 园林工程工期保证体系及措施
- 2025年房产投资试题及答案
- 2025年新疆昌吉自治州阜康市政府采购评审专家考试真题(附含答案)
- 2026年动物检疫检验员题库及答案
- 2025泰安市泰山城建集团有限公司部分权属企业工作人员招聘(56人)笔试历年备考题库附带答案详解
- 2025江西吉安泰和县工投建设集团有限公司及子公司招聘工作人员调整岗位要求笔试历年典型考点题库附带答案详解
- 2025江苏海润城市发展集团有限公司下属子公司招聘招商人员拟录用人员笔试历年备考题库附带答案详解
- GB 17565-2022防盗安全门通用技术条件
- JGJT261-2011 外墙内保温工程技术规程
- 经典车间5S检查表 含图片样板
- 结构化面试课件
- 光缆施工规范及要求
- 第四轮教育部学科评估结果汇总【全部学科】Excel版
- 铁道概论PPT完整全套教学课件
- 机械工程学院本科毕业设计图纸规范要求
- 酒精(乙醇)安全技术说明书(MSDS)
- 结婚函调报告表
- GB/T 4604.2-2013滚动轴承游隙第2部分:四点接触球轴承的轴向游隙
评论
0/150
提交评论