当尝试安装了达梦数据库后,发现达梦真的和Oracle数据库太像了,甚至很多语法都相同。
比如:Oracle登录数据库采用sqlplus,达梦采用disql。
比如查看数据视图:达梦和Oracle都有 v$instance、v$database、dba_users等,使用的语句也都一样,唯一就是有些字段不同,比如查看数据库状态时,达梦是 status$,Oracle是 status。
当前国产数据库可以分为四大类:Oracle系,MySQL系,Informix系,PostgreSQL系
Oracle系的如武汉达梦;MySQL系如巨杉DB、阿里云、TIDB等;Informix系如南大通用;PostgreSQL系如华为GaussDB、金仓等
一、达梦与Oracle各产品对比
二、达梦数据库架构演进
三、达梦与Oracle数据库产品对比
3.1 数据库安装
达梦:
图形界面,基本操作简单,照着提示下一步基本完成;
命令行界面,字符操作,按照提示进行相应选择;
Oracle:
图形界面,内容相对达梦更多,先决条件检查等
静默安装,需提前准备好响应参数文件
3.2 数据库体系结构
达梦:单进程多线程,达梦分为实例与数据库两部分
实例,一组正在运行的DM后台进程/线程以及一个大型的共享内存组成,包含监听线程、工作线程、IO线程、调度线程、日志相关线程等。
数据库,由一组物理文件组成,包含数据文件、日志文件、控制文件以及临时文件等。
控制文件一主一备,备用的只有主不可用的情况才会被使用。
Oracle:多进程
实例,也是一组进程以及共享内存组成,涵盖进程更多
数据库,也是一组物理文件,如数据文件、日志文件、控制文件等
oracle的控制文件可以有多组,同时在线使用
3.3 表空间管理
达梦:
达梦表空间由数据文件组成,一个表空间可以有多个数据文件,一个数据文件只能地属于一个表空间;
仅能对表空间进行offline,不能针对某个数据文件offline;
数据文件迁移,通过一个命令可以直接在操作系统层移动文件完成整体迁移;
Oracle:
由数据文件组成,一个表空间可以有多个数据文件,一个数据文件只能地属于一个表空间;
能对表空间或者数据文件进行offline;
在12c以前,需要手动在操作系统层进行数据文件迁移,然后在数据库层更改相关路径参数;12c以后可以实现一键完成数据文件迁移
3.4 用户模式
两者基本一致,唯一不同是:
达梦一个用户下可以有多个模式(schema),Oracle的用户和模式(shema)是一一对应关系。
3.5 关于备份
达梦: dmrman的使用与RMAN很相似,但是只能做冷备,做热备的时候需要在数据库中进行备份操作。
**Oracle:**热备在RMAN中进行操作。
3.6 关于表
达梦: DM默认创建的是索引组织表。
**Oracle:**默认创建的是堆表。
3.7 产品对标
对于oracle有的功能,达梦数据库基本上真的什么都有,比如:
1)数据库对象对比
表、索引、视图、存储过程、约束、包、触发器、同义词、dblink, oralce有的达梦全支持,尤其是同义词国产集中式数据库达梦是唯一有同义词的。
2)安装部署对比
达梦部署简单、支持国产各种芯片和服务器,优于oracle
3)架构对比
oracle 生产中常用的三种架构:ADG、RAC、OGG,达梦对标:DataWatch、DSC、DMHS
4)一体机对比
oracle :Exadata ,达梦对比产品:QDM
5)监控对比
oracle:oem, 达梦:DEM