Simply using an RDBMS provides a certain amount of quality assurance:
Using RDBMS schemas, however, we can go further. Specifically, we can define a data model for Meta:
These checks overlap the ones that might be performed by an XML validator. An RDBMS can thus be configured to emit valid XML.
By using an industry-standard query language (i.e., SQL), we can take advantage of well-developed technology, a large body of literature, and a large community of practitioners.
As shown in Query Example, SQL allows information from various parts of Meta to be investigated in a clear (if somewhat verbose) manner. It can also aid Meta's selection and distribution operations.
Note: For administrative reasons (e.g., avoiding the generation of Cartesian Products), arbitrary externally-generated queries are unlikely to be run directly on Meta's RDBMS. Rather, some mechanism will be employed that allows predefined queries to be run in a parameterized fashion.
There is a real possibility that Meta will move from a "batch" approach to a "continuous" approach, as it gets more mature. Using an RDBMS provides support for transactions (atomic events that modify more than one table) and other useful facilities.
PostgreSQL is a sophisticated Object-Relational DBMS, supporting almost all SQL constructs, including subselects, transactions, and user-defined types and functions. It is the most advanced open-source database available anywhere.-- Main.RichMorin - 16 Jun 2003