Enterprises utilize a variety of different data management technologies for different types of data and applications. Major data management implementations are still enabled by relational databases, but other data management systems have been increasingly used in order to provide the best available support for the type of the data processing needed. Tara Modeling Ontology (TaraMO) is an ontology (model) that can be used to model data that is supported by document (e.g., MongoDB, etc.), wide-column (e.g., HBase, Cassandra, etc.), graph (e.g., Neo4j, etc.) and relational databases (e.g., Oracle, MySQL, DB2, etc.).
TaraMO concepts include:
Model is a concept that represents model that is being created in TaraMO.
TaraMO elements for relational and graph-based persistence include:
Concept models any physical or abstract thing that can have a computerized representation. A concept can have one or more properties.
Property models concept's properties.
Relationship models a relationship between two Concepts. Relationships can have properties as well.
RelationshipRule models a rule for a Relationship. To be functional a rule specifies source concept and target concept of a Relationship at least.
TaraMO elements for document-based and wide-column persistence include:
Like in relational and graph-based world, concept models any physical or abstract thing. Each concept contains documents. Documents contain fields that have values of different types. Documents in a concept can have different structures. However, in most cases, concepts are highly homogenous. Fields in documents can model structure of not only document-based but also wide-column databases (e.g., HBase).
DataTypes represent types that concept's properties or document's fields can have.