本文选自《交易技术前沿》第十九期(年6月)。
罗黎明1,赵安21中证机构间报价系统股份有限公司北京中国证券监督管理委员会信息中心北京E-mail:luolm
sac.net.cn(联系人邮箱)摘要:自从年可扩展商业报告语言(XBRL)技术诞生以来,XBRL已经在世界多个国家和地区得到广泛的应用,随着其应用领域和数据量的迅速增加,统计、分析和挖掘各类XBRL数据的需求迅猛增长,使得针对XBRL数据的通用存储成为了一个迫切需要解决的问题。本文对基于关系型数据库的XBRL通用存储模型和处理技术进行了研究,针对XBRL规范稳定、扁平化的技术特性,提出了XBRL数据通用存储框架,将XBRL数据存储分为原始数据、文件集、分类标准和实例文档等四个部分。在此基础上,提出了XBRL规范模式文件映射关系模式、分类标准和实例文档分别存储的三层映射转换存储模型。在模型中,根据XBRL技术规范的模式文件,采用对象映射的方法,设计XBRL技术规范模式文件到关系数据库的映射关系并生成XBRL通用存储的表结构、约束和数据字典。该模型实现了XBRL数据到关系数据的转换,使XBRL数据可以通过关系型数据库技术处理。在XBRL通用存储模型和框架的基础上,提出了XBRL分类标准和实例文档的存储、提取以及检索的处理方式,并对存储模型的性能进行了验证测试。关键词:XBRL;关系型数据库;分类标准;实例文档;同一性分析
1XBRL应用发展状况及面临的问题从20世纪90年代末开始,XBRL技术逐渐成型并探索应用于财务报表的信息报送披露领域,到年中,世界主要发达国家和地区已开始在经济领域各行业全面推广XBRL。特别是在证券业监管、银行业监管、财会监管领域,XBRL更是得到了广泛的应用。
1.1XBRL应用发展趋势
随着XBRL应用的迅速推广,XBRL应用的发展呈现以下趋势:
扩展分类标准的普遍应用XBRL发展的目标是在应用范围内统一商业报告的分类标准,用相同的元素及元素间的关系描述商业报告。同时,在大部分业务领域,保证商业报告业务内容完整性是XBRL需要满足的另外一个目标。由于报告本身的业务内容存在一定的差异、标准更新需要一定的时间周期等原因,在XBRL应用中需要引入分类标准的扩展机制。美国证监会中要求企业根据所遵循的会计准则,选择USGAAP或IFRS分类标准制作报告并可按实际需要自行扩展分类标准。中华人民共和国财政部则要求试点的企业和会计师事务所子通用分类标准基础上根据报告内容制定扩展分类标准,从实践效果来看,大部分报告中扩展的元素超过了其引用公共分类标准的元素数,有的企业甚至高达近70%。数据量的快速增加在美国证监会,每天有几十至几千份XBRL报告通过Edgard系统提交。而在中国证券市场,每年增加近1万份上市公司XBRL电子文档。基金电子化信息披露每天有近千份基金信息披露的XBRL报告提交至监管机构,截至年底,基金信息披露的实例文档已经达到万份。多分类标准、多报告的组合应用越来越广泛随着全球经济的快速发展以及XBRL在全球应用的推广,跨境、跨市场的数据分析需求正快速增长。以信息披露为目的的XBRL应用逐步从单报告的展示披露转向宏观、分类别的统计分析。如上海证券交易所、深圳证券交易所均在信息披露网站中向公众提供了基于XBRL的财务指标对比功能;证监会基金信息披露网站则需要向公众提供按照基金类型、投资组合等多个角度进行统计的数据等。随着全球经济的快速发展以及XBRL在全球应用的推广,跨境、跨市场的数据分析需求正快速增长。基于已对公众披露的XBRL数据,越来越多的研究机构需要基于海量XBRL数据进行处理。与其他非XBRL数据关联的应用需求越来越广泛随着XBRL在监管部门、行业以及企业内部的推广应用,与其他数据关联应用将越来越普遍。在企业中,XBRL应用需要与财务系统、报表系统、ERP系统等多种以关系型数据库系统的数据关联。在市场监管部门,监管者需要将XBRL数据与其他关系型数据结合应用,以发挥XBRL数据的巨大作用。1.2XBRL处理技术面临的问题
在报告数量急剧增加、扩展分类标准越来越广泛、跨报告并与非XBRL数据关联应用越来越广泛的背景下,以XBRL数据的应用为目标来分析,当前的XBRL存储技术存在着以下问题:
与其他关系型数据的关联应用问题随着XBRL应用的迅速发展,XBRL数据与其他数据源的集中、交叉应用逐步成为一些信息系统必须要解决的问题。以企业为例,XBRL应用需要与财务系统、报表系统以及ERP系统等多种以关系型数据库系统的数据关联应用。以文件存储、XML原生数据库为基础存储的XBRL数据直接与关系型数据库的关联处理不仅增加处理的复杂度,甚至在有些场景下无法满足业务应用的需求。基于XML存储的应用处理技术成熟度与XBRL快速发展之间的矛盾XBRL并不是一种原创技术,它是XML在财务报告信息交换方面的一种应用,即XBRL是由XML衍生出来的标记语言,XBRL技术的核心是XML。虽然一些传统数据库产品支持XML,也有正在发展中的原生XML数据产品,但基于XML存储基础上的应用类处理软件及产品尚未普及,包括开发平台、数据挖掘工具等等。对于许多已经运用数据库系统多年并积累了大量工作数据的客户,新旧路线的转换而带来的巨大工作量、风险以及巨额开支是无法承受的。另外,基于XML的数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。2XBRL存储技术比较研究目前对XBRL的应用采用的存储方式大致可以分为以下几种方式,也有将其中几种方式混合应用的方法[1]。
存储于文件系统中;以大文本、二进制数据等“大对象”方式存储于关系型数据库中;按报告业务内容构建关系型数据库存储模型;存储于原生XML数据库中;基于关系数据库的XML存储本章对现有的XBRL存储技术进行对比分析,为建立XBRL存储模型以及设计基于存储模型的技术处理策略奠定基础。通过对以上5种存储方式的分析研究,本文对该5种存储方式从是否需要XML解析、XBRL语法解析、SQL处理的难易程度等几个角度作性能的对比分析。如表2-2所示,文件系统的方式无法保证文档的安全性和一致性,但是对XBRL实例文档内部所含的数据信息和层级信息保存完好,虽然没有造成数据失真,但是不利于数据的进一步分析挖掘,难于直接导入数据挖掘工具中生成有用信息;采用BLOB方式的关系型数据库的方式存储,基本上和采用文件系统方式进行存储相类似,但这种方式保证了文档的安全性和一致性,损失了文档及文档间的查询性能,是一种“受了保护”的文件系统存储;采用原生XML数据库存储完好保护了XBRL文档内的数据含义,并且对XBRL文档的存取速度快,但在文档间的横向查询速度较慢,不适合于频繁的数据对比分析的场合适用。而基于分类标准构建关系数据库、基于关系数据库的XML结构映射存储方法有无法满足多分类标准存储的通用性需求。基于关系数据库的XML模型映射方法虽然能够满足多分类标准的通用型问题,但其存储的方式过于底层从而导致存储数据访问过程中需要根据XBRL技术规范中所约定的语法模型来对存储数据进行解析,开发成本较高。
表1XBRL数据存储方式的对比
XML解析XBRL语法支持扩展分类标准完全基于SQL处理直接进行分析挖掘的软件工具 文件系统需要解析XML需要解析XBRL 支持不可以少或没有 BLOB方式需要解析XML需要解析XBRL语法支持不可以少或没有 原生XMLDB需要解析XML 需要解析XBRL语法支持不可以少 基于分类标准构建关系型数据库不解析XML不需要解析XBRL语法不支持可以普遍 XML的关系存储——模型映射不解析XML需要解析XBRL语法支持可以普遍 XML的关系存储——结构映射不解析XML 不需要解析XBRL语法不支持可以普遍从对现有的XBRL数据存储方式的比对结果可以看出,每种方案有自己的优缺点,都是只能较好的达到XBRL数据存储的某方面的特点。本文将提供一个新的数据模型,为符合XBRL2.1规范[2]、XBRL维度规范[3]的XBRL数据提供通用、安全、高效的数据存储和查询能力,以适合XBRL数据的各种查询分析应用场景。
3XBRL通用存储框架根据基于关系型数据库实现XBRL存储的策略,本文将XBRL的数据分为原始数据、文件集、分类标准和实例文档四个部,如图1所示。
图1XBRL通用存储框架
原始数据存储报告、分类标准的原始和基础信息。分类标准、报告是XBRL存储的基础单位,分类标准通常是指已经发布、在报告中会引用的公共分类标准。报告则是指包含扩展分类标准和实例文档在内的完整描述一份报告的XBRL数据。在一些应用系统中,会要求保存未经修改的原始数据,本模型采用大对象的方式将XBRL文件转换存储与关系型数据库的BLOB字段中。文件集的存储对象是报告或分类标准的文件集关系的集合。为适应各种应用场景的需要,分类标准通常按照一定的组织方式对所定义的内容按文件进行拆分。在一些实例文档或扩展分类标准中,会指定引用公共分类标准中的一部分文件。依据这些引用关系而发现出来的DTS需要完整地保存在数据库中。分类标准的存储分为概念定义(包括元素、组、扩展链接角色、弧角色、复杂类型等)、名称空间的映射关系和分类标准中的各类链接关系。分类标准存储的对象包括公共分类标准和报告扩展分类标准。实例文档存储包括实例文档的文件信息、名称空间、上下文、单位、脚注以及事实数据。因涉及对维度的支持,将上下文中维度关系的定义单独存储。此外,为提高数据库的处理性能,大文本数据单独存储。
4XBRL-关系数据库的映射XBRL基于模式文件、XML文件的方式,构建了技术规范、分类标准和实例文档的三层结构。在转换为关系模式时,各层次的模式文件和XML文件进行不同的处理,如图3-1所示。规范模式文件(包括XBRL2.1、Dimension1.0)作为XBRL技术规范的描述文件,采用映射方法构建存储模型中的表结构、数据字典和约束。分类标准中定义的元素、类型以及链接关系、资源等,在存储时,按映射关系和转换方法存储于分类标准相关的表中。实例文档中的上下文、单位、事实数据、脚注等信息,在存储时,按映射关系和转换方法存储于实例文档相关的表中。
图2XBRL-关系数据库的分级映射
XBRL技术规范和分类标准中的模式文件均以Schema文件为基础。Schema文件具有以下特性:
XMLSchema使用标准XML语法,本身就是一个XML文档,可以直接用成熟的XML文档解析器读取;XMLSchema提供了丰富的数据类型,包括数字型、布尔型、日期型等等,并且可以定义新的数据类型,允许对数据进行更严格的合法性检查;XMLSchema支持继承性,即可利用一个已有的xMLschema产生一个新的XMLSehema;XMLSchema支持命名空间,保证了标记的唯一性;XMLSchema的扩展性好,它的内容模型是开放的,可以随意扩充、更新等。XMLSehema主要有sehema、element、attribute、choice、group、sequence等保留字汇。
schemaschema用于声明该XML文档是一个schema文档。它包含两个属性:name指定该schema的名称;xmlns用来指定sehema的命名空间。如xsd:sehemaxmlns:xsd=”卡泊三醇软膏激素哪里看白癜风专业