Обзоры
Informix – решения для Data Warehouse
Андрей Грачев
Что такое Data Warehouse?
Наиболее часто встречаемая область применения СУБД – это так называемые системы оперативной обработки транзакций (OLTP, On-Line Transaction Processing). Сюда относятся задачи управления банковскими счетами, учета материальных ценностей, информационно-поисковые системы и т.д. Однако существуют задачи анализа (OLAP, On-Line, Analitical Processing) и, в частности, поддержки принятия решений (DSS, Decision Support Systems).
К задачам анализа относится выработка рекомендаций на будущее, принятие руководством решений и пр. Зачастую от качества информации в системах поддержки принятия решения напрямую зависит финансовое положение предприятия (вспомните работу кредитных отделов банков). В дальнейшем, для простоты, будем называть лиц, занимающихся анализом данных, аналитиками, а тех, кто работает с системами OLТР, – операционистами.
Операционистам нужна или текущая информация, или информация за отчетный период (месяц, квартал, год и т.д.). Зачем, скажем, складской системе "помнить", сколько изделий было на складе вчера? Здесь достаточно отражать операции, суть которых выражается предложением "по квитанции номер такой-то некоторый товар был отпущен такому-то клиенту". А для аналитика интересна, например, сводная информация за длительный период времени: сколько таких-то изделий было поставлено за прошлый год, за прошлый месяц, сколько в среднем их находится на складе и т.д.
С другой стороны, внутри одного предприятия подчас "уживаются" несколько разнородных информационных систем. Например, склад использует СУБД фирмы Informix, бухгалтерская программа написана на Clipper, а АРМы отдела сбыта хранят данные с использованием Btrieve. Подобная ситуация может возникать по многим причинам. Например, вследствие слияния двух или более фирм. Для нашей страны типичен другой поворот -отказ от большой ЭВМ типа ЕС и независимая разработка информационной системы для каждого отдела собственными силами.
Возникает вопрос: как же в условиях такого "зоопарка" обеспечить аналитиков актуальной и достоверной информацией? Конечно, можно предоставить специалисту доступ с его рабочего места ко всем информационным системам, установить на его компьютер электронную таблицу типа Lotus 1-2-3 или Excel, научить пользоваться ODBC-драйверами, одним словом, возложить на его плечи всю работу по извлечению и преобразованию данных. Но, согласитесь, далеко не каждый способен освоить подобный инструментарий и затем эффективно его использовать. Наилучшим решением, очевидно, была бы автоматизация основных информационных процессов: извлечения данных из систем OLTP и преобразования информации к единому виду; доставки этих данных до рабочего места аналитика; архивного хранения необходимых данных.

Именно эти функции и выполняет Data Warehouse. Другими словами, Data Warehouse – это набор организационных решений, программных и аппаратных средств для обеспечения аналитиков информацией на основе данных из систем обработки транзакций нижнего уровня и других источников (например, по телеграфным каналам от информационных агентств).
Данные, подлежащие хранению и обработке в Warehouse, характеризуются:
– долгим "временем жизни" – они могут потребоваться через несколько лет после того, как были первоначально получены;
– малой вероятностью изменения – поскольку они отражают реальные ситуации;
– большим объемом и сложными внутренними взаимосвязями;
– ориентацией внутренней структуры и представления информации на суть проблемной области, так как они уже должны быть подготовлены для анализа.
Соответственно можно выделить следующие категории данных, которые должны храниться в Warehouse (в таблице 1 приведены основные отличия данных, используемых в OLTP- и в OLAP-системах):
– метаданные, описывающие способы извлечения информации из различных источников, методы их преобразования и доставки в Warehouse;
– фактические данные (архивы), отражающие состояние предметной области в конкретные моменты времени;
– суммарные данные, то есть информация, уже полученная на основе какого-то анализа.

Виды программного обеспечения Data Warehouse (извлечение, преобразование, передача, хранение и анализ данных) и схема их взаимодействия показаны на рис. 1.
Стратегия фирмы Informix на рынке Warehouse
Фирма Informix Software, один из лидеров рынка реляционных систем управления базами данных (СУБД), так сформулировала свою стратегию на рынке продуктов для Warehouse: "Best in Class". Informix обеспечивает системную часть -продукты для выгрузки данных, серверы баз данных, инструментальные средства реализации рабочих мест клиентов – и дополняет ее продуктами ведущих специализированных фирм.

Так, 24 мая этого года компания Informix и фирма Prism Solutions подписали соглашение о совместной деятельности в области Warehouse. У Informix Software есть аналогичные соглашения со многими фирмами, поставляющими как программное обеспечение для построения Warehouse, так и аппаратную часть. Подробнее об этом читайте во врезке "Партнеры Informix".
Продукты Informix для построения Warehouse
Рассмотрим более предметно использование собственных разработок фирмы Informix Software для построения Warehouse. Прежде всего, это сервер Informix OnLme DSA. База данных, используемая для хранения информации в Warehouse (имеется в виду база данных, в которой хранится информация для DSS, то есть используемая аналитиками), должна обеспечивать хранение огромных объемов информации. Несмотря на то что для OLAP не нужна очень быстрая реакция на запрос (см. таблицу 1), рабочее время аналитиков, и тем более руководителей, стоит очень дорого. Поэтому важно, по возможности, увеличить скорость поиска данных/
Кроме того, база данных с информацией для Warehouse имеет обыкновение сильно расти со временем. Поэтому требуется обеспечить масштабируемость, возможность увеличивать производительность вместе с ростом объема базы данных.
Кругу подобных задач наиболее полно отвечает новый SQL-сервер Informix OnLme DSA. При его разработке особое внимание уделялось осуществлению больших и сложных запросов, параллельному исполнению операторов выборки и модификации данных, построению индексов и т.д. Основа внутренней архитектуры DSA (Dynamical Scalable Architecture) – это виртуальные процессоры и многотредовая архитектура. Виртуальные процессоры могут находиться на различных физических процессорах. Есть несколько типов виртуальных процессоров: процессоры обработки запросов, асинхронного ввода-вывода, управления обменом по сети и др.


Пользовательский запрос выполняется в треде. Тред (нить или поток) может передаваться с одного виртуального процессора на другой, в том числе на находящийся на другом физическом процессоре. Таким образом обеспечивается равномерная загрузка всех мощностей компьютера (см. рис. 2).
Для повышения скорости считывания данных с жестких дисков (что особенно важно для больших баз данных) используется опережающее чтение и возможность управления размещением таблицы на дисках. Если, например, таблицу разместить на двух разных дисках, то для некоторых запросов это будет означать уменьшение времени исполнения почти в два раза. Для запросов, требующих просмотра большого объема данных (а для Warehouse это случается довольно часто), это очень полезная возможность.
И, естественно, для реализации мест клиентов Informix Software рекомендует использовать новую графическую объектно-ориентированную среду разработки NewEra, которая основана на объектно-ориентированном расширении языка 4GL. В комплект поставки входит ViewPomt Pro – оболочка для безъязыкового, визуального создания форм и отчетов. Даже пользователь-непрофессионал может с помощью данного продукта быстро создать нужный ему отчет. Через ODBC-драйверы можно работать практически с любым сервером базы данных.

С помощью системы программирования NewEra можно создавать большие, сложные приложения. Начиная с версии 2.0, вереде разработки NewEra появилась возможность динамического добавления новых объектов. Кроме того, библиотека классов, поставляемая вместе с NewEra 2.0, была существенно расширена за счет классов деловой графики и библиотеки для построения сервера приложения. На старших версиях NewEra можно вести разработку и алфавитно-цифровых приложений. Структура и составные части системы программирования NewEra показаны на рис.3.
Для извлечения данных из разных источников и преобразования информации Informix Software прелагает ряд продуктов: Gateway with DRDA, Gateway Enterprise, Gateway Manager DCE/NET. Остановимся на них подробнее.
Продукт Informix Gateway with DRDA обеспечивает клиентам прозрачный доступ к базам данных типа DB2 или OS/400 SQL Database Server, словно это обычный сервер Informix. Продукт Informix Gateway with DRDA устанавливается на Unix-машине, соединенной с мейнфрэймом по протоколу SNA/APPC (см. рис. 4).
Продукт Informix Gateway Enterprise аналогичен продукту Gateway with DRDA, но вместо жестко встроенного протокола DRDA может использовать драйвер для доступа практически к любому источнику данных. В настоящее время есть драйверы к Adabas, DBF-базам, Oracle, Sybase, Progress и др. Драйверы могут разрабатываться пользователем самостоятельно (если он, например, желает использовать какие-то специализированные системы).
На врезке "Примеры решений на основе СУБД Informix" показано, как стратегия "Best in Class" воплощается в конкурентоспособные, качественные решения.
{НАЧАЛО ВРЕЗКИ}
Примеры решений на основе СУБД Informix
В 1994 году фирма HCIA реализовала Warehouse для работы с информацией в области социального обеспечения, страхования и фармацевтики. Перейдя с универсальных компьютеров (мейнфреймов) на локальные сети, эта компания выбрала продукты Informix (Informmix Online, lnformix-4GL, Informix ESQL/C и т.д.). Warehouse установлен на платформе SPARCcenter 2000, состоит из трех серверов Informix OnLine и содержит более 350 гигабайтов информации.
Примерно такой же набор продуктов от Informix использовала и сеть ресторанов KFC, имеющая годовой оборот в 7 млрд. долларов. Ее партнером выступала фирма FourGen, разработавшая в свое время программу-кодогенератор 4GL-Forms для lnformix-4GL. На этот раз была выбрана аппаратура Hewlett-Packard.
Warehouse второй по величине сети магазинов American Stores Company (США) тоже сделан на разработках фирмы Informix. В нем собирается информация более чем из 2000 магазинов. В качестве аналитической программы применялась разработка фирмы PeopleSoft. Для связи с мейнфреймами использовался продукт Informix Gateway With DRDA, а данные самого Warehouse хранятся на серверах Informix OnLine Dynamic Server.
Партнеры Informix
Компания Cabletron с 1979 года занимается средствами извлечения и передачи данных. Ее продукция позволяет работать с DB/2, Adabas, VSAM и ISAM.
Пакет Extract Tool Suite фирмы Evolutionary Technologies (ETI) представляет собой инструментальное средство для преобразования разнородных данных в единый формат, сопровождения Warehouse и разработки новых прикладных программ: Extract автоматически генерирует их для нужной платформы по описанию требований к данным и их формату.
Фирма Prism Solutions с момента своего основания в 1991 году ориентируется на разработку приложений, обеспечивающих хранение, доступ и обработку исторической и стратегической информации. Ее продукт Prism Directory Manager является полным набором средств для построения Warehouse на основе архитектуры "клиент-сервер" и состоит из трех компонентов: Directory Builder для сбора и управления метаданными с технической и деловой точек зрения; Information Directory, описывающего содержание и смысл данных, хранящихся в Warehouse; Directory Navigator, позволяющего просматривать метаданные, хранящиеся в подсистеме Information Directory. Как и продукты фирмы ETI, Prism Directory Manager автоматически генерирует исходный код для задач извлечения и преобразования данных.
{КОНЕЦ ВРЕЗКИ}