db2和mysql的区别是什么?

前言

  IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

db2和mysql的区别是什么?

1、账号管理方式

  MySQL账号管理的方式与Oracle类似,由MySQL自己管理,账号存储在MySQL数据库的user表中,其账号的组成是有ip地址+用户名组成,而DB2没有自己的用户体系,其认证完全依赖于操作系统的账号。

2、权限管理方式

  mysql可以对最小单元的对象可以批量进行授权;DB2则不能,相对比较繁琐。

3、日志管理

  MySQL数据库使用日志双写的方式来保证数据的完整性与可恢复性,MySQL的事务日志与归档日志两个独立的对象,没有任何因果关系。DB2数据库的归档日志是有事务日志产生的。

4、锁的管理方式

  MySQL使用MVCC模型实现锁的并发控制,DB2使用内存模型实现了锁的并发控制,在并发处理、处理资源冲突上讲MySQL的并发处理能力、锁冲突的方式上要优于DB2。

5、schema的管理方式

  MySQL数据库严格意义上讲没有schema的概念,其每个schema相当于独立的一个数据库。db2数据库可以在一个数据库能创建多个schema。

6、表空间的管理方式

  MySQL数据库在表空间上支持相对较弱,存在很多的局限性,在条带化及空间的管理上存在软肋。DB2在这些方面做得都十分完善,管理方便、功能强大,而且易于维护。

7、事务行为

  MySQL会回滚到上一个保存点,不会回滚整个事务;DB2会让整个事务进行回滚。

8、数据恢复

  MySQL支持在恢复时打开数据库,灵活;DB2不支持在恢复或前滚时打开数据库。

9、SQL支持

  MySQL对复杂SQL支持较弱,在运行时可能会存在性能问题;DB2支持各种复杂SQL,多种jion方式。

10、语法差异

  MySQL遵守SQL92标准,但细节上有差异、默认大小写敏感;DB2遵守SQL92标准,大小写不敏感。

11、高可用与容灾设计

  MySQL在高可用及容灾方面有非常多的方案,MySQL原生支持多种架构、复制方案来完成据库的高可用及容灾需求如MHA、PXC及MMM等,而且非常灵活、可根据业务需求进行个性化定制、二次开发,几乎零成本。DB2在这方面只有HADR方案且成本高昂。

12、可扩展性

  MySQL在集群方面也有非常多的解决方案,如Cobar、Atlas、Fabric、Amoeba、TDDL、Mycat而且可以进行定制或者进行二次开发,可根据业务需求进行灵活扩展。DB2在这方面目前只有PureScale一种解决方案,灵活性较差。

上一篇:41 | mysql之复制表的三种方式


下一篇:DB2教程