天天看点

关系型数据库转XML文件?有这个必要吗?

作者:数字罗塞塔计划

关注我们 - 数字罗塞塔计划 -

截至笔者发稿时,国家档案局网站上(https://www.saac.gov.cn/daj/hybz/dabz_list.shtml)

共有95项档案行业标准(DA/T 1 ~ DA/T 95),这其中或多或少和档案信息化相关的标准大致在一半左右,如果要从中评选一项“存在争议性”的档案信息化相关行业标准出来,笔者可能会投DA/T 57-2014《档案关系型数据库转换为XML文件的技术规范》一票。

关系型数据库转XML文件?有这个必要吗?

注意:DA/T 57-2014说的是把整个关系型数据库中的数据记录连同各种数据库对象(数据库的用户、角色、权限、数据表结构、数据表关系、视图、存储过程、约束、索引、触发器等等)甚至其中的二进制大数据字段Long(或者RAW/IMAGE/TEXT/BLOB/CLOB)全部转换成XML文件。而不是简单地将数据库表中的目录数据导出到XML文件中。

对于这些二进制大数据字段的处理,规范中是这样写的:

关系型数据库转XML文件?有这个必要吗?

也就是将二进制大数据字段中存储的文件内容转换为Base64编码嵌入到XML文件中。

不知道有没有哪个档案部门做过这件事情,比如把Oracle、MS SQL Server、达梦数据库DM这一类大型关系型数据库转换成XML文件进行存储;或者说有没有哪个信息化公司曾经帮助档案部门完成了这项工作?笔者在20多年的档案信息化从业经验中是真心没有见到过。

本文不讨论“关系型数据库转换为XML文件”的具体技术路线,只讨论“关系型数据库转换为XML文件”的原因和必要性,也就是这个标准的争议点所在。

01

原因及目的

首先,笔者想说的是,如果把这个标准名称中的“档案”两个字去掉,对标准本身基本上也没有什么影响,因此从严格意义上来说,这个标准的“档案行业特征”并不明显。

事实上,在标准全文中,除了提出单位和起草单位是档案部门之外,和档案业务有直接关系的主要是下面这句话:

关系型数据库转XML文件?有这个必要吗?

这句话非常关键:

第一,它说明了为什么要将“关系型数据库转换为XML文件”的原因:为实现档案信息的格式开放、不绑定软硬件、文件自包含、格式自描述、持续可解释和可转换;

第二,它说明了将“关系型数据库转换为XML文件”的目的是为了“存储”。

第一点(原因)

我们先来分析一下第一点(原因)。这句话的来源是DA/T 47-2009《版式电子文件长期保存格式需求》,其中给出了遴选归档保存版式电子文件格式的需求,一共11大项:格式开放、不绑定软硬件、文件自包含、格式自描述、显示一致性、持续可解释、稳健、可转换、利于存储、支持技术认证机制、易于利用。

关系型数据库转XML文件?有这个必要吗?

简单对比可知,DA/T 57-2014标准4.1条款就是选取了其中的6项电子文件长期保存格式需求。

第二点(目的)

由此也可以推断出第二点(目的):DA/T 57-2014标准4.1条款中“存储”就是指“长期保存”,也就是“关系型数据库转换为XML文件”的目的是为了实现档案信息的“长期保存”。

02

必要性

接下去,我们来探讨一下“关系型数据库转换为XML文件”之后,是否能做到“格式开放、不绑定软硬件、文件自包含、格式自描述、持续可解释和可转换”,并实现“长期保存”。

毫无疑问,XML文件格式相对于关系型数据库显然更加开放、格式本身也不绑定软硬件,文件内容都包含在XML文件中(文件内容的二进制数据转换为Base64编码嵌入到XML文件中),格式通过Schema实现自描述并进行有效性验证,从这些方面来看,将“关系型数据库转换为XML文件”肯定是有作用的。

但是“持续可解释”和“可转换”就不一定了。我们知道,DA/T 47-2009是针对版式电子文件提出的长期保存格式需求,版式格式有一个很大的好处就是版式固化,或者说“显示一致性”,这对于“持续可解释”和“易于利用”具有很大帮助,为电子文件的“长期可用”奠定了基础,但不管是关系型数据库还是XML文件显然无法做到这一点。至于“可转换”,是有条件的,关键是看转换的目标格式。关系型数据库转换为XML文件之后,如果想要让将来的人们读懂,并且便于利用,还是只能将其恢复成原先的数据库环境,并且结合应用系统,才能完整地将档案信息展示出来,且不说技术上能不能做到100%的转换和恢复,如果这样做的话,实际上一开始将关系型数据库转换为XML文件也就没有实际意义。

可能有人会说,我们关心的只是关系型数据库中保存的数据记录,一开始就只把存储在关系型数据库中的数据记录转换成XML文件,将来再转换成其他格式或者解析、恢复出来都很方便,这样不就行了吗?这个笔者完全赞同,事实上,对于类似于早期的小型数据库,比如Foxpro、dBase、Access等就是这么做的,从大型关系型数据库中导出部分数据用于交换也是这么做的,但这和本文讨论的主题没有什么关系,DA/T 57-2014说的是把整个关系型数据库中的数据记录连同各种数据库对象以及其中的二进制大数据字段全部转换成XML文件。

03

FCLA数字保存金字塔

我们再来对照一下“长期保存”的要求。引用佛罗里达图书馆自动化中心(Florida Center for Library Automation,FCLA)提出的数字保存金字塔模型,如下图所示:

关系型数据库转XML文件?有这个必要吗?

从上图可以看出,数字资源的可获得性是整个模型的基础,也是前提条件,如果没有可获得的数字资源自然也不需要长期保存了;而可识别性、完整性、持久性和可呈现能力是子目标,同时在长期保存过程中也是需要通过各种技术措施和管理措施来实现这些目标的,比如对象描述、安全存储、载体管理、保存策略等措施;数字资源长期保存的最终目标是保证数字资源的真实性和可理解性,即长期保存数字对象真实可靠并能被用户理解和使用。

有关FCLA数字保存金字塔模型的详细介绍参见本公众号文章《FCLA数字保存金字塔模型解读》,这里不再赘述。笔者只想说,按照DA/T 57-2014的要求将“关系型数据库转换为XML文件”显然无法达到“长期保存”的目的,因此是否有必要这样做值得商榷。

04

应如何归档并长期保存

说到这里,可能有人会问:既然“关系型数据库转换为XML文件”存在争议,那对于关系型数据库文件应该如何归档并长期保存呢?这个问题比较复杂,需要单独讨论,笔者倾向于信息包(SIP或者AIP)方式,有关信息包的详细介绍参见本公众号文章《电子文件生命周期中的四大信息包》。简单的建议可以参考GB/T 18894-2016《电子文件归档与电子档案管理规范》8.3.5中的说法:

关系型数据库转XML文件?有这个必要吗?

8.3.5 a)

8.3.5 a)实际上只是保存数据库中的目录数据(可以分表),因为ET、XLS格式显然不适合保存数据库对象,也无法保存大型关系型数据库表中的Long(或者RAW/IMAGE/TEXT/BLOB/CLOB)类型大数据字段中存储的内容。

8.3.5 b)

8.3.5 b)转换为版式文件当然好,实现了版式固化和显示一致性,但实际操作的难度和工作量都很大。是否采用或者部分采用需要结合实际情况。

数字罗塞塔计划 公 众 号致力于作为中立的第三方客观公正地表达自己对于档案信息化领域的看法和观点。真理越辩越明,我们也衷心欢迎越来越多的人投身到档案数字资源管理和保存这一领域的研究中来并发表真知灼见,共同为人类文明的传承而努力奋斗!

关注我们 - 数字罗塞塔计划 -

继续阅读