SQL Server与达梦数据库之间的区别
经过一段时间的达梦数据库的培训发现,跟公司使用的SQLServer数据库还是有很多区别的,包括一些抽象概念上,物理存储实现上的区别,现在整理一下。
达梦7的特性
1、通用性
达梦数据库管理系统兼容多种硬件体系,可运行于X86、X64、SPARC、POWER等硬件体系之上。DM各种平台上的数据存储结构和消息通信结构完全一致,使得DM各种组件在不同的硬件平台上具有一致的使用特性。
达梦数据库管理系统产品实现了平台无关性,支持Windows系列、各版本Linux(2.4及2.4以上内核)、Unix、Kylin、AIX、Solaris等各种主流操作系统。达梦数据库的服务器、接口程序和管理工具均可在32位/64 位版本操作系统上使用。
达梦数据库管理系统支持多种主流集成开发环境,包括PowerBuilder、Delphi、Visual studio、.NET、C++Builder、Qt、Jbuilder、Eclipse、Zend Studio等。
支持各种开发框架技术,主要有Spring、Struts、Hibernate、IBATIS sqlmap、EntityFramework、ZendFramework等。
支持主流系统中间件,包括Weblogic、Websphere、Tomcat、Jboss、东方通TongWeb、金蝶Apusic、中创InfoWeb等。
达梦数据库管理系统提供对SQL92的特性支持以及SQL99的核心级别支持;支持多种数据库开发接口,包括OLE DB、ADO、ODBC、OCI、JDBC、Hibernate、PHP、PDO、DB Express以及.Net DataProvider等。
达梦数据库管理系统支持多种网络协议,包括IPV4协议、IPV6协议等。
达梦数据库管理系统完全支持Unicode、GBK18030等常用字符集。
2、高性能
支持列存储、数据压缩、物化视图等面向联机事务分析场景的优化选项;
通过表级行存储、列存储选项技术,在同一产品中提供对联机事务处理和联机分析处理业务场景的支持;
具有对数据分区管理能力,支持对表进行范围分区、哈希分区、列表分区、垂直分区的分区机制,支持多级分区机制。支持分区并发数据处理,包括文字分段并发读取,数据转换规则并发执行,数据并发快速装载,支持100TB级数据处理能力
单节点(4路6核,512G内存以上配置)联机事务处理性能达到60,000TPS(参照TPC-C性能基准,TpmC>2,000,000);
支持2000个以上的高并发处理。
3、高可用
可配置数据守护系统(主备),自动快速故障恢复,具有强大的容灾处理能力。
支持物理备份和恢复,支持在线和离线备份,支持对库、表空间、表、归档等多种粒度的备份,支持基于备份集的方式进行备份,支持完全备份、增量备份的备份和还原,支持基于时间点的还原。
支持逻辑备份恢复,可对库、用户、表进行备份和恢复,支持压缩、并行处理,支持跨平台恢复。
支持逻辑备份恢复和物理备份恢复,并且备份文件可以跨windows和linux、32位和64位等不同的操作系统平台。
4、跨平台
跨平台,支持主流软硬件体系(支持windows、Linux、中标麒麟、银河麒麟等操作系统),支持主流标准接口。
5、高可扩展
支持拓展软件包和多种工具,实现海量数据分析处理、数据共享集群(DSC)和无共享数据库集群(MPP)等扩展功能
Microsoft SQL Server的功能特性
- 支持工具SQL Server Profiler,BI工具,SQL Server Management Studio和数据库优化顾问
- 提供在线支持和文档以及实时产品支持
- 提供用于数据类型映射以及删除和重命名对象的高级自定义选项
- 在进度窗口中显示有关迁移的错误和警告消息
- 用于SQL Server数据库引擎管理和授权的单一集成环境
- 可调整大小的对话框允许在打开对话框时访问多个工具。
- 具有过滤和自动刷新的活动监视器功能
- 从SQL Server Management Studio导入和导出
对比项 |
DM7 |
MS-SQLSERVER |
| 平台 |
Windows&Linux |
Windows,仅在2017版本后加入Linux版本 |
| 数据库语言 | DM_SQL | MS-SQL |
|
作业调度 |
通过代理创建JOB进行调度 | 通过SQL Server代理进行作业调度 |
|
位图索引 |
支持位图索引 | 不支持 |
| 触发器 | DM提供了四种类型的触发器:表级触发器(基于表中的数据进行触发)、事件触发器(基于特定系统事件进行触发,包括库级和模式级)和时间触发器(基于时间进行触发 | SQL Server为我们提供了两种主要类型的触发器:DML触发器和DDL触发器 |
| 安全 | DM7安全版提供四权分立访问控制 | 在实例级别和数据库级别进行身份验证的登录名。 |
| 备份 | 允许完整,文件级,增量和差异备份。 | 允许完整,部分和增量备份 |
| 内存分配 | 遵循全局内存分配 | 遵循动态内存分配 |
技术对比
1.SQLSERVER的用户自定义函数,在MYSQL和达梦数据库里叫存储函数
2.MYSQL里面的事件(EVENT),就是SQLSERVER里面的作业(JOB)
3.达梦数据库里的动态性能视图,SQLSERVER里叫动态管理视图(DMV)
4.达梦数据库里的归档日志文件,SQLSERVER里的事务日志文件
5.MYSQL和达梦数据库里的表空间类似于SQLSERVER里的文件组
6.达梦数据库里的模式(Schema),相当于SQLSERVER里的数据库(database)
7.达梦数据库里的元数据为数据字典,相当于SQLSERVER里的SYS数据
存储结构对比
文体结构不同
1.DM7的文件体系结构为:
数据文件 .dbf(真实数据)
控制文件 .ctl
数据库---表空间-----数据文件--段---簇----页
页是最小的逻辑单元,是数据库最小的分配单位。
数据库由一个或多个表空间组成。
每一个表空间由一个或多个数据文件组成
每一个数据文件由一个或多个簇组成
段是簇的上级逻辑单位,一段可以跨多个数据文件
簇是磁盘上连续的页组成。一个簇总一个数据文件中。
2.SQL server的文件体系结构为:
.mdf (数据字典)
.ndf (数据文件)
.ldf (日志文件)
以页为最小分配单位,每个页为8k(不可控制,缺乏对页的存储情况的分析机制),可将8个连续的页的组成一个‘扩展’,以进一步减少分配时所耗用的资源。(分配缺乏灵活性),在sql server里数据以表的方式存放,而表是存放在数据库里。
针对达梦7中的一些新的概念的理解:
模式(schema):理解为达梦数据库抽象数据类型的集合,包含表、视图和权限定义的对象。
表空间(tablespace):达梦数据库对具体物理存储文件的抽象后缀名为.dbf
用户(User):跟sqlserver区别较大。达梦数据库中用户对应模式,是数据库的使用者