After hearing so much about EMC Documentum HVS, we decided to look under the hood to understand what the hype was all about.
What is HVS? Made broadly available in version 6.5 (you need to purchase the key) it is a generic term that refers to 3 broad areas of enhancements namely
- Lightweight SysObjects (LWSO)
- data partitioning
- scoping & batching.
This article will serve as an introduction to LWSO and the next article will deal with data partitioning and then batching & scoping. Stay tuned as the final post will deal with findings from base testing these enhancements.
LWSO share common attributes between parent objects providing the following benefits:
- normalizes the object model,
- reduces metadata storage space, and
- enhances repository scalability.
It is important to note that LWSO are subtypes of shareable types which are subtypes of dm_sysobject. Many LWSO can share the same parent type.
When LWSO have a parent object the object is called unmaterialized (or dematerialized) LWSO.
Unmaterialized LWSO will have identical values for all the attributes of its shared parent.
LWSO get converted from unmaterialized to materialized when certain actions such as checkout, link, unlink, or etc are applied to the LWSO.
A materialized object does not have a parent and can become a parent for another LWSO object. Materialized objects are full SysObjects and are called private parent if they do not have any child LWSO. Materialized objects can be converted to unmaterialized objects by re-parenting them. Re-parenting maps LWSO i_sharing_parent attribute back to a sharable parent converting the object to a unmaterialized object.
Documentum provides the following for the manipulating LWSO:
- MIGRATE TO LITE (converts a dm_sysobject to LWSO),
- CREATE SHAREABLE TYPE,
- CREATE LIGHTWEIGHT TYPE.
DFC: IDfLightObject, IDfSession, IDfPersistentObject.
In the next article we will explore data partitioning and its implementation in the HVS.