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

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

一、什么是达梦数据库

随着信息技术不断发展,达梦数据库也在不断的演进,从最初的数据库管理系统原型 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等国外数据库,达梦在中文支持,用户体验方面均进行了很多改进,使得国内工程师更容易上手,且提供了强大的数据迁移工具,可以很方便的将现有生产系统迁移到达梦上。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值