论文部分内容阅读
[摘 要] 随着XBRL(可扩展企业报告语言)技术的发展与应用,XBRL将成为一种重要的数据形式。对于XBRL会计数据,目前实际应用中采用的存储方式大致可以分为3种:文件系统、关系数据库、原生XML数据库。本文在分析和比较各种存储方法优缺点的基础上,提出可以从3个角度来选择XBRL会计数据的存储方式:一是依据XBRL技术特点,二是依据会计数据特性,三是依据外部环境。
[关键词] XBRL;XML;会计数据;存储方案
[中图分类号]F232[文献标识码]A[文章编号]1673-0194(2008)16-0020-04
1 XBRL会计数据存储概述
近年来,随着XBRL技术的飞速发展,XBRL逐渐成为网络财务报告和会计数据交换的一种新的标准格式,越来越广泛地应用于会计应用系统中。由于XBRL实例文档中包含有会计数据,因而如何对XBRL会计数据进行有效的存储是数据管理的一个核心问题。只有对XBRL会计数据进行有效的存储,才能进行高效的数据索引及数据查询。目前我国在实际应用中采用的存储方式大致可以分为3种:文件系统、关系数据库、原生XML数据库。
2 XBRL会计数据存储方案分析
2. 1存储于文件系统中
存储于文件系统中即以文件的方式保存XBRL 会计数据,利用操作系统进行处理。这是一种简单的存储方式,优点是存储效率高,成本低,XBRL会计数据内部的关联关系也得到了完全保留,数据无失真。但其缺点也相当明显,面对大量的XBRL文档,这种存储方式无法对XBRL会计数据进行基本的数据索引及数据查询等数据处理。目前这种存储方式使用较少,仅适合于少量的对查询管理要求不高的XBRL文档存储。
2. 2存储于关系数据库中
XBRL文档存储于关系数据库中,一般有两种方式:
(1)把XBRL文档整体看成CLOB(Character Large Object,字符型大型对象,表示把文件,包括程序、图像、音频、数据、文件等,当成一个对象来对待,不对对象内部的细节进行解释)字段,直接存储到关系数据库中。
(2)采用拆分的方式,把XBRL文档映射成关系表再存储于关系数据库。
2. 2. 1采用CLOB字段存储于关系数据库中
把XBRL会计数据按照CLOB字段存储于关系数据库中,即XBRL会计数据以文件的方式存储于关系数据库中,这与存储于文件系统中大致相同,区别在于采用CLOB字段存储在数据安全性和完整性上相对较好。
2. 2. 2采用拆分方式存储于关系数据库中
采用拆分的方式是指将XBRL会计数据转换为结构化数据后存储于二维表中(如图1所示),利用关系数据库来实现对XBRL会计数据的存储和管理。由于XBRL 和关系数据模式的互异性,为了实现在XBRL文件和关系数据库之间交换数据,必须提供一个XBRL映射模型 ,将XBRL文档模式(XBRL Schema )映射到关系数据库模式中。其过程一般是:先创建用于存储XBRL文档的关系模式;然后拆分XBRL文档,将其中的数据存储于已创建的关系模式。数据库中基本的存储单元独立于程序实现。
采用拆分方式存储于关系数据库中的好处在于:关系数据库理论发展已比较成熟,且有诸多配套的分析挖掘工具可供选择,利于XBRL会计数据进一步深加工,方便企业对数据的分析和挖掘。其缺点是:关系模型难以处理XBRL文档的元素嵌套和多值属性,容易产生数据库的大量空值和数据冗余;且拆分XBRL文档,很可能会破坏XBRL实例文档内部的部分关联关系,一些层次信息无法反映在关系数据库中,造成数据失真。
2. 3存储于原生XML数据库中
关于原生XML数据库,数据库专家R. Bouret给出了一个定义,即只有同时满足以下3个条件的XML数据库才能称之为原生XML数据库:
(1)为XML文档定义一个模型,XML数据存储和查询都基于这个模型;
(2)将XML文档作为(逻辑)存储的基本单位,正如关系数据库将行(元组)作为存储的基本单位一样;
(3)不要求只能使用某一特定的底层物理模型或某种专有的存储格式。
XBRL文档存储于原生XML数据库中,其最小的存储单位是记录,每个记录都有自己的ID,这种存储方式下,存入取出过程是直接对整个XML文档进行操作。其存储方式如图1所示。
从表1对现有的XBRL会计数据存储方式的比较可以看出,每种方案各有自己的优缺点,都只能较好地满足XBRL会计数据存储的某方面的特点。
4 XBRL存储方案选择依据
笔者认为可以从3个角度来选择存储方案:一是XBRL技术本身的特性,二是会计数据的特点,三是外部环境。
4. 1依据XBRL技术的特性
(1)XBRL 2.1技术规范相关规定。XBRL 2.1技术规范中对XBRL文档中所包含的元素结构做了定义,限制了元素的嵌套,便于关系模型的映射。
(2)XBRL分类标准相对稳定。由于XBRL分类标准的稳定性,意味着分类标准中定义的元素的属性、子元素及类型不会经常变动,减少了XBRL会计数据到关系数据库的映射模型创建频率,节省了企业应用成本,降低了频繁开发的风险。
(3)XBRL Dimension的多维表设计。XBRL Dimension的设计思想是多维表,所以XBRL Dimension的引入使得XBRL更加类似于关系模型的结构,转换为关系模型也更加容易,XBRL数据多维描述的特点也可以得到充分的体现。采用这种方式把数据拆分成表,可以利用基于关系数据库的相关软件工具,通过数据挖掘等方式迅速得出有用信息来辅助商业决策和监管决策。
4. 2依据会计数据的特点
会计数据产生于经济业务,是对经济业务中产生的原始凭证通过人脑或者计算机的智能判断,以关系表的形式存储于关系数据库中。用户需要汇总或者分析会计数据时,可通过对应于数据存储方式的计算机程序进行调用。这样就会产生以下几个问题:
(1)经济业务中产生的原始凭证数据是否都是结构化的,能不能完全拆分成关系数据表达;如果是半结构化或非结构化的数据,拆分时是否会引起数据失真等。
(2)关系数据库比较复杂,如果不熟悉数据库结构,那么调用会计数据将非常困难,不利于会计数据的共享。
在使用关系数据库存储会计数据方式下,这些问题是难以解决的,但是在XML格式存储下,就可以避免。第一,由于XML的特性,它可以把经济业务的全部信息都存入数据库,可以反映经济业务的全貌,保持“原汁原味”的会计数据,便于用户根据个性需要提取所需的数据,而且XML能够很好地表达半结构化和非结构化数据,无须担心数据失真问题。第二,XBRL是XML语言,它产生的目的就是致力于会计数据的自由交流,它以XBRL GL作为会计数据底层的应用技术,反映经济业务全貌,得到的会计数据格式符合XBRL国际组织制定的标准,具有很好的透明性、通用性和易理解性,不但方便计算机阅读,同样也方便人的阅读,提高了会计数据的共享性。
4. 3依据外部环境
4. 3. 1从现在状况来看
从现在的外部环境来看,现今大多数公司的数据库是关系数据库,因为关系数据库是当今市场上最成熟且完善的数据库,而且其他支持关系数据库的相关软件工具,如财务决策软件及数据挖掘工具等也发展比较完善,使用关系数据库显然要比使用原生XML数据库在数据分析、数据再利用上具有更大优势。就目前企业的设备来看,基本上只支持关系数据库,而且企业也有相当丰富的关系数据库使用经验。至于原生XML数据库,其只不过是一个陌生的概念而已。从技术本身来看,关系数据库商业化已30多年,形成了一套成熟的技术理论。而原生XML数据库还不成熟,仍处于研究阶段,相关商业化软件也不成熟,目前几大数据库软件生产商也仅仅支持基于关系数据库的方式存储XML数据的数据库,并没有单独开发原生的XML数据库产品,更没有开发相关的支持数据再利用的软件。二者的具体比较如表2所示。
表2 外部环境分析
4. 3. 2从未来发展来看
由表1可以看出,原生XML数据库其主要缺陷在于:与关系数据库相比,其技术发展还不成熟。XBRL、XML作为新兴发展的技术,如果一直依赖于其他数据库来存储,必将严重阻碍XBRL、XML技术的发展前景。正因如此,2006年以来,对于XML存储技术的研究不断深入,相信在不远的未来,原生XML数据库技术将得到良好的发展和应用。
其实抛开技术成熟度和实际应用来看,在XBRL文件存储方面,原生XML数据库对比关系数据库还是具有比较明显的优势,其中体现在以下几点:
(1)强调数据的层次关系。原生XML数据库按照XBRL数据的层次关系对XBRL文档进行存储,而关系数据库是扁平的关系结构,表达数据层次关系困难。
(2)无数据失真。原生XML数据库可以对XML文档直接存储,并且提供Schema校验功能,不会引起数据失真,而关系数据库需要把模式转化为约束才能校验,且拆分存储过程中容易导致数据失真。
(3)保留数据顺序。原生XML数据库完全保留XBRL文档中的顺序关系,而关系型数据库存储XBRL文档,需要首先拆分成表,容易丢失元素顺序信息。
(4)适合频繁的海量数据查询。原生XML数据库查询时是直接把XBRL文档数据一次性读入内存中,虽然在读取过程中耗费时间,但一旦数据读取完毕后,查询速度很快,非常适合于频繁的海量数据查询。而关系数据库却在映射过程的拆分、重组中耗费过多资源,严重影响查询速度。
5 结束语
综上所述,XBRL会计数据采用拆分方式存储于关系数据库更符合实际应用,这也是在原生XML数据库技术还不成熟的情况下的一种无奈的选择。然而目前的存储方式肯定不能满足后期对XBRL大量的需求。如果存储问题解决不好,XBRL即使得到应用,也不会大范围使用。为促进XBRL的技术发展和应用,笔者认为应该还要注重XBRL存储技术的研究,如原生XML数据库技术,这是未来发展的必然选择。现在数据库厂商也在大力研究XML的存储技术,相信不管从哪个角度发展,最后都会逐步解决目前存在的问题。
主要参考文献
[1] 万常选. XML数据库技术[M]. 北京:清华大学出版社,2005.
[2] 娄芳,于海雯. XML 数据存储方式的决策研究[J]. 科技广场,2005(1).
[3] 刘世平,胡霖松. XBRL及其应用概论(1)[J]. 当代金融家,2006(10).
[4] 吴永春. XML数据存储方法研究及应用 [J]. 现代计算机:专业版,2005(8).
[关键词] XBRL;XML;会计数据;存储方案
[中图分类号]F232[文献标识码]A[文章编号]1673-0194(2008)16-0020-04
1 XBRL会计数据存储概述
近年来,随着XBRL技术的飞速发展,XBRL逐渐成为网络财务报告和会计数据交换的一种新的标准格式,越来越广泛地应用于会计应用系统中。由于XBRL实例文档中包含有会计数据,因而如何对XBRL会计数据进行有效的存储是数据管理的一个核心问题。只有对XBRL会计数据进行有效的存储,才能进行高效的数据索引及数据查询。目前我国在实际应用中采用的存储方式大致可以分为3种:文件系统、关系数据库、原生XML数据库。
2 XBRL会计数据存储方案分析
2. 1存储于文件系统中
存储于文件系统中即以文件的方式保存XBRL 会计数据,利用操作系统进行处理。这是一种简单的存储方式,优点是存储效率高,成本低,XBRL会计数据内部的关联关系也得到了完全保留,数据无失真。但其缺点也相当明显,面对大量的XBRL文档,这种存储方式无法对XBRL会计数据进行基本的数据索引及数据查询等数据处理。目前这种存储方式使用较少,仅适合于少量的对查询管理要求不高的XBRL文档存储。
2. 2存储于关系数据库中
XBRL文档存储于关系数据库中,一般有两种方式:
(1)把XBRL文档整体看成CLOB(Character Large Object,字符型大型对象,表示把文件,包括程序、图像、音频、数据、文件等,当成一个对象来对待,不对对象内部的细节进行解释)字段,直接存储到关系数据库中。
(2)采用拆分的方式,把XBRL文档映射成关系表再存储于关系数据库。
2. 2. 1采用CLOB字段存储于关系数据库中
把XBRL会计数据按照CLOB字段存储于关系数据库中,即XBRL会计数据以文件的方式存储于关系数据库中,这与存储于文件系统中大致相同,区别在于采用CLOB字段存储在数据安全性和完整性上相对较好。
2. 2. 2采用拆分方式存储于关系数据库中
采用拆分的方式是指将XBRL会计数据转换为结构化数据后存储于二维表中(如图1所示),利用关系数据库来实现对XBRL会计数据的存储和管理。由于XBRL 和关系数据模式的互异性,为了实现在XBRL文件和关系数据库之间交换数据,必须提供一个XBRL映射模型 ,将XBRL文档模式(XBRL Schema )映射到关系数据库模式中。其过程一般是:先创建用于存储XBRL文档的关系模式;然后拆分XBRL文档,将其中的数据存储于已创建的关系模式。数据库中基本的存储单元独立于程序实现。
采用拆分方式存储于关系数据库中的好处在于:关系数据库理论发展已比较成熟,且有诸多配套的分析挖掘工具可供选择,利于XBRL会计数据进一步深加工,方便企业对数据的分析和挖掘。其缺点是:关系模型难以处理XBRL文档的元素嵌套和多值属性,容易产生数据库的大量空值和数据冗余;且拆分XBRL文档,很可能会破坏XBRL实例文档内部的部分关联关系,一些层次信息无法反映在关系数据库中,造成数据失真。
2. 3存储于原生XML数据库中
关于原生XML数据库,数据库专家R. Bouret给出了一个定义,即只有同时满足以下3个条件的XML数据库才能称之为原生XML数据库:
(1)为XML文档定义一个模型,XML数据存储和查询都基于这个模型;
(2)将XML文档作为(逻辑)存储的基本单位,正如关系数据库将行(元组)作为存储的基本单位一样;
(3)不要求只能使用某一特定的底层物理模型或某种专有的存储格式。
XBRL文档存储于原生XML数据库中,其最小的存储单位是记录,每个记录都有自己的ID,这种存储方式下,存入取出过程是直接对整个XML文档进行操作。其存储方式如图1所示。
从表1对现有的XBRL会计数据存储方式的比较可以看出,每种方案各有自己的优缺点,都只能较好地满足XBRL会计数据存储的某方面的特点。
4 XBRL存储方案选择依据
笔者认为可以从3个角度来选择存储方案:一是XBRL技术本身的特性,二是会计数据的特点,三是外部环境。
4. 1依据XBRL技术的特性
(1)XBRL 2.1技术规范相关规定。XBRL 2.1技术规范中对XBRL文档中所包含的元素结构做了定义,限制了元素的嵌套,便于关系模型的映射。
(2)XBRL分类标准相对稳定。由于XBRL分类标准的稳定性,意味着分类标准中定义的元素的属性、子元素及类型不会经常变动,减少了XBRL会计数据到关系数据库的映射模型创建频率,节省了企业应用成本,降低了频繁开发的风险。
(3)XBRL Dimension的多维表设计。XBRL Dimension的设计思想是多维表,所以XBRL Dimension的引入使得XBRL更加类似于关系模型的结构,转换为关系模型也更加容易,XBRL数据多维描述的特点也可以得到充分的体现。采用这种方式把数据拆分成表,可以利用基于关系数据库的相关软件工具,通过数据挖掘等方式迅速得出有用信息来辅助商业决策和监管决策。
4. 2依据会计数据的特点
会计数据产生于经济业务,是对经济业务中产生的原始凭证通过人脑或者计算机的智能判断,以关系表的形式存储于关系数据库中。用户需要汇总或者分析会计数据时,可通过对应于数据存储方式的计算机程序进行调用。这样就会产生以下几个问题:
(1)经济业务中产生的原始凭证数据是否都是结构化的,能不能完全拆分成关系数据表达;如果是半结构化或非结构化的数据,拆分时是否会引起数据失真等。
(2)关系数据库比较复杂,如果不熟悉数据库结构,那么调用会计数据将非常困难,不利于会计数据的共享。
在使用关系数据库存储会计数据方式下,这些问题是难以解决的,但是在XML格式存储下,就可以避免。第一,由于XML的特性,它可以把经济业务的全部信息都存入数据库,可以反映经济业务的全貌,保持“原汁原味”的会计数据,便于用户根据个性需要提取所需的数据,而且XML能够很好地表达半结构化和非结构化数据,无须担心数据失真问题。第二,XBRL是XML语言,它产生的目的就是致力于会计数据的自由交流,它以XBRL GL作为会计数据底层的应用技术,反映经济业务全貌,得到的会计数据格式符合XBRL国际组织制定的标准,具有很好的透明性、通用性和易理解性,不但方便计算机阅读,同样也方便人的阅读,提高了会计数据的共享性。
4. 3依据外部环境
4. 3. 1从现在状况来看
从现在的外部环境来看,现今大多数公司的数据库是关系数据库,因为关系数据库是当今市场上最成熟且完善的数据库,而且其他支持关系数据库的相关软件工具,如财务决策软件及数据挖掘工具等也发展比较完善,使用关系数据库显然要比使用原生XML数据库在数据分析、数据再利用上具有更大优势。就目前企业的设备来看,基本上只支持关系数据库,而且企业也有相当丰富的关系数据库使用经验。至于原生XML数据库,其只不过是一个陌生的概念而已。从技术本身来看,关系数据库商业化已30多年,形成了一套成熟的技术理论。而原生XML数据库还不成熟,仍处于研究阶段,相关商业化软件也不成熟,目前几大数据库软件生产商也仅仅支持基于关系数据库的方式存储XML数据的数据库,并没有单独开发原生的XML数据库产品,更没有开发相关的支持数据再利用的软件。二者的具体比较如表2所示。
表2 外部环境分析
4. 3. 2从未来发展来看
由表1可以看出,原生XML数据库其主要缺陷在于:与关系数据库相比,其技术发展还不成熟。XBRL、XML作为新兴发展的技术,如果一直依赖于其他数据库来存储,必将严重阻碍XBRL、XML技术的发展前景。正因如此,2006年以来,对于XML存储技术的研究不断深入,相信在不远的未来,原生XML数据库技术将得到良好的发展和应用。
其实抛开技术成熟度和实际应用来看,在XBRL文件存储方面,原生XML数据库对比关系数据库还是具有比较明显的优势,其中体现在以下几点:
(1)强调数据的层次关系。原生XML数据库按照XBRL数据的层次关系对XBRL文档进行存储,而关系数据库是扁平的关系结构,表达数据层次关系困难。
(2)无数据失真。原生XML数据库可以对XML文档直接存储,并且提供Schema校验功能,不会引起数据失真,而关系数据库需要把模式转化为约束才能校验,且拆分存储过程中容易导致数据失真。
(3)保留数据顺序。原生XML数据库完全保留XBRL文档中的顺序关系,而关系型数据库存储XBRL文档,需要首先拆分成表,容易丢失元素顺序信息。
(4)适合频繁的海量数据查询。原生XML数据库查询时是直接把XBRL文档数据一次性读入内存中,虽然在读取过程中耗费时间,但一旦数据读取完毕后,查询速度很快,非常适合于频繁的海量数据查询。而关系数据库却在映射过程的拆分、重组中耗费过多资源,严重影响查询速度。
5 结束语
综上所述,XBRL会计数据采用拆分方式存储于关系数据库更符合实际应用,这也是在原生XML数据库技术还不成熟的情况下的一种无奈的选择。然而目前的存储方式肯定不能满足后期对XBRL大量的需求。如果存储问题解决不好,XBRL即使得到应用,也不会大范围使用。为促进XBRL的技术发展和应用,笔者认为应该还要注重XBRL存储技术的研究,如原生XML数据库技术,这是未来发展的必然选择。现在数据库厂商也在大力研究XML的存储技术,相信不管从哪个角度发展,最后都会逐步解决目前存在的问题。
主要参考文献
[1] 万常选. XML数据库技术[M]. 北京:清华大学出版社,2005.
[2] 娄芳,于海雯. XML 数据存储方式的决策研究[J]. 科技广场,2005(1).
[3] 刘世平,胡霖松. XBRL及其应用概论(1)[J]. 当代金融家,2006(10).
[4] 吴永春. XML数据存储方法研究及应用 [J]. 现代计算机:专业版,2005(8).