Versioning scopes
Versioning scopes define the scope, for which consistency is guaranteed also for history. Of course, the most consistent (total) is guaranteed on database level, but this is not always the most appropriate solution. Thus, different versioning scope features are supported:
- database (D)- total database consistency in history
- objectspace (P)- each object space guarantees consistency within object space borders
- owner (O)- consistency is guaranteed within an owner scope
- instance (I)- consistency is guaranteed within an instance scope
Independent on selected versioning scope level, current database state is always consistent. This is, however, not the case for historical states. The most flexible but less (historical) consistent way of creating versions is creating instance scope versions setting instance versioning mode. Also owner scope version is rather flexible performs well. Object space versioning is nearly consistent, i.e. the only exception are relationships passing object space boundaries. Database versioning is total consistent. The more consistency the versioning scope guarantees, the more resource consuming and less flexible it becomes.
Combining versioning scope features with versioning levels and versioning consistency features may also influence the degree of consistency for history.