关于达梦数据库的一些浅显思考

一、什么是达梦数据库

随着信息技术不断发展,达梦数据库也在不断的演进,从最初的数据库管理系统原型 CRDS 发展到 2019 年的 DM8 。1988 年原华中理工大学(华中科技大学前身)研制成功了我国第一个国产数据库管理系统原型 CRDS,这可以看作是 DM 的起源。1991 年,该团队先后完成了军用地图数据库 MDB、知识数据库 KDB、图形数据库 GDB、以及语言数据库 ADB,为达梦数据库的诞生奠定了基础。1992 年原华中理工大学达梦数据库研究所成立, 1993 年该研究所研制的多用户数据库管理系统通过了鉴定,标志着达梦数据库 1.0 版本的诞生。1996 年 DM2 的研制成功,打破了国外数据库垄断,1997 年中国电力财务公司华中分公司财务应用系统首次使用国产数据库 DM2,随后,在全国 76 家分子公司上线使用。

2000 年,我国第一个数据库公司——达梦数据库公司成立,同年 DM3 诞生,经专家评定达到了国际先进水平,DM3 采用独特的三权分立的安全管理体制和改进的多级安全模型,使其安全级别达到了 B1 级,并具有 B2 级功能,高于当时同类进口产品。2004 年,推出的 DM4 性能远超基于开源技术的数据库,并在国家测试中保持第一。2005 年,DM5 在安全可靠及产品化方面得到了完善,荣获了第十届软博会金奖。2009 年,DM6 与国际主流数据库产品兼容性得到了大幅提升,在政府、军工等对安全性要求更高的重要行业领域得到广泛应用。2012 年,新一代达梦数据库管理系统 DM7 发布,该版本支持大规模并行计算、海量数据处理技术,是理想的企业级数据管理服务平台,也是最早获得自主原创证书的国产数据库。2019 年,达梦数据库管理系统 DM8 发布。

2016 年以来达梦大数据平台在公安、政务、信用、司法、审计、住建、国土、应急等 30 多个领域得到了广泛应用。

二、达梦数据库怎么用

这里只说一下达梦数据库一个重要的配置:数据库兼容性。达梦数据库兼容Oracle数据库和MySQL数据库。这里主要介绍与Oracle的兼容性,兼容配置方式如下:

1、DM的dm.ini配置文件中参数设定对Oracle兼容性影响

(1)ORDER_BY_NULLS_FLAG,默认值为0,会话级动态参数。

【说明】:ASC 升序排序时,控制 NULL 值返回的位置。取值 0 或 1。 1 表示 NULL 值在最后返回, 0 表示 NULL 值在最前面返回。在参数等于 1 的情况下, NULL 值的返回与 ORACLE 保持一致。DESC 降序时该参数无效

(2)DATETIME_FMT_MODE,默认值为0,系统级动态参数。

【说明】:是否兼容 ORACLE 日期格式。 0:不兼容; 1:兼容。Oracle中的Date类型与DM中的Date不兼容,与DM中DateTime类型是兼容的。

(3)PL_SQLCODE_COMPATIBLE,默认值为0,静态参数。

【说明】:默认值为 0;如果设置为 1,则 PL 的异常处理中, SQLCODE 的错误码值需要尽量与 ORACLE一致。

(4)LEGACY_SEQUENCE,默认值为0,系统级动态参数。

【说明】:序列兼容参数, 0:与 ORACLE 兼容; 1:与旧版本 DM 兼容,不推荐使用。

2、与Oracle兼容性

目前,大多数应用程序使用的是 Oracle 数据库,用户或多或少地使用了 Oracle 的一些特殊功能,而这些特殊功能在其他数据库中都未实现。为了方便应用的移植, DM 实现了很多 Oracle 独特的功能和语法,使得多数 Oracle 的应用可以不用修改而直接移植到 DM 上面。

Oracle 兼容性方面实现的功能包括: ROWNUM 表达式、多列 IN 语法、层次查询、外连接语法“(+)”、 INSTEAD OF 触发器、 %TYPE 以及记录类型等。

3、DM DCI与Oracle OCI

OCI(Oracle Call Interface)是 ORACLE 公司开发的一个应用程序开发工具,是一个通过访问 Oracle 数据库的服务器,控制各类 SQL 语句的执行,进而创建应用程序的的应用程序接口(API)。它支持 SQL 所有的数据定义、数据操作、查询、事务管理等操作,支持 C和 C++的数据类型、调用、语法和语义。它提供了一组可对 Oracle 数据库进行存取的接口子例程(函数)。

DM DCI 是参照 OCI 的接口标准,结合自身的特点,为开发人员提供向 oracle 兼容功能的一款接口产品。为了与 oracle 兼容, DCI 提供的函数都是以 OCI 开头的与 OCI 同名的函数。

4、DM ProC与Oracle ProC兼容

DM PROC 对 Oracle PROC 的常用语法进行了兼容, 在 dpc_new 预编译命令中将MODE 参数置为 ORACLE 表示使用兼容 ORACLE 语法的编译模式。使用兼容 Oracle 模式时,在编译时还需要使用 sqlca_ora.h、 sqlda_ora.h、 dpc_ora_dll.h。

三、信创大背景下的数据库应用场景

从技术替换的角度,涉及信创的范围有操作系统,中间件,CPU,数据库。而作为系统级软件以及在国民经济中运用最广的数据库软件亟需进行国产替代,其中,武汉达梦数据库股份有限公司就是其中的优秀代表。

达梦数据库对标替代美国甲骨文公司的ORACLE数据库,目前已经在能源,电力,通信,政府,乃至金融行业均得到大规模的使用。在国内信创市场占有率第一,整个数据库市场占有率也名列前茅。

达梦几乎实现了成熟的数据库软件应该具有的所有功能,提供完备的图形化安装,配置,管理工具。提供数据库集群部署架构,实现数据库同城或者异地容灾,提供简单的管理接口。开发方面,提供Go,Python,Java,等几乎所有当下流行的开发语言的支持,同时支持jdbc,odbc等通用的数据库连接配置。

相对Oracle等国外数据库,达梦在中文支持,用户体验方面均进行了很多改进,使得国内工程师更容易上手,且提供了强大的数据迁移工具,可以很方便的将现有生产系统迁移到达梦上。

综上所述,我认为,无论是国产替代,还是有效提升业务性能,达梦数据库软件都是非常不错的选择。

关于达梦数据库的一些浅显思考相关推荐

  1. springBoot+mybaits+达梦数据库

    近年,随着国家的呼应,越来越多的国企相关企业都面临着技术转型,其中数据库也渐渐从mysql.Oracle...转到国内呼声最高的达梦数据库:开发阶段使用一个相对陌生点的数据库还不是什么困难的业务实现, ...

  2. 达梦数据库——Oracle到达梦数据迁移

    ## 迁移思路 1.统计Oracle库中对象以及表数据量: 2.达梦数据库选择合适的初始化参数: BLANK_PAD_MODE 空格填充模式选1, CASE_SENSITIVE 大小写敏感:可以考虑开 ...

  3. 达梦数据库之巡检之道

    达梦数据库安装部署上线之前对操作系统和实例初始化参数都需要进行相关配置与调整,诸多参数是达梦人经过长期积累和实践探索的宝贵知识财富,下边详细介绍相关设置和配置的原因及意义.linux全面调优请参考之前 ...

  4. 【达梦数据库】数据库测试

    文章目录 前言 1 数据库测试 1.1 测试流程 1.2 测试内容 1.3 测试标准 2 TPC-C基准测试 2.1 概念介绍 2.2 模型介绍 2.3 测试流程 2.4 工具介绍 2.5 操作步骤 ...

  5. java获取达梦数据库_Java连接达梦数据库驱动dm_jdbc

    [实例简介] Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm ...

  6. oracle向达梦迁移工作量,从Oracle安全移植到国产达梦数据库的DBA实践

    随着我国对信息安全和自主可控技术的日益重视,国产数据库在党政机关.军队和大型央企等行业中得到了快速应用.达梦数据库(以下简称DM)是国内数据库行业领军企业--达梦推出的一款自主可控的高性能数据库产品. ...

  7. Qt 连接达梦数据库

    2019独角兽企业重金招聘Python工程师标准>>> 前提条件:达梦数据库版本dm7_setup_win32_ent_20160630.Qt Creater5.4.1.操作系统wi ...

  8. 解决达梦数据库新增大字段报错问题

    解决达梦数据库新增大字段报错问题 参考文章: (1)解决达梦数据库新增大字段报错问题 (2)https://www.cnblogs.com/nihaorz/p/11804891.html 备忘一下.

  9. zabbix mysql 表空间_Zabbix监控达梦数据库表空间

    技术实现思路 利用Zabbix监控工具的定制功能.借鉴Zabbix对Oracle的监控原理,实现达梦数据库表空间监控.通过自动发现脚本发现达梦数据库表空间,然后再制定额外的属于达梦表空间的监控项,配置 ...

最新文章

  1. 第三代:集成电路计算机
  2. 寄娱于学第2天——PHP骰子游戏篇--优化
  3. 帝国cms php点击删除,帝国CMS删除内容非本站链接的方法(非插件)
  4. 传惠普下周公布webOS平台最终命运
  5. ajax jq 图片上传请求头_Jquery ajaxsubmit上传图片实现代码
  6. 字符串的展开(洛谷-P1098)
  7. 'Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set.
  8. android:id=@android:id/tabhost 、android:id=@+id/llRoot 、android:id=@id/llRoot 之间的区别...
  9. 中文信息处理——分词评价程序(计算分词结果的准确率,召回率,F测度)
  10. java正则学习笔记
  11. 软件测试2019:第八次作业—— 缺陷管理(含缺陷管理工具的配置实验)
  12. 数字证书驱动_网上申报中环CA数字证书更新流程(图解)
  13. 游戏植入广告获取收益
  14. 【PPT技巧】为PPT寻找好看的英文字体(English nice-looking font free)并安装到Windows
  15. 聚类系数与小世界网络
  16. 点云外包矩形框(六面体)
  17. c语言里10h代表什么,汇编中的10H中断int 10h详细说明
  18. PostgreSQL逻辑备份pg_dump使用及其原理解析
  19. 圆柱体的投影特点_圆柱体三面投影作图方法分析
  20. 网络云存储技术Windows server 2012 (项目十 基于NTFS权限(ADLP原则)的文件共享服务的配置与管理)

热门文章

  1. 计算机毕业设计php的个人财务管理系统
  2. Java程序设计——Swing UI 高级组件(三)
  3. Shopee虾皮网,新手小白如何正确选品?
  4. 【随笔】入坑半年后对嵌入式的一点认识
  5. 网页设计-仿小米商城-前端期末大作业
  6. 四级真题图表作文计算机,大学英语四级考试---图表作文写作方法.ppt
  7. 全球及中国铸铝炊具行业营销状况及竞争动态分析报告(新版)2022-2027
  8. 富士施乐2263 2265 忘记密码 恢复出厂设置
  9. 3d建模和计算机专业对口吗,3D建模的类型:哪种最适合您的需求?
  10. vsco使用教程_VSCO应用程序教程:如何拍摄出和ps过的照片一样完美?