In order to understand different implementation altrenatives I compared each of the alternatives that I could see using the constraints that I believe are important. This is what I came up with:
There seems to be the following alternative data storage options for implementing an XBRL based system:
- File system: Store information as files in your file system.
- Relational database: Put the data into a relational database.
- Multidimensional database: Put the information into a multidimensional database.
- RDF triple store: Put the information into an RDF triple store.
- NoSQL database: Put the information into a NoSQL database.
There appear to be two different storage strategies which one might use:
- XBRL technical syntax format: Store information in the raw XBRL technical syntax format.
- Queriable semantic oriented format: Convert the XBRL technical syntax into a more queryable semantic oriented format so that you don't need to convert the information at query time, thus hindering performance.
These seem to be the important evaluation criteria:
- Easy for business user to use (intuitive): Is the system EASY or HARD for a business user to use?
- Query power and query sophistication: Is the query language POWERFUL or UNSOPHISTOCATED?
- Performance, query speed: Is query performance FAST or SLOW?
- Expressive power: Is the system EXPRESSIVE or INEXPRESSIVE?
- System flexibility, agility: Is the system FEXIBLE or INFLEXIBLE?
- System scalability: Is the system SCALABLE or NOT SCALABLE?
- Global standard: Is the system STANDARD or PROPRIETARY?
- Cost effective: Is the system INEXPENSIVE or EXPENSIVE?
- Maintainability: Is the system EASY TO MAINTAIN or HARD TO MAINTAIN?
So, I created radar charts for each of the options for implementation from above. On the chart I show two sets of data: one for storing the XBRL technical syntax (in RED), the other for storing a more business semantics oriented format (in BLACK). I assigned values for each of the 9 constraints. The radar graphs below show the results that I get:
RDF Triple Store
This is the raw data that I used to populate the radar charts:
If you don't like the values I assigned for each alternative for each of the constraints, here is the Excel spreadsheet which I used, assign your own values.
You can download the radar graphs and data which are summarized in this PDF.
Reach your own conclusions.