Preferred system for managing diverse types and sources of data.
idea
What is the idea?
What is one system that has worked well for you in managing diverse types and sources of data? Why?
What: A metadata repository is the most flexible, scalable, and useful tool I've found for working with diverse types and sources of data. You can build a metadata repository on top of an XML, RDF, or SQL DBMS, and other technologies as well.
Why: With a metadata repository - the model is the application. The model is immediately usable as an application to collect, present, or process data. With a SQL DBMS, database, and application, the conceputal model, logical model, physical schema, database, and application code are separate from each other and much harder to change when needed. In a metadata repository, these things are all typically built in or fully interoperable.
In general, SQL is good for closed-world views of unchanging things for limited numbers of viewpoints, while metadata repositories are good for open-world views of evolving, adaptive, continuously changing things for unlimited numbers of customized user viewpoints.
Using the Object Management Group's (OMG) Model-driven architecture (MDA) approach for building and managing architectures (i.e., ontologies, viewpoints, knowledge-bases) of any type, you apply a four-layer metamodeling structure, with M3 being the foundation and M0 being the top.
With an open (i.e., non-proprietary) MDA Four Layer metamodeling approach, you can model anything and everything in the universe and beyond - any system not just software. For example, using such an open metadata repository, we could build a National Terminology for ARRA, having a unifying Management Life Cycle process to which other processes and life cycles are mapped, with consistent sets of management controls throughout the unifying life cycle, to which other processes' and applications' management controls, such as performance metrics, are mapped.
- M3 contains the object model (made available by the physical model/metadata repository software and hardware), where all modeled "things" are given their core inherited attributes and their core reusable "types" of relationships.
- M2 contains the basic set of things, also called classes or types, that are named, related, and described in the domain being modeled. This is where you build all models (using the M3 object and relation types) and instances that are used as references (e.g, Dictionaries, Taxonomies such as the OMB Reference Models, Thesaurus, Lookup Tables, Master Data, Master Metadata) by all other models and instances. You also built your integrating models at this level, e.g., a model for integrating M1 layer database designs across various M1 application designs and process models.
- M1 contains the diverse models of viewpoints in the community of users (i.e., concept maps, data models, process models, business rules, forms, reports, business and geographic visualizations, ontologies as knowledge models and architectures, axiologies as value-chain models as in value-added economic models, database structures, software applications, etc.), built by referring (e.g., via automated lookup) to the M2 references.
- M0 contains the diverse data of the community of users, accessed for input, transformation, or output, through the viewpoint designs modeled at the M1 level, and populated where possible with M2 lookup values, e.g., the equipment data-values (selected from an M2 lookup) in the equipment form (M1).
Why is it important?
An open metadata repository is a quantum leap forward in world modeling and data management over SQL.