Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Хранилища данных (курс лекций).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.46 Mб
Скачать

Метаданные

Аналитический сервер Oracle BI Server представляет данные пользователям согласно логической бизнес-модели - корпоративной семантической модели (Enterprise Semantic Model). Эта модель имеет три слоя (рис. 2): физический, содержащий метаданные о физических источникам данных, имена таблиц, первичные и внешние (primary and foreign) ключи, статистики по количеству строк (row counts), правила доступа к таблицам, а также пул соединений; бизнес-слой, содержащий описания измерений и иерархий, логические таблицы, правила выбора источников данных, правила построения вычислений, агрегаций и временного анализа, а также правила детализации; слой представления - упрощенное, персонализированное представление данных, к которым ссылаются с применением «логического SQL».

Рис. 2. Слои корпоративной семантической модели

Физический слой этой модели связан с физическими соединениями к источникам данных: реляционным и многомерным (OLAP) через SQL-представления или MDX (только к многомерным), XML-, или любой источник данных с ODBC-интерфейсом.

Бизнес-слой обеспечивает уровень абстракции над физическими объектами и позволяет администратору группировать данные в логические тематические области (logical subject areas). «Направления детализации» (Drill paths) могут быть установлены с применением определений измерений и размерностей. Они могут использовать преимущества встроенного «движка» вычислений (in-built calculation engine) в аналитическом сервере.

Слой представления определяет, что конечные пользователи увидят, когда они начнут выбирать данные в клиентском приложении. Это может быть полный набор данных в бизнес-слое или просто поднабор, и вы можете применять фильтры и ограничения (scoping), так что отдельные департаменты/сотрудники увидят только «свои», непосредственно для них предназначенные, данные.

Доступ к данным и обработка запросов

Oracle BI Server в части обработки запросов запросов выполняет две основные функции: компиляцию входящих запросов (от пользователей) в исполняемый код и непосредственно исполнение этого кода. Разбор и компиляция запроса состоит из пяти основных стадий: синтаксического анализа, генерации логического запроса, навигации, переписывании и генерации конечного кода. При этом основной и самой важной является именно стадия переписывания или оптимизации запросов. На этой стадии сервер занимается оптимизацией с учетом специфики каждого конкретного источника. Механизм объединения данных учитывает физическое расположение данных (таблица базы данных или, например, плоский файл), особенности функциональности SQL, поддерживаемого базой данных, а также аналитической сложности запроса.

В платформе Oracle BI Suite ЕЕ обработка запросов к данным максимально переносится, насколько это возможно, на серверы источников данных. Хотя аналитический сервер этой платформы может выполнять OLAP-вычисления и анализ, лучше все-таки использовать для этого выделенный OLAP-сервер, и, аналогично, при работе со сверхбольшими наборами данных лучше использовать высокопроизводительный сервер реляционной СУБД. Поэтому, когда возможно, для обработки используются именно эти технологии, а не аналитический сервер, роль которого в этом случае заключается в принятии запросов от инструмента (клиентского приложения) и их трансляции в предложения SQL (или MDX) к базам исходных данных. Когда эти базы возвращают результаты, аналитический сервер сводит данные, если нужно, сам выполняет некоторые вычисления, форматирует эти данные и возвращает их клиентскому приложению.

Сгенерированные предложения SQL оптимизируются, чтобы была возможность пользоваться преимуществами базы данных источника. Ее сервер может получать доступ к данным в агрегированных таблицах (aggregate tables), если он «знает» о таковых. Это может означать, например, что вы можете прямо отображать измерения на более высокий уровень агрегирования, до агрегированных таблиц в базе данных, которые можно использовать как замену для механизма перезаписи в запросе (query rewrite mechanism) в базе данных Oracle. Эту особенность можно задействовать, чтобы задать аналитическому серверу использование другого представления (view) SQL для аналитического пространства (analytic workspace) Oracle, если требуется агрегирование более высокого уровня.