比较SQL Server与Oracle、DB2

开发数据库应用,选择一个好的数据库是非常重要的。本文从一些方面比较了SQL Server与Oracle、DB2三种数据库,为你选择数据库提供一些参考。

开放性

  SQL Server
  只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且Windows平台的可靠性,安全性和伸缩性是非常有限的。它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时。

  Oracle
  能在所有主流平台上运行(包括 Windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

  DBz
  能在所有主流平台上运行(包括Windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。

可伸缩性,并行性

  SQL Server
  并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果WindowsNT不能满足需要, 用户可以把数据库移到UNIX中。

  DB2 
  DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点。

安全性

  SQL server 
  没有获得任何安全证书。

  Oracle Server
  获得最高认证级别的ISO标准认证。

  DB2
  获得最高认证级别的ISO标准认证。

性能 
  SQL Server 
  多用户时性能不佳

  Oracle
  性能最高, 保持WindowsNT下的TPC-D和TPC-C的世界记录。

  DB2
  适用于数据仓库和在线事物处理,性能较高。 客户端支持及应用模式。

  SQL Server 
  C/S结构,只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。

  Oracle
 多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。

  DB2
  跨平台,多层结构,支持ODBC,JDBC等客户。

操作简便

  SQL Server 
  操作简单,但只有图形界面。

  Oracle
  较复杂, 同时提供GUI和命令行,在Windows NT和Unix下操作相同。

  DB2
  操作简单,同时提供GUI和命令行,在Windows NT和Unix下操作相同。

使用风险

  SQL Server 
  完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。

  Oracle
  长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。

  DB2
  在巨型企业得到广泛的应用,向下兼容性好。风险小。

(0)

相关推荐

  • DB2比较常用与实用sql语句总结

    1.查找员工的编号.姓名.部门和出生日期,如果出生日期为空值,显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd. 复制代码 代码如下: select emp_no,emp_name,dept,isnull(convert(char(10),birthday,120),'日期不详') birthday from employee order by dept 2.查找与喻自强在同一个单位的员工姓名.性别.部门和职称 复制代码 代码如下: select emp_no,emp_name,d

  • CentOS下DB2数据库安装过程详解

    最近因为工作需要在学习DB2数据库,本教程讲解DB2数据库在inux下的安装步骤. 安装前请查看DB2版本和许可证说明来增加了解,先弄明白改安装什么版本,这里我用的是最新的Express-C版本,这个版本是提供给个人学习用的版本. 管理客户端从v9.7版本之后就不再带有控制中心了,而是使用 Data Studio Client. Linux版本: Linux版本下的DB2数据库采用的官方免费版本,操作系统用的CentOS6.2. 安装过程: 1.下载:db2_v101_linuxia32_exp

  • DB2 数据库创建、表的ixf文件导出导入示例

    1.创建数据库 [db2inst1@localhost ~]$ db2set db2codepage=1208 #设置编码 [db2inst1@localhost ~]$ db2 create database wms automatic storage yes using codeset UTF-8territory cn pagesize 32768 #创建wms数据库 //指定db2数据库安装目录 db2 create db xxdb on /app/dbdata using CODEPA

  • DB2 SELECT语句高级用法

    1.创建结果表 create table new_table_nameas ( select * from table_name ) definitiononly; 2.创建物化查询表(MQT) create table new_table_nameas ( select * from table_name ) datainitially deferred refresh deferred; refresh table new_table_name; 注意:物化表类似一个查询,没有真正形成表,类

  • DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .

    首先,是添加数据库实例: DB2的实例之间是相互独立的,实例可以被看作是数据库的容器.而默认DB2装好后会自己建一个名为DB2的实例.我们这里需要新建一个,命令这样敲: 在db2的命令行工具里面打开命令行,然后输入: 复制代码 代码如下: db2icrt INSTNAME 它这个实例名还挺恶心的,必须是小于8个字符的名字. 再用命令行创建好以后才能用那个控制中心的添加实例的功能来添加刚才创建的实例.其实这个添加只是把已有的实例添加到GUI的控制中心里,而不是创建实例....所以,必须注意的是,在

  • Python连接DB2数据库

    在工作中遇到了这样的情况,项目中需要连接IBM的关系型数据库(DB2),关于这方面的库比较稀少,其中 ibm_db 是比较好用的一个库,网上也有教程,但是好像不准确,也不太详细,错误百出,没办法只能拿到后自己分析源码,总算搞定. 安装 环境需求: 首先是数据库DB2,下载连接直接百度,我下载是这两个文件: 只下载箭头所指即可,我还没在linux上做测试. 数据库API(这个东西找了好久,终于找到了合适的)(找不到搜:SQLAPI.zip) Python2.7 VCForPython2.7 ibm

  • DB2 常用命令小结

    1. 打开命令行窗口 #db2cmd 2. 打开控制中心 # db2cmd db2cc 3. 打开命令编辑器 db2cmd db2ce =====操作数据库命令===== 4. 启动数据库实例 #db2start 5. 停止数据库实例 #db2stop 如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force 6. 创建数据库 #db2 create db [dbname] 7. 连接到数据库 #db2

  • db2 导入导出单个表的操作详解

    1.导出整个数据库表结构.方法.存储过程等,执行脚本: db2look –d dbname –e –o db.sql –i username –w password db2 -tvf db.sql 2.单表数据的导出及导入: 导出:db2move dbname export -tn tablename -u db2user -p psw 导入:db2move dbname import -u db2user -p psw 3.数据库的备份.恢复: 备份:db2 BACKUP DATABASE d

  • DB2 常用命令速查(备忘)

    dasauto - 自动启动 DB2 管理服务器    dascrt - 创建 DB2 管理服务器    dasdrop - 除去 DB2 管理服务器    dasmigr - 迁移 DB2 管理服务器    dasupdt - 更新 DB2 管理服务器    db2_deinstall - 卸载 DB2 产品或功能部件    db2_install - 安装 DB2 产品    db2admin - DB2 管理服务器    db2adutl - 管理 TSM 内的 DB2 对象    db2

  • DB2 日期和时间的函数应用说明

    DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday). DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日. DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一. DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表示. DAYS 返回日期的整数表示. JULIAN_DAY 返回从公元前 4712 年 1 月 1 日(儒略日历

  • DB2数据库的备份和恢复

    正在看的db2教程是:DB2数据库的备份和恢复.最近,我恢复了一个数据库.其中的辛苦不予言表,我想写出自己用到的一些语句,和遇到相同问题的xdjm共勉. 首先谈db2数据库的备份,我用的是backup命令. db2 backup database 数据库名(我的库是jsdb) 忘了说了,在backup之前需要停止你要备份的数据库,我用了db2stop force(之所以用force参数是因为这样好停懒省事:)和db2start.这样就保证可以成功backup了. 备份完成后db2会告诉你一个时间

  • DB2 自动递增字段实现方法

    使用这个一般是用作识别码的,当做定义表格的主键.generated语法则可以自定义你想怎么产生这个值的策略. 语法如下: column definition generated {always | by default} as {identity identity rules | using your rules} 我们先删掉上次我们建立的表格: db2 => drop table nomination 然后再创建一个表格: 复制代码 代码如下: Create table nomination

  • DB2如何查看当前用户模式及切换用户

    1. 连接数据库:db2 connect to study 2. 查询当前用户模式:select current schema from sysibm.sysdummy1 或 select current schema from sysibm.dual 3. 切换用户模式:set current schema toms 4. 切换用户: db2 connect to cpsdb user Administrator using 111111 5. 给其他用户授权:db2 grant dbadm

随机推荐