以前长期用的MySQL,现在项目用的DB2,学习是避免不了的,那就勇往直前。在MySQL的基础上对比DB2,这样既可以巩固MySQL,又可以更快接收DB2的知识内容,所以先正一篇关于两种数据库对比的文章。
编号 | 功能 | MySQL | DB2 |
---|---|---|---|
1 | 账号管理 | 数据库用户名+IP地址 | 操作系统用户 |
2 | 权限管理 | 可以批量grant与revoke | 只能单独授权包括最小单元 |
3 | 日志管理 | 归档日志与事务日志没有关系 | 归档日志由事务日志产生 |
4 | 锁的管理 | MVCC实现锁的并发控制 | 内存模型实现锁的并发控制 |
5 | schema的管理 | 每个schema为一个独立的DB | 同一个DB内可以有多个schema |
6 | 表空间管理 | 无法条带化、可管理、维护性较弱 | 管理方便、功能强大 |
7 | 数据备份 | 开源在线的备份工具少,传统的备份只支持温备份 | 备份方式严谨、功能强大 |
8 | 事务行为 | 回滚到上一个保存点,不会回滚整个事务 | 整个事务进行回滚 |
9 | 数据恢复 | 支持在恢复时打开数据库,灵活 | 不支持在恢复或前滚时打开数据库 |
10 | SQL支持 | 对复杂SQL支持较弱,在运行时可能会存在性能问题 | 支持各种复杂SQL,多种jion方式 |
11 | Package支持 | 不支持 | 支持 |
12 | 语法差异 | 遵守SQL92标准,但细节上有差异、默认大小写敏感 | 遵守SQL92标准,大小写不敏感 |
13 | 容灾与高可用 | 可选择方案较多、灵活、可二次开发 | 只有HADR |
14 | 可扩展性 | 可选择方案较多、灵活、可定制、可开发 | 只有PureScale |
15 | DDL功能 | 支持指定位置加列、在线DDL | 不支持 |
相关参考文章:
MySQL与DB2数据库差异化分析研究