Databases Reference
In-Depth Information
11. The storage engine executes the jobs. The storage engine retrieves the data from
either the relational engine or the file system, processes it, and stores it in the file
system of Analysis Services.
Execution of the DDL command is finished. Now we'll go back to the execution thread
pool. From there, the queries (MDX, SQL, and DMX statements) pass to the command
parser.
12. The command parser creates a semantic tree (Abstract Syntax Tree [AST]) for the
request, and determines which query language the request contains. Execution of
MDX and SQL requests passes to the formula engine; DMX requests go to the data-
mining engine. We didn't include the data-mining engine in the diagram because we
won't cover it in detail in this topic. (For information about the formula engine, see
Chapter 29, “Architecture of Query Execution—Calculating MDX Expressions.”)
13. The formula engine uses the AST to build a tree of the MDX objects and to deter-
mine what data is needed to calculate the result of the query.
14. The formula engine sends the request to the cache system to search for data that
might be stored in the cache. Dimension data is stored in the dimension cache; fact
data is stored in the data cache. The data then returns to the formula engine, which
computes the result of the request and sends it back to the client application. That's
the end of the line for that request.
If the requested data is not in the cache, the cache system generates an internal
request for the data and sends the request through the Job Coordinator to the
storage engine, following algorithm similar with execution of the DDL commands.
(For information about the architecture of cache system, see Chapter 29.)
After the data is retrieved from the storage engine, it passes to the cache. The
formula engine finds it there, computes the response, and sends it back to the client
application.
Three subsystems support all the modules in the system:
.
The metadata manager stores all the metadata for the multidimensional model and
passes it to any subsystem as needed.
.
The memory manager allocates all the memory in the system and manages it for
optimal use.
For information about the memory manager, see Chapter 27, “Memory
Management.”
.
The log manager enables any subsystem to give the user (or the client application)
information about the condition of the server and progress of the execution of a
command. The log manager passes the information to the trace system or writes it
to various kinds of logs. An administrator can configure the sets of logs. At a mini-
mum, critical information is written to the server log, such as information about
starting and stopping of the server and critical errors. For information about the
trace system, Chapter 38, “Using Trace to Monitor and Audit Analysis Services.”
Search WWH ::




Custom Search