Содержание


Проверенные приемы IBM Cognos

Использование IBM Cognos 10 Virtual View Manager для федерированных запросов

Продукт: IBM Cognos 10 Virtual View Manager; область использования: инфраструктура

Comments

Серия контента:

Этот контент является частью # из серии # статей: Проверенные приемы IBM Cognos

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Проверенные приемы IBM Cognos

Следите за выходом новых статей этой серии.

Назначение

В документе представлен обзор функциональности полусоединений IBM Cognos Virtual View Manager и ее влияния на федерированные запросы.

Применимость

Хотя приемы и поведение продукта, рассматриваемые в этой статье, могут быть применимы также к версиям IBM Cognos 8.4 и IBM Cognos 8.4.1 Virtual View Manager, данный документ проверен для IBM Cognos 10 Virtual View Manager.

Обзор

IBM Cognos Virtual View Manager Server упрощает взаимодействие с разнородными распределенными информационными источниками, создавая прозрачный интерфейс, позволяющий пользователям и разработчикам приложений работать с бизнес-информацией в режиме реального времени. Он создает защищенное унифицированное представление файлов, баз данных и пакетированных приложений. В результате аналитики, разработчики отчетов и создаваемые ими приложения могут обращаться к разнородным источникам данных без изменения существующих приложений конечных пользователей и используемой информационной инфраструктуры.

В приведенных ниже разделах документа мы последовательно выполним следующие действия:

  • Создадим два подключения к источнику данных IBM Informix.
  • Создадим федерированное представление данных от каждого из двух подключений к источнику данных IBM Informix.
  • Создадим взаимосвязь с включенным атрибутом semijoin.
  • Создадим план исполнения и выполним сбор статистики.
  • Просмотрим сгенерированный SQL-запрос, чтобы проанализировать влияние установки атрибута semijoin на взаимосвязь.

Создание подключения к источнику данных IBM Informix

Источник данных IBM Cognos Virtual View Manager отображает внешние физические источники данных, доступные серверу IBM Cognos Virtual View Manager. В следующем разделе мы создадим два подключения к источникам данных IBM Informix из примеров, поставляемых с продуктом IBM Informix.

  1. В меню Start\Programs запустите IBM Cognos Virtual View Manager Studio.
  2. Введите имя пользователя и пароль и нажмите кнопку Connect.
  3. В левой части экрана IBM Cognos Virtual View Manager Studio щелкните правой кнопкой мыши на папке Shared folder и выберите New Data Source.
  4. В диалоговом окне New Physical Data Source под Select Data Source Adapter выберите Informix 9.x и нажмите кнопку Next, чтобы закрыть окно. В данном примере добавляется следующая информация:
    • Name: MyInformixOrders
    • Host: Localhost
    • Port: 19408
    • Server: VVMRepository
    • Database Name: orders
    • Login: informix
    • Password: Password#1
    На приведенном ниже снимке экрана показано диалоговое окно New Physical Data Source с введенной информацией.
    Рисунок 1. Диалоговое окно IBM Cognos Virtual View Manager New Physical Data Source с информацией о подключении
    Рисунок 1. Диалоговое окно IBM Cognos Virtual View Manager New Physical Data Source с информацией о подключении
    Рисунок 1. Диалоговое окно IBM Cognos Virtual View Manager New Physical Data Source с информацией о подключении
  5. В диалоговом окне New Physical Data Source перейдите на вкладку Advanced Tab для отображения расширенных настроек источника данных.
  6. Вместе с другими расширенными настройками на данной вкладке отображается кнопка JDBC Connection Properties.
  7. Нажмите кнопку JDBC Connection Properties.
  8. Нажмите пиктограмму с плюсом рядом с Add JDBC Connection Properties и введите следующие значения:
    • Property: DB_LOCALE
    • Value: en_us.utf8
    После завершения ввода информации в диалоговом окне JDBC Connection Properties dialog отобразится свойство DB_LOCALE и его значение en_us.utf8 (см. рисунок 2).
    Рисунок 2. Диалоговое окно JDBC Connection Properties, отображающее свойство DB_LOCALE и его значение en_us.utf8
    Рисунок 2. Диалоговое окно JDBC Connection Properties, отображающее свойство DB_LOCALE и его значение en_us.utf8
    Рисунок 2. Диалоговое окно JDBC Connection Properties, отображающее свойство DB_LOCALE и его значение en_us.utf8
  9. Нажмите кнопку OK, а затем кнопку Next.
  10. В левой части экрана разверните MyInformixOrders и папку orders.
  11. В папке orders разверните папку informix.
  12. Просмотрите список и отметьте флажок ordersdetails. Затем нажмите кнопку Finish.
  13. Повторите действия с 1 до 13 для второго источника данных MyInformixProducts Informix, выбрав таблицу inventory\informix\Products и использовав следующую конфигурацию:
    • Name: MyInformixProducts
    • Host: Localhost
    • Port: 19408
    • Server: VVMRepository
    • Database Name: inventory
    • Login: informix
    • Password: Password#1
    После завершения ввода информации IBM Cognos Virtual View Manager Studio отобразит в левой панели метаданных источник данных MyInformixOrders с таблицей orderdetails и источник данных MyInformixProducts с таблицей products (см. рисунок 3).
    Рисунок 3. IBM Cognos Virtual View Manager Studio отображает выбранную таблицу каждого из двух источников данных
    Рисунок 3. IBM Cognos Virtual View Manager Studio отображает выбранную таблицу каждого из двух источников данных
    Рисунок 3. IBM Cognos Virtual View Manager Studio отображает выбранную таблицу каждого из двух источников данных

Создание федерированного представления

Федерированным называется запрос, получающий данные сразу от двух определенных источников данных. В данном разделе мы создадим федерированное представление данных (federated view), использующее источники данных MyInformixOrders и MyInformixProducts.

  1. В левой части экрана щелкните правой кнопкой мыши на папке Shared folder и выберите New View.
  2. Появится запрос ввода названия. Введите MyFederatedView и нажмите кнопку OK.
  3. Чтобы добавить элементы в представление, нажмите кнопку Add в инструментальной панели.
  4. Для развертывания дерева MyInformixOrders нажмите символ "+" рядом с ним.
  5. Для развертывания orders в MyInformixOrders нажмите символ "+" рядом с ним.
  6. Для развертывания informix в orders нажмите символ "+" рядом с ним.
  7. Выберите orderdetails и нажмите кнопку OK.
  8. Повторите действия с 3 по 8 для таблицы Products, расположенной в MyInformixProducts\inventory\informix\Products.
    После завершения этих действий в правой панели IBM Cognos Virtual View Manager Studio должны находиться обе таблицы из каждого источника данных, расположенные друг над другом (см. рисунок 4).
    Рисунок 4. IBM Cognos Virtual View Manager Studio отображает федерированное представление
    Рисунок 4. IBM Cognos Virtual View Manager Studio отображает федерированное  представление
    Рисунок 4. IBM Cognos Virtual View Manager Studio отображает федерированное представление
  9. Передвиньте окна в правой панели так, чтобы они размещались друг возле друга. Это можно сделать путем нажатия левой кнопки мыши на заголовке каждого окна и перемещения окна в нужную позицию.
  10. Измените размеры окон так, чтобы их заголовки были видны полностью.

Создание взаимосвязи

В этом разделе мы создадим взаимосвязь между двумя таблицами федерированного представления.

  1. На вкладке MyFederatedView выберите поле productid в MyInformixOrders:orderdetails.
  2. Удерживая клавишу Shift на клавиатуре, щелкните левой кнопкой мыши на выделенном поле productid в окне MyInformixProducts:products и переместите его к полю productid в окне MyInformixOrders:orderdetails.
  3. Когда productid окажется в окне MyInformixOrders:orderdetails, отпустите кнопку мыши для создания соединения. После обновления экрана панель, ассоциированная с вкладкой MyFederatedView, будет отображать две таблицы, соединенные линией, представляющей взаимосвязь (см. рисунок 5).
    Рисунок 5. IBM Cognos Virtual View Manager Studio отображает вкладку MyFederatedView с взаимосвязью между двумя таблицами
    Рисунок 5. IBM Cognos Virtual View Manager Studio отображает вкладку MyFederatedView с взаимосвязью между двумя таблицами
    Рисунок 5. IBM Cognos Virtual View Manager Studio отображает вкладку MyFederatedView с взаимосвязью между двумя таблицами
  4. В меню File выберите Save "MyFederatedView", чтобы сохранить текущее представление.

Просмотр плана исполнения и статистики исполнения

Для просмотра структуры запроса и SQL-запроса в федерированном представлении можно использовать план исполнения (execution plan) и связанную с ним статистику. В данном разделе рассматривается пошаговая реализация плана исполнения.

  1. В инструментальной панели нажмите кнопку Show Execution Plan, расположенную под вкладкой MyFederatedView.
  2. В правой нижней части панели Execution Plan нажмите кнопку Execute and Show Statistics. После обновления экрана IBM Cognos Virtual View Manager Studio отобразит панель Execution plan в нижней половине вкладки MyFederatedView. В этой панели отображается структура запроса и связанный с ним SQL-запрос.
    Рисунок 6. IBM Cognos Virtual View Manager Studio отображает план исполнения для вкладки MyFederatedView
    Рисунок 6. IBM Cognos Virtual View Manager Studio отображает план исполнения для вкладки MyFederatedView
    Рисунок 6. IBM Cognos Virtual View Manager Studio отображает план исполнения для вкладки MyFederatedView
  3. В левой нижней части панели Execution Plan выберите каждый из узлов Fetch для отображения SQL-запроса, отправляемого в каждую базу данных Informix.
    Анализируя SQL-запрос для каждого из узлов Fetch, можно заметить, что ни один из узлов не содержит какой-либо информации о соединении между двумя таблицами. Это связано с тем, что таблицы федерированного представления расположены в двух различных базах данных Informix. Стандартным способом получения данных для представления является извлечение данных из обеих таблиц с последующим их соединением на локальной машине. Хотя данный подход эффективен, при больших объемах данных производительность запроса может снижаться.

Установка атрибута semijoin

IBM Cognos Virtual View Manager предлагает альтернативный подход к федерированным запросам, называемый semijoin (полусоединение). Если установить атрибут semijoin, механизм обработки запросов будет извлекать значения из одной таблицы и применять их в качестве фильтра OR при извлечении данных из второй таблицы. В данном разделе рассматривается настройка атрибута semijoin и анализируется его влияние на сгенерированный SQL-запрос.

  1. В верхней панели экрана дважды щелкните левой кнопкой мыши на ромбике, расположенном на линии, обозначающей взаимосвязь таблиц, чтобы отобразить диалоговое окно Join Properties.
  2. Отметьте флажок Semijoin Optimization и нажмите кнопку OK.
  3. На инструментальной панели нажмите кнопку Show Execution Plan.
  4. В правой нижней части панели Execution Plan нажмите кнопку Execute and Show Statistics.
  5. В левой нижней части панели Execution Plan выберите каждый из узлов Fetch для отображения SQL-запроса, отправляемого в каждую базу данных Informix.

Теперь, анализируя SQL-запросы, можно заметить, что значения одной из таблиц транслируются в условие фильтра OR по другой таблице, что очень эффективно при работе с федерированными представлениями наборов данных большого объема.

SELECT
products.productid,products.productname,products.productdescription,products.categoryid,
products.serialnumber,products.unitprice,products.reorderlevel,products.leadtime 
FROM informix.products products 
WHERE products.productid = 25 
OR products.productid = 24 OR products.productid = 23 
OR products.productid = 22 OR products.productid = 21 
OR products.productid = 20 OR products.productid = 19 
OR products.productid = 18 OR products.productid = 17 
OR products.productid = 16 OR products.productid = 15 
OR products.productid = 14 OR products.productid = 13 
OR products.productid = 12 OR products.productid = 11 
OR products.productid = 10 OR products.productid = 9 
OR products.productid = 8 OR products.productid = 7 
OR products.productid = 6 OR products.productid = 5 
OR products.productid = 4 OR products.productid = 3 
OR products.productid = 2 OR products.productid = 1

Ресурсы для скачивания


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management
ArticleID=801728
ArticleTitle=Проверенные приемы IBM Cognos: Использование IBM Cognos 10 Virtual View Manager для федерированных запросов
publish-date=03132012