DB2是IBM一种分布式数据库解决方案。说简单点:DB2就是IBM开发的一种大型关系型数据库平台。
DB2不仅是一种移动计算基础设施,还是一个完整的环境,包含了构建、部署和支持强大的电子商务应用程序所需的工具。
它提供一个“指纹” 引擎,其中包含所有的安全特性,比如表加密和提供高性能的高级索引技术。
诞生于发展
1968:IBM 在 IBM 360 计算机上研制成功了 IMS V1,这是第一个也是最著名的和最为典型的层次型数据库管理系统;
1970:IBM公司的研究员E.F.Codd 发表了业界第一篇关于关系数据库理论的论文,首次提出了关系模型的概念;
1973::IBM研究中心启动了 System R 项目,研究多用户与大量数据下关系型数据库的可行性,
它为 DB2 的诞生打下了良好基础。由此取得了一大批对数据库技术发展具有关键性作用的成果,该项目于1988年被授予ACM 软件系统奖;
1977:System R 原型在3个客户处进行了安装,这标志着 System R 从技术上已经是 一个比较成熟的数据库系统,能够支撑重要的商业应用了。
1981:由于发明了关系型数据库模型,IBM 的研究员 E.F.Codd 接受了ACM图灵奖,这是计算机科学界的最高荣誉;
1988:IBM发布了SQL/400,为集成了关系型数据库管理系统的AS/400服务器提供了SQL支持;
1989:IBM定义了 Common SQL 和 IBM 分布式关系数据库架构,并在 IBM 所有的关系数据库管理系统上加以实现;
数据库特点
支持面向对象的编程
db2支持复杂的数据结构,如无结构文本对象,可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。可以建立用户数据类型和用户自定义函数。
支持多媒体应用程序
db2支持大二分对象(blob),允许在数据库中存取二进制大对象和文本大对象。其中,二进制大对象可以用来存储多媒体对象。
备份和恢复能力
支持存储过程和触发器,用户可以在建表时显示的定义复杂的完整性规则
支持的硅sql查询
支持异构分布式数据库访问
支持数据复制
DB2与oracle的区别
1、体系结构,DB2的实例和数据库分开的做法,实例可以创建多个,数据库的恢复直接恢复到实例下就可以了,相对ORACLE简单;
2、管理工具,DB2的管理工具比较简陋,有很多BUG,不如ORACLE的企业管理器做得好,连WEB版都没有;
3、备份管理,DB2的备份只能说是简陋了,没有备份集的管理功能,没有恢复预览和校验功能,不能写到网络驱动器上,ORACLE的RMAN确实强大;
4、DB2的命令执行方式很灵活,可以在命令行上执行SQL,也可以在命令窗口上执行SQL,相对SQLPLUS灵活多了;
5、DB2的自动维护功能做的很好,可以定期自动整理数据库碎片和重建索引,
唯一不大理想的是自动维护的备份功能不能指定压缩备份,相对而言ORACLE的自动维护功能就很一般了;
6、DB2的运行状况的功能也很好,ORACLE也有类似的AHM,
但是 DB2的运行状况更为直接,可以一下就看出数据库目前问题,DB2还给出了如何处理的建议顾问程序;
7、DB2的内存状况监控功能可以直接在内存状况监控上直接改相应的参数;
8、DB2的远程网络连接采用的编目方式描述连接串的方式感觉不太适合,为了更改客户端的连接服务器的IP地址,
所有的客户端都需要将编目删除,然后重新编目连接地址。ORACLE采用的用文件来配置远程服务器的方式,
所有的PC机都通过更新服务器直接更新本机的TNSNAME;
9、DB2的数据库创建如果要手工管理容器,居然没有指定缺省的系统表空间数据文件名,你要创建一堆相应的文件名;
10、DB2的连接配置图形工具配置一步步配出的连接不能使用,只好使用脚本,这点ORACLE比DB2好;
11、DB2在WINDOWS 平台的可靠性不太好;
12、DB2的锁自动管理机制,打开后,互锁的概率大大降低,相同的程序,在DB2下锁明显少许多;
13、DB2 9.7的ORACLE兼容模式可以减少迁移麻烦;
14、DEB2 的自动内存管理比ORACLE 强一些,几乎所有的内存参数都能自动管理;
15、DB2的导出数据的工具稍微逊色一些;
16、DB2的SQL语句运行速度明显快于ORACLE,5-6段相同的代码,同一台机器,参数都是缺省参数,
DB2执行速度大约要快10%-15%,ORACLE调优后,还是还有5-10%左右的差异。