Databases Reference
In-Depth Information
uses the username as the key to the global scope cache. Figure 29.7 shows diagram of
global scope cache.
Cube Object
Global Scope Cache
Hash Key=Role1;Role2
SCOPE
Hash Key=Role3;Role4
SCOPE
…
Hash Key=UserName
SCOPE
FIGURE 29.7 The global scope cache is a hash table with keys that contain name of the roles
the current user belongs to or name of the user.
When a user that belongs to a certain role combination connects to the system for the
first time, a global Scope object is built. This object is used for subsequent requests from
the same user or users that belong to that group of roles.
Session Scope and Session Scope Cache
A user can use a single session to query multiple cubes; therefore, each session has a
collection of Scope objects. The key into this collection is the cube name. When a user
issues a statement that creates a calculation in the session, Analysis Services detects to
which cube this calculation applies. If the session scope cache doesn't have the session
scope associated with that cube, Analysis Services creates a new Scope object and inserts it
into the session scope cache. In addition to the session scope, Analysis Services looks up
the global Scope object in the global scope cache of the cube, and creates one if one is not
found in the global scope cache. The session scope cache contains references to both the
session scope and global scope of a cube, as shown in Figure 29.8.
Global and Session Scope Lifetime
As with other types of caches, Analysis Services has to make sure that the cache of session
scopes and the global scope cache are not stale and detect conditions when users from
different sessions changes state of a cube.
Search WWH ::




Custom Search