暂无图片
暂无图片
9
暂无图片
暂无图片
7
暂无图片

国产数据库技术发展是否需要建立国家标准?

原创 Skylines 2024-07-30
1319

说到标准,我们第一个会想到ISO,就是国际标准化组织(International Organization for Standardization,简称为ISO),是标准化领域中的一个国际组织,该组织自我定义为非政府组织,这个组织的相关内容我就不必多说了。

国内数据库技术发展需要标准吗

标准是人们对重复性的事、物、概念等内容做出的统一规定。在国内,我们的国家标准化管理委员会对标准是这样定义的,国家标准GB/T 20000.1-2014《标准化工作指南 第1部分: 标准化和相关活动的通用术语》中,标准被定义为:“通过标准化活动,按照规定的程序经协商一致制定,为各种活动或其结果提供规则、指南或特性,供共同使用和重复使用的一种文件。”

在日常生活中,从我们身边的很多产品或者商品上面,比如电器、食品、药品和衣服等,都能看到国际标准和国家标准的身影,有些产品使用强制标准,有些则使用推荐标准,也有很多的产品,使用了多种标准。那么数据库,作为一种软件产品,是否也需要执行一些标准呢?个人认为非常需要。现阶段,国内数据库技术发展到逐渐壮大时期,就更加需要。

从主属性角度看,数据库是属于信息技术类产品,从功能角度看,是属于一种存储数据的软件产品。这一类产品应该需要执行一些标准,研发生产中,至于需要执行强制性标准,推荐性标准或者指导性文件,则视其功能、作用或影响范围和程度等方面综合衡量了。最基本的,就是需要执行SQL-92、SQL-99等不同年份发布的这类国际标准,以及《GB 18030-2022 信息技术 中文编码字符集》这类国家标准。

标准对国内数据库发展有何作用

那么问题就来了,数据库这类软件产品,用上一些标准,也即标准化,会有什么用呢?简单来说,标准对国内研发的数据库,存在一些差异的情况下,也需要有共同的功能或特性,求同存异,国外的数据库也是如此。给数据库制定一些标准,不是为了标准而标准,首先要理解标准的目的。有人说标准的目的是规范市场,引导市场,这个理解还是太片面了。要给数据库制定一些标准,就要从数据库这个产品本身出发,从产品实际的应用中考虑,哪些需要相同,哪些可以保持差异。

标准的性质和目的

标准其实就是一种能够达成共识的语言,一种定义。也可以反过来说,定义也是一种标准。大秦帝国实行“书同文,车同轨,统一度量衡”,也是一种标准,也是标准的目的。 标准是有地域或者范围(统称边界)和时间两个特性,执行了标准,也就是被认可认证。我们平常见到的国际标准、国家标准、地方标准、行业标准、国外先进标准和推荐性标准,这些标准的前缀就体现了它的边界特性。再者,这些标准有实施时间,有现行和废止状态,有些标准部分内容,在某个时间点之后,就从标准消除了,这就体现了他的时间特性。

现在一起来看一些身边使用标准的例子。第一个,数学中的”1”本身也是一种标准。1是一个自然数,是最小的正整数,1的n次方(n∈R)都等于1…,1的这些性质,我们可以一下子说出1+1=2,其实这些数学在我们心中已经达成了一种共识。第二个,国内很多食品药品都需要严格执行一些卫生与安全方面的国家强制性标准(GB),这是为了什么。这是为了让国民和食品药品生产商达成共识,就是每天吃的食物,生病吃的药品,对身体是卫生和安全的。第三个,购买电器的时候,不会去购买国外制造的电器回来用,也不会为了插板去选电器,也不会为了电器选插板,更不会将电器或者插板拿回家试一试合不合适再购买。因为国内制造的电器和插板,都是执行国家标准去制造和生产的,让电器插头的制造商和插板的制造商达成共识。标准的目的,就是在一段时间一定区域范围内,达成一种共识

数据库技术标准的作用

回到数据库身上,同样可以从数据库本身以及实际应用出发,考虑为它制定一些标准,能够让数据库的生产商和数据库用户,达成一种共识,这种共识就是不管使用哪一家研发的数据库,至少功能是满足可用的,能让用户不用花时间进行测试就能放心使用的。

比如,在同时使用多种品牌的数据库运行业务系统的时候,系统之间的数据流转,通过各数据库之间的自带的接口能够顺利进行,不会出现接口不通或者数据乱码等这些“数据库沟通障碍”的情况。再比如,数据库进行存放数据的时候,能够存放尽量多的汉字,包括那些生僻字,而不会出现乱码,导致数据丢失。数据库作为数据存储端,即能够接受输入设备传递过来的文字内容,有能够传递给输出设备进行正常展示,这也就是《GB 18030-2022 信息技术 中文编码字符集》这类国家强制性标准的带给数据库的作用和意义,就应该需要国产数据库去执行这一项标准。

对数据库这种产品来说,中还有一类国际标准,就是即SQL标准。SQL标准包含多个内容,例如SQL:2016包含了Part 1: Framework (SQL/Framework),Part 2: Foundation (SQL/Foundation),还有Part 3、Part 4、Part 9、Part 10、Part 11、Part 13和Part 14共9个系列标准。不同年份发布的SQL标准,都有所调整。最开始1986年被ANSI组织采纳并作为通用标准,命名为SQL-86,1987年取标准化为9075,后面经历了SQL:89、SQL:92,这三个版本都是单独标准,从SQL:99开始有系列标准,逐渐演变到SQL:2016共有9个系列标准。还有,1999年,ISO/IEC 9075-5系列标准被废止,而2019年,又添加了ISO/IEC 9075-15这个系列标准。

现在国内很多品牌的数据库产品都说自己兼容SQL:92或者SQL:99,差不多意思就是,我的数据库遵循了ISO/IEC 9075系列的标准。正因为这些数据库采用了SQL标准,才能够去替换国外的Oracle、MySQL和PostgreSQL这些数据库系统。有了标准的SQL语法,有了标准的数据类型,保证了正常执行SQL,才能实现平滑迁移,也能实现国产数据库和国外数据库之间的数据实时同步。

当然,数据库除了可以执行以上提到的这些标准,还可以执行一些与信息安全或其他方面相关的标准。没有数据库标准作为依据的情况下,数据库品牌之间各玩各的,你争我抢,明争暗斗,公说公有道,婆说婆有理,数据库企业和用户之间,相互信赖度不高,达不到一种比较和谐的合作与默契。这些标准可以帮助数据库企业和数据库用户之间消除这些信息隔阂,消除各数据库品牌内耗,消除用户的内耗。这些标准,一定程度上,还可以大大地帮助数据库品牌提高营销作用力。

国际标准对国内数据库企业和用户有哪些好处

数据库执行国家采用的国际标准,不管是强制性标准,还是推荐性标准,对于企业和用户,都是非常有好处和价值。国际标准帮助缩小国产数据库和国外优秀数据库产品之间的差距,一定程度上可以帮助国内用户更容易掌握国产数据库技术。

国际标准给数据库企业带来的好处

对数据库研发企业,丰富了数据库提高数据库产品的竞争力,同时也具备了走向国际的能力。对于国家强制性标准(GB),如果数据库要获得用户认可,想生存在市场当中,想与用户达成一种共识,就必须执行这些标准,需要具备这些共同的能力或特性。对于国家推荐性标准(GB/T),数据库企业就可以自己选择,想获得用户更多的认同,提高竞争力,数据库就应该选择多了一个标准,这样就会多出一个生态“盟友”,而不致使自己独特而孤立。可以帮助国产数据库走向国际市场。国产数据库要走出国门,进入国际市场,就必须执行国际标准,这样才能满足其他国家的技术要求和业务场景要求,就比如,至少要有支持多种国家文字存储的技术。

国际标准给用户带来的好处

对于用户企业和用户个体,本身就熟悉国外Oracle、MySQL和PostgreSQL这些数据库的技术与知识,熟悉这些数据库采用的标准。在拥有曾经获得的那些共识情况下,可以更容易地掌握这种执行了标准的数据库,降低了学习成本,包括经济和时间,给企业还减少费用支出。有时候,拥有了一些标准的共识,吃起“老本”,不是懒惰的体现,反而是能力的体现。凭借着对标准技术产品的知识和技能掌握,更容易管理好企业的业务系统,躲避一些不标准带来的风险。

国内数据库技术标准的发展情况如何

现状

当前国内研发的数据库产品,也有部分数据库产品已经执行了GB 18030-2022 信息技术 中文编码字符集》这个国家强制性标准。上面也提到,不少国产数据库遵循了一些SQL标准这国际标准,也相当执行了《GB/T 12991.1-2008信息技术 数据库语言 SQL 第1部分: 框架》这个推荐性标准,但未取得相关认证。

如下企业的数据库品牌并取得了GB 18030-2022的认证。

从当前国产数据库所取得的标准认证情况来看,个人认为,给国产数据库可执行的标准还是偏少的。现在只有一个GB 18030-2022国家强制性标准和一个GB/T 12991.1-2008国家推荐性标准(采用SQL:92国际标准),一共才两个,亟需制定更多的数据库相关的国家标准,并进行落实标准认证。

思考与建议

有执行标准的数据库品牌总比没有执行标准的好。数据库执行了标准,可以帮助数据库提高知名度,扩大数据库适用的场景,降低数据库开发商与用户之间的沟通成本,降低不同品牌数据库之间的对接成本。国内数据库标准帮助数据库扩大生态圈,也因此逐渐增加数据库的市场效益,带来更多的经济收益,带给用户企业和研发企业更多好处,达到双赢目的。民以食为生,企业以数据为生。

前面也说到,不应为标准而定标准。本身标准不是法律,也不是制度,是一种共识语言,不会强制要求数据库必须去执行。 制定一些标准,不管是国家强制性标准(GB),还是国家推荐性标准(GB/T),数据库企业都可以自己选择,可以保持数据库自己的特性,也可以选择一些共同的特性,这不影响数据库发展自己的独特性。不是为了树立身份,独创一套标准体系,而是为了解决实际业务问题,达成一种共识。数据库技术的标准,是为了推倒各个品牌数据库之间的技术堡垒,消除数据库之间数据交换的障碍。

所以,笔者认为我们可以积极学习研究国外的标准,采用更多国际标准和一些国外先进标准,成为自己的标准,并落实相应标准的认证。主要遵循的原则是:

  1. 要密切结合中国国情,有利于促进生产力发展;
  2. 有利于完善中国标准体系,促进中国标准水平的不断提高,努力达到和超过世界先进水平;
  3. 要合理安排采用的顺序,注意国际上的通行需要,还要考虑综合标准化的要求;
  4. 采用国外先进标准要根据标准的内容区别对待。

愿景展望

目前国内数据库技术正在蓬勃发展,期望国家标准化管理委员会将发布更多的标准,提供给数据库企业去执行,相信这将会更好地指引着数据库企业往更好的方向发展,指引企业研发出品牌特性更出众,功能更强,更具国际竞争力的数据库产品。

也期望国内数据库发展得越来越好,能够用上越来越多的标准,规范数据库自身,满足符合国情发展的需求同时,保持拥有数据库独特功能和特性,更应该拥有一些共性。希望共同促进国家标准执行的落实,推动国内数据库技术向前快速发展,让更多的国产数据库奔向国际舞台,与国际领先的数据库品牌并肩,让数据流转畅通无阻,互利共赢。

本文为墨天轮社区特约作者 Skylines 独家供稿,内容原创,仅代表作者个人观点,欢迎大家交流、讨论。本文现已收录至合辑《墨天轮专家邀稿合辑:论道数据库 解读新发展》,如需转载请联系作者或墨天轮官方。

最后修改时间:2024-07-30 18:10:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

梧桐
暂无图片
1月前
评论
暂无图片 0
1.大体遵从国际标准就好,另辟蹊径,重复建设,无异于自决于江湖。 2.自建标准针对国内实际特殊即柯,翻译和开发时多用点心,别“老干体”,讲讲逻辑、别漏洞百出,贻笑大方; 3.推广应用时,除关键部门关键数据外,无需强制,免得劳民伤财,得不偿失。
1月前
暂无图片 点赞
评论
功书学剑能几何
暂无图片
7月前
评论
暂无图片 0
是拿外国人的标准来建设中国的数据库标准吗?
7月前
暂无图片 点赞
1
Skylines
暂无图片
6月前
回复
暂无图片 0
何尝不可,首要的,国内自己编制,自己没办法编制,就引用国外先进的。
6月前
暂无图片 点赞
回复
鲁鲁
暂无图片
7月前
评论
暂无图片 0
在国内,我们的国家标准化管理委员会对标准是这样定义的,国家标准GB/T 20000.1-2014《标准化工作指南 第1部分: 标准化和相关活动的通用术语》中,标准被定义为:“通过标准化活动,按照规定的程序经协商一致制定,为各种活动或其结果提供规则、指南或特性,供共同使用和重复使用的一种文件。”
7月前
暂无图片 点赞
1
Skylines
暂无图片
7月前
回复
暂无图片 0
标准是一种文件,这种是官方理解的。本文提到 是一种一种语言,一种定义,是我个人理解的。
7月前
暂无图片 点赞
回复
锁钥
暂无图片
8月前
评论
暂无图片 0
标准其实就是一种能够达成共识的语言,一种定义
8月前
暂无图片 点赞
评论
Besachen
暂无图片
8月前
评论
暂无图片 0
对标准的理解非常独特而贴切☑️
8月前
暂无图片 点赞
评论