Beruflich Dokumente
Kultur Dokumente
The BI Server communicates with the BI Presentation Server via ODBC, and then connects out to the various supported data sources through ODBC, OCI, XML/A, the Essbase Client API and
other native protocols. A key function of the BI Server is to create a three-layer metadata model, stored in a file-based repository along with security settings, database passwords, BI Server settings, startup macros and variable definitions.
The ODBC interface, that is used by Oracle BI Answers and other third-party tools to pass requests to the BI Server, and to receive the output from queries; The Logical Business Model, the three-layer metadata model that describes the data available for queries; The Intelligent Request Generator, a module responsible for taking the incoming queries and turning them into physical queries against the connected data source, which is made up of several sub-components including:
The Navigator, probably the most important part of the BI Server, and the part that takes the incoming query, compares it against cached answers, navigates the logical model and generates the physical queries that will best return the data required for the query Within the Navigator, there are modules for determining whether multiple physical queries are needed, whether stored aggregates can be used, and whether fragmented data sources can be used for partitioned measures; An Optimized Query Rewrite engine for handling aggregate navigation and fragments, and for translating to the correct physical SQL dialect, and An Execution Engine for firing off the queries to the relational, multi-dimensional, file and XML sources required to satisfy the query. Cache Services stores the results of previously run queries, matches incoming SQL against that used before and returns data from the cache rather than making the BI Server query the underlying databases again
In addition, various supporting technologies, modules and services provide the infrastructure for the BI Server, including:
Data Source Adapters for Oracle, ODBC, SQL Server, DB/2, Teradata, file, XML and other sources; System and Performance Monitoring through JMX counters and other technologies; Security Services for setting up users and groups in the RPD, filters, subject area security, links to outside LDAP servers and custom authenticators; Query Governance, for placing limits on numbers of rows returned and length of query execution for users and groups; Load Balancing, and Session Management
Well get on to memory usage in a future posting in this series, but in general the amount of memory taken up by the BI Server is initially determined by the size and complexity of the repository (RPD) that is running online, with further chunks taken up by concurrent sessions and then intermittent spikes of memory when in-memory (stitch) joins take place between data sources. The BI Server creates TMP (temporary) files in the $ORACLEBIDATA/tmp directory as data is further totalled and calculated, and as cross-database joins are paged to file. If you take a closer look at the NQSServer.exe process using a tools such as Microsofts Process Explorer utility, you can see that its a multi-threaded server application:
You can see that the BI Server is a C++ application that uses the Microsoft Visual C++ runtime, whilst taking a look at one of the running threads shows the various DLLs that are being used:
The Security Model, presumably the users and groups in the RPD, plus the filters and subject area security in the repository; The Business Model, the three-layer metadata model; Aggregate Navigation, for rewriting queries to use mapped in aggregate tables; SQL Generation Engine and Multi-database Query Processing, presumably the bit that takes the database capabilities matrix and generates the correct physical SQL for the various data sources; The Computation Engine, for performing in-memory stitch joins, post-aggregation filters and functions, and sorting, Query cachiing The Metadata Repositories that can be connected to the BI Server (with one marked as default, and The various data sources, such as Oracle, DB/2, Informix and SQL Server
Conclusions
So the BI server has some of the characteristics of a BI tool (metadata model, connectivity to data sources, security etc) and some of a regular relational database (query processing, optimization, rewrite, aggregate navigation etc) but without OLTP database features such as
transactions. Its primary job is to process incoming requests against this metadata model and translate them into the physical queries required to get the data from the underlying data sources, acting more as a query broker with no data being stored locally except that held in the cache. If youre interested in a bit more history of the BI Server, including its origins as a search engine called the nQuire Query Server, take a look at this old blog post on the origins of Siebel Analytics and OBIEE where Ive written up some of the original origins of the OBIEE product set. The BI Server has one main configuration file, held at $ORACLEBI/server/config/NQSConfig.INI, which contains parameter settings in plain text. The full set of possible parameters are held in the Server Administrators Guide within the Oracle docs, and this method of holding parameter settings looks like itll be carried across to 11g, although the settings themselves will be maintained through Enterprise Manager rather than the Administration tool as is the case with 10g and earlier.
The Oracle Business Intelligence Presentation Services user interface works in different languages, with a default Error Message language of English. Any error or warning messages appear in English. To receive localized Oracle BI Server messages (such as error, warning and information messages), you must set the locale during the platform installation, in the Error Message Language screen, as described in Oracle BI Installer Screens and Prompts. The primary mechanism for displaying localized table and column names is Externalize Metadata Strings. To determine which table and column names are localized, see the topic Using the Externalize Strings Utility for Localization.
Localized Oracle BI Components
Web interface Oracle BI Presentation Services messages: error warning information Oracle BI Server functions: DayName MonthName
NOTE: If a query is issued using the DayName or MonthName function, but the function is not shipped to a back-end database, then the day or month name is returned in the localized language but the column name remains in English (or may be affected by other localization controls). As an example of this situation, if the LOCALE parameter is set for German, the MonthName query returns the string "Mai" but the column header remains "Name of Month."
Oracle BI Server and Scheduler messages: error warning information Log files: nQServer.log for Oracle BI Server nqQuery.log for Oracle BI Server If Clustering is enabled, nQCluster.log for Oracle BI Server Cluster Metadata: Oracle BI Presentation Services dashboards and reports (Oracle BI Catalog) Presentation table and column names (.rpd file) Informatica (ENU and JPN locales only) Disconnected Client interface
Server Administration Tool interface Scheduler Job Manager interface ODBC client tools: nqcmd.exe (UNIX) nQCmd.exe (Windows) nQClient.exe (Windows) Installer ODBC setup