Decision Support Objects (DSO) exposes the object model for the OLAP server. DSO contains interfaces, objects, collections, methods, and properties. Groups of objects are hierarchically arranged to define OLAP elements such as databases, cubes, partitions, and aggregations. Objects defined using DSO embody the metadata of the OLAP data managed by the OLAP server. This metadata is stored in a repository in a relational database and is accessed by the OLAP server and DSO.
Conceptually, DSO uses hierarchically arranged groups of objects to define basic elements of OLAP data storage, as implemented by the server. These basic elements are databases, cubes, partitions, aggregations, and virtual cubes. DSO addresses these basic elements in a hierarchical structure where elements contain other elements in a tree, which has the server object at the root of the tree. Other objects support this basic structure for dimensions, levels, measures, roles, and so forth.
The server object contains groups of objects that define databases accessed by the server. Each database element can contain groups of objects that define cubes or virtual cubes. A cube contains one or more partitions, which contain aggregations. A virtual cube is a special case of a cube, combining portions of its contained cubes, similar to the way a relational database view combines portions of tables.
Each of the above elements contains collections and objects. A special collection, named MDStores, maintains references to objects that make up the elements of this hierarchy beneath the server. The MDStores collection provides special implementations of Add, Find, and Remove methods, and a convenient AddNew method, which maintain parent-child relationships among the objects. Items in an MDStores collection are identified by the value of their ClassType property. For example, objects in an MDStores collection that have a ClassType property value of clsCube are cube objects.
Databases, cubes, partitions, and aggregations expose a common interface, MDStore, that provides the methods and properties you use to manipulate the objects. For more information about this interface, see MDStore Interface.
This figure shows an expanded view of the DSO structure and includes the basic Dimensions and Measures members that are key to the storage and definition of data cubes.
For more information about the DSO elements in this structure and the repository, see Databases, Cubes, Partitions, Aggregations, Virtual Cubes, and Repository.
There are two major classifications of DSO objects:
clsCubeAnalyzer | clsPartitionAnalyzer |
clsDataSource | clsServer |
clsMemberProperty |
For more information, see Objects and Interfaces.