Databases Reference
In-Depth Information
Hierarchies job creates another set of jobs to process each hierarchy. Each job then tries to
obtain a thread from the thread pool, estimates the memory required for its execution,
and requests that amount from the Memory Manager. If sufficient resources are available
for its execution, the Process Hierarchies job starts processing a hierarchy.
Analysis Services uses file stores for hierarchy data structures. For more information about
hierarchy data structures, see Chapter 20. The data in those stores is automatically saved to
disk, so Analysis Services doesn't need to have another thread that writes the data to disk.
Hierarchy processing can become a costly operation in terms of memory and processor
time. Typically, ordering the members in the hierarchy according to the sort order you
defined on the attributes requires the largest chunk of time. For large attributes, we recom-
mend that you disable ordering of members by setting the AttributeHierarchyOrdered
property of dimension attribute to FALSE .
Building Decoding Tables
To enable Analysis Services to look up the DataID values of members from higher levels of
the hierarchy by the DataID of a member from the lower level of the same hierarchy
quickly, it builds a data structure called a decoding table. Analysis Services can start build-
ing decoding tables only after all attributes are processed. Similar to hierarchy processing,
building decoding tables is a single-threaded operation. To build decoding tables, Analysis
Services creates a Build Decoding Tables job and creates a dependency on the Process
Attributes job. Analysis Services starts to build decoding tables from the top level of the
hierarchy and progresses down to the key level.
The processing of decoding tables typically does not require a lot of server resources. A
decoding table is a compressed file store, so Analysis Services doesn't need to perform any
additional compression and simply saves the decoding table after building it.
Building Indexes
The last data structure that Analysis Service builds for a dimension is a set of bitmask
indexes for the map store containing related attributes. Analysis Services builds indexes
independently for each attribute; but before it can build indexes, decoding tables should
be available. To build attribute indexes, Analysis Services creates a Build Indexes job and
creates a dependency on the Build Decoding Table job.
The Build Indexes job creates another set of jobs to build indexes for each attribute. Then
each job tries to obtain a thread from the thread pool, estimates the memory required for
its execution, and requests that amount from the Memory Manager. If sufficient resources
are available, the Build Indexes job starts execution.
Search WWH ::




Custom Search