
XBRL數據的存儲離不開數據庫技術。目前,XBRL應用采用的存儲方式主要可以分為文件存儲方式、關系型數據庫存儲方式和原生XML數據庫存儲方式。
一、文件存儲方式。XBRL一般以實例文檔的文本文件的形式直接存儲在計算機的文件系統中。XBRL實例文檔即是XML文件,也是自描述文檔,這種文件完全可以數據存儲方式來存儲數據。但是,這種“簡易”存儲方式,由于缺少數據庫管理系統的高效存儲組織、索引、事務處理、觸發器、數據完整性和多用戶管理等功能,在對大量XBRL數據進行處理時,其效率和安全性是比較差的,無法滿足業務高性能存儲的要求。
二、關系型數據庫存儲方式。關系型數據庫是當今應用最廣的一類數據庫,其技術也是最成熟的。基于關系數據庫的XML數據存儲,將XML數據分解到若干關系表中存儲,充分利用關系型數據庫已有資源和成熟技術來管理XML數據。在關系數據庫模式下,XML查詢操作轉化為一系列關系查詢操作,利用關系查詢處理和優化機制來響應查詢。不過,由于XML數據大都是半結構化或者非結構化的數據,而關系數據都是結構化數據,兩者之間存在本質上的差異,因而將XML數據分解到關系存儲需要經過映射,這種映射有時會導致一些信息的丟失。
三、原生XML數據庫存儲方式。一般認為,滿足以下三個條件的XML數據庫才能稱之為原生數據庫:第一,為XML文檔定義了一個邏輯模型,XML數據的存儲和查詢都是基于這個模型。第二,將XML文檔作為邏輯存儲的基本單位,就像關系數據庫將元組作為它存儲的基本單位一樣。第三,不要求只能使用某一特定的底層物理模型或某種專有的存儲格式。