2020年5月1日起实施!《基于文档型非关系型数据库的档案数据存储规范》(DA/T 82-2019 )
发布时间:2020-04-10
基于文档型非关系型数据库的档案数据存储规范

Specification for storage of archival data based on document-oriented non-relational database

前言

本标准按照GB/T1.1—2009给出的规则起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。
本标准由国家档案局档案科学技术研究所提出。
本标准由国家档案局归口。
本标准起草单位:国家档案局档案科学技术研究所。
本标准起草人:聂曼影、陶光毅、张淑霞、晏杰、王熹、刘春阳、陈吉。
引言
目前,我国档案部门大都采用关系型数据库存储和管理档案数据。关系型数据库通常将数据存储在二维表中,高度结构化,对数据的规范性要求高。关系型数据库能够很好地管理和存储结构化数据,使用简单、功能强大。
非关系型数据库突破了关系型数据库严格的表结构,解决了关系型数据库模型简单、不易表达复杂嵌套数据结构的问题,存储的数据对象包括非结构化数据、半结构化数据和结构化数据。视处理数据对象而言,目前非关系型数据库主要有键值存储、列存储、文档型和图形四大类。
本标准基于文档型数据库具备的功能编制。文档型数据库允许创建不同类型的字段,存储任意格式的数据。在文档型数据库中,文档是处理信息的基本单位。文档型数据库存储每个对象的所有信息,并且每一个被存储的对象可与任一其它对象不同。采用文档型数据库,能够简单地将不同类型、不同格式的档案数据装入或映射到数据库。
从业务角度看,档案数据主要来自于各类业务系统产生的数据和传统载体档案数字化副本。每条记录一次写入、多次访问、几乎不可更改,适宜采用文档型数据库存储。
文档型数据库与关系型数据库不相互排斥,它们之间可以相互交换数据,从而相互补充、扩展。为了解决大规模档案数据集合多重数据种类带来的挑战,优化档案数据存储,推动档案数据科学管理,鉴于关系型数据库和文档型数据库各自的特点和优势,档案部门可以将文档型数据库、关系型数据库共同作为档案数据存储和管理的工具。 
基于文档型非关系型数据库的档案数据存储规范
1 范围
本标准规定了使用文档型数据库存储档案数据的总体要求,提出了使用文档型数据库存储和管理档案数据的基本功能和实施方法。本标准适用于各级各类档案馆、机关、团体、企业事业单位对档案数据的存储。
2 术语和定义
下列术语和定义适用于本文件。
2.1数据 data
适合传输、诠释或者手动、自动处理,以一种规范的方式表达的事实或指令。[GB/T 34840.3-2017,表A.1]注:档案数据包括电子档案的内容数据、传统载体档案数字化副本的内容数据以及两者的元数据(含目录数据)。
2.2元数据 metadata
描述电子档案的内容、背景、结构及其管理过程的数据。[DA/T 58-2014,定义2.16]
2.3内容数据 contentdata
电子档案和传统载体档案数字化副本固有的信息。
2.4数据库 database
按照概念结构组织的数据的汇集,它描述这些数据的特征及与数据对应的实体间的关系并支持一个或多个应用领域。[GB/T 5271.1-2000,定义01.08.05]
2.5关系型数据库 relational database
数据按关系模型来组织的数据库。
[GB/T 5271.17-2000,定义17.04.05]注:关系模型指用二维表的形式表示实体和实体间联系的数据模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
2.6非关系型数据库 non-relational database
数据不按关系模型来组织的数据库。
注:NoSQL泛指非关系型数据库。非关系型数据库去掉了关系型数据库的关系型特性,数据之间无关系,没有关系型数据库严格的表结构,随时可以存储自定义的数据格式。视处理数据对象而言,目前非关系型数据库主要有键值存储、列存储、文档型和图形四大类。文档型数据库允许创建不同类型的字段,存储任意格式的数据。在文档型数据库中,文档是处理数据的基本单位。
2.7结构化数据 structured data
能够用统一的结构加以表示的数据,或者说能用二维表结构进行逻辑表达的数据。
2.8半结构化数据 semi-structured data
具有结构性,但结构变化大,且难以用结构化数据的处理方法将其放进二维表的数据。
示例:XML文档内容,每项都被一对标记封起来,如<title></title>,表面上看是结构化数据,但<title></title>之间的数据却是千变万化,这是典型的半结构化数据。
2.9非结构化数据 unstructured data
不能用数字或者统一的结构表示的数据,或没有固定结构的数据。这些数据不能用二维表存放。
2.10文档型数据库的拆分 document-oriented database splitting
一个数据库被分成若干个数据完整的子数据库。
2.11文档型数据库的合并 document-oriented database merging
若干个子数据库合成一个数据完整的数据库。
3 总则
3.1 适用性
文档型数据库应适用于大规模、多种类、多种格式档案数据的存储、备份和管理。
3.2 规范性
文档型数据库结构应满足档案数据存储的要求。使用文档型数据库存储档案数据应将内容数据和元数据按照规范结构装入或映射到数据库中,保障两者之间的可靠联系。
3.3 开放性
文档型数据库结构应具有开放性,能与搜索引擎及相关工具软件集成,能与其他类型数据库和系统交换与共享档案数据和相关信息。
3.4 互补性
基于文档型数据库的档案数据存储与基于关系型数据库的档案数据存储和管理可形成互补。文档型数据库是内容数据的存储方法之一,元数据的存储可采用文档型数据库和关系型数据库,日志等的存储和管理宜采用关系型数据库,建立由关系型数据库和文档型数据库组成的数据库系统。
4 文档型数据库字段
4.1 字段要求
文档型数据库应能创建不同类型的字段,存储任意格式的档案数据,并能根据用途和需求变化对字段进行增加、删除和修改。
4.2 字段类型
文档型数据库字段类型宜包括字符串、数值、日期、时间、文本、二进制等,并符合以下规定:
a) 字符串字段:用于存储定长字符串和变长字符串;
b) 数值字段:用于存储整数和实数;
c) 日期字段:用于存储日期类型数据;
d) 时间字段:用于存储时间类型数据;
e) 文本字段:用于存储文本中的句子和段落;
f) 二进制字段:用于存储任何类型的字符,包括ASCII字符,以及图像、视频、音频等二进制数据。
5 文档型数据库存储
5.1 存储对象
文档型数据库的存储对象包括内容数据等非结构化数据、XML 文件等半结构化数据以及元数据等。
5.2 存储方式
文档型数据库存储方式包括:
a) 将内容数据和元数据全部装入数据库,按照与元数据的匹配关联关系,内容数据存储在文档型数据库的二进制字段中。
b) 将元数据装入数据库,将内容数据映射到数据库。
c) 同一数据库可存储多种格式的内容数据,不同记录(行)的内容数据的格式可不同。
d) 同一条记录可存储一个或多个内容数据,同一条记录(行)中多个内容数据的格式可不同。
5.3 存储介质
5.3.1 文档型数据库可存储在磁盘、固态硬盘、光盘等存储介质上。
5.3.2 文档型数据库可在不同的存储介质之间转移。
5.4 存储信息管理
文档型数据库存储档案数据的过程中,应显示以下信息:
——存储档案数据进度和存储完成的信息;
——存储过程中出现的问题或错误的信息。
5.5 存储安全
存储档案数据的文档型数据库应保存在安全的存储系统中和存储介质上,防止被非授权改动数据库存储位置的设置,并保障档案数据不被非授权修改、访问、删除、复制和破坏,对授权修改、访问、删除和复制要做审计跟踪。涉密档案数据在线存储应加密,涉密档案数据导出和备份应采取数字签名等安全措施。
6 档案数据导入
6.1 导入对象
导入对象包括内容数据等非结构化数据、XML文件等半结构化数据以及元数据等。
6.2 导入方法
6.2.1 在线录入数据
在线录入是借助录入表单,将内容数据和元数据直接录入到文档型数据库,一次建立一条记录。
6.2.2 批量导入数据
批量导入是按照内容数据与元数据的匹配关联关系,通过导入程序,将内容数据和元数据批量导入文档型数据库。
6.2.3 导入XML文件将
XML文件和内容数据通过导入程序导入文档型数据库。
6.2.4 导入数据库数据
将关系型数据库中的数据,通过导入程序导入文档型数据库,并将挂接在关系型数据库的内容数据装入或映射到文档型数据库;或将一个文档型数据库中的数据,通过导入程序导入另一个文档型数据库。
6.2.5 导入其他系统的数据
从其他系统导出的数据按照原有的数据类型和文件格式导入文档型数据库。其他系统包括:
——电子档案管理系统;——档案管理的其他相关系统;——形成电子文件的业务系统,等等。
6.3 档案数据导入质量控制
6.3.1 对导入文档型数据库的档案数据的字段类型和文件格式进行设置,并在导入文档型数据库时按照设置自动进行检查,对不合格的字段类型和文件格式显示提示信息。
6.3.2 记录档案数据导入文档型数据库的数量、时间、载体、处理人员、格式转换等处理过程相关信息。
6.3.3 自动监测和过滤错误数据,进行数据完整性校验,日志文件自动记录档案数据导入文档型数据库产生的错误,对错误显示提示信息。
6.3.4 对内容数据、元数据重复导入文档型数据库进行识别。
6.3.5 允许不同归档单位的相同档案数据导入文档型数据库。
6.3.6 设置记录档案数据导入文档型数据库过程的日志,确保能够跟踪、审计、检索(参见附录A)、统计分析(参见附录B)。
6.4 档案数据导入的维护
档案数据导入的维护包括:
a) 增加、删除、撤回/恢复、批量修改文档型数据库中的记录;
b) 增加、删除、修改文档型数据库中记录的内容等。
7 文档型数据库的拆分与合并
7.1 文档型数据库的拆分拆分
以记录为单位。拆分的方法包括:
a) 建立若干个结构相同的子数据库,确定分配给各子数据库的原数据库的起始记录号和终止记录号,从原数据库中提取相应的记录,按顺序将记录导入各子数据库。
b) 建立若干个结构相同的子数据库,确定各子数据库的最大容量,计算各记录的容量和分配给各子数据库的容量(分别小于各子数据库的最大容量),从原数据库中提取相应的记录,按顺序将记录导入各子数据库。
c) 建立若干个结构相同的子数据库,利用检索(参见附录A)和统计分析(参见附录B),从原数据库中提取相应的记录,按照记录的数量或数据库容量要求导入各子数据库。
d) 建立若干个结构相同、但与原数据库结构不同的子数据库,利用字段读写访问限制功能,从原数据库中提取部分字段的记录,按照记录的数量或容量要求导入各子数据库。
7.2 文档型数据库的合并
合并以记录为单位。合并的方法包括:
a) 确定各子数据库合并记录的记录号,从各子数据库中提取相应的记录,按顺序将记录导入其中一个子数据库或新建的与子数据库结构相同的数据库。
b) 确定各子数据库合并记录的容量,从各子数据库中提取相应的记录,按顺序将记录导入其中一个子数据库或新建的与子数据库结构相同的数据库。
c) 利用检索(参见附录A)和统计分析(参见附录B),从各子数据库中提取相应的记录,按照记录的数量或容量要求导入其中一个子数据库或新建的与子数据库结构相同的数据库。
d) 新建一个与子数据库结构不同的数据库,利用字段读写访问限制功能,从各子数据库中提取部分字段的记录,按照记录的数量或容量要求导入新建的数据库。
8 档案数据导出
8.1 导出对象
导出对象包括内容数据等非结构化数据、XML文件等半结构化数据以及元数据等。
8.2 导出形式
导出包括以下形式:
a) 从文档型数据库导出全部数据;
b) 从文档型数据库按记录(行)导出部分数据;按字段(列)导出部分数据;利用检索(参见附录A)和统计分析(参见附录B)导出部分数据;
c) 从文档型数据库导出的元数据存储到excel、csv、xml等文件;
d) 从文档型数据库导出的内容数据存储到文件系统。
8.3 档案数据导出质量控制
8.3.1 对导出文档型数据库的档案数据的文件格式进行设置,并在导出文档型数据库时按照设置自动进行检查,对不合格的文件格式显示提示信息。
8.3.2 记录档案数据导出文档型数据库的数量、时间、载体、处理人员、格式转换等处理过程相关信息。
8.3.3 自动监测和过滤错误数据,建立数据导出的检验机制,日志文件自动记录档案数据导出文档型数据库产生的错误,对错误显示提示信息。
8.3.4 设置记录档案数据导出文档型数据库过程的日志,确保能够跟踪、审计、检索、(参见附录A)、统计分析(参见附录B)。
9 文档型数据库的备份、还原与恢复