Metadata and Metamodeling


Data Persistence

XML documents can be containers for data. They can hold data in traditional sense, i.e. row and column wise or any fine-grained tree structure where relationships are implemented through parent-child relationships or XML links. Compared to relational databases (RDBMS), XML documents are not efficient to store and search for large amounts of data. For each query, documents must be parsed and the structure of documents must be checked for validity. To increase the search performance, documents can be processed as plain text documents; however, this prevents structural queries from being executed.

XML documents, on the other hand, are ideal to store metadata. Small sized XML documents can hold information about real objects or computing resources. Their tree structure can model document and object relationships easily. Also, different namespaces and specifications can be used together so that models can be intertwined to share the power of expressiveness of each.

XML metadata documents can hold data about non textual objects such as either real objects like institutions and people, or computing resources like images, sound records, and program outputs so that a unique model could be applied to all sorts of metadata. This results in the generation of an enormous amount of XML documents that need to be handled by reliable and fast database systems.

Native XML databases are meant to answer this call [52]. In native XML databases, data storage and retrieval mechanisms are designed and optimized to access and update structural data. Data input, output, queries and all other internal structures are built and optimized for XML technologies. Currently in the market, there has not been any native XML database that offered a better performance than traditional RDBMS. Therefore, there are other solutions that combine technologies for this problem.

RDBMs can map XML data structures to database tables and columns. These mappings usually require a previous knowledge of document structure, defined by a certain XML schema. Database systems then generate stubs for data exchange and queries. There are also hybrid solutions that implement the best parts of bothapproaches [52].