Informix: информацию - в массы!
ТЕХНОЛОГИИ
Фирма Informix Software была создана в 1980 г. в Менло-Парке (шт. Калифорния, США). Она ориентируется на разработку систем управления базами данных и средств пользования ими. Выпустив первую коммерческую реляционную СУБД для операционной среды Unix, она последовательно расширяет круг своих интересов, создавая инфраструктуру проектирования и использования СУБД. Рассмотрим наиболее перспективные, на мой взгляд, идеи и разработки фирмы.
Среда NewEra
Чтобы писать прикладные программы, обращающиеся к СУБД, нужен язык. Первоначальная идея языка четвертого поколения Informix-4GL оказалась плодотворной, и теперь ее воплощением служит среда разработки Informix-NewEra. Это - открытая среда, специально предназначенная для создания универсальных (символьных и графических) приложений, взаимодействующих с базами данных под управлением распределенных систем с архитектурой клиент-сервер. NewEra состоит из трех частей: одноименного языка программирования приложений, комплекта библиотек классов и среды визуального программирования - набора инструментальных средств разработки.
Язык NewEra поддерживает парадигмы объектно-ориентированного и структурного программирования, содержит базовый набор возможностей языка Си++ и обеспечивает стиль программирования приложений, управляемых пользователем с помощью аппарата событий.
Инструменты разработки NewEra - это средство создания визуального интерфейса Window Painter, использующего графический объект SuperTable для изучения баз данных; средство администрирования баз данных NewEra ViewPoint Pro с применением проблемно-ориентированных структур данных SuperView и операторов языка SQL; средство разработки прикладных программ Application Builder; два компилятора: компилятор P-кода приложения с интерактивным отладчиком NewEra Interactive Debugger и компилятор Си-версии приложения; средство запуска приложений Application Launcher; и наконец, средство получения справочной информации.
Для среды разработки NewEra характерны: преемственность (поддержка существующих SQL-приложений), открытость (способность к интеграции других продуктов, использующих промышленные стандарты ODBC корпорации Microsoft и Distributed Relational Database Architecture корпорации IBM) и многоплатформность (ориентация на операционные среды Microsoft Windows и OSF/Motif).
Архитектура DSA
Серия СУБД фирмы Informix, в которую входят серверы Informix-OnLine Dynamic Server, Informix-OnLine Extended Parallel Server и Informix-OnLine Workgroup Server, базируется на динамической масштабируемой архитектуре (Dynamic Scalable Architecture, DSA).
Идея архитектуры DSA заключается в одновременном выполнении небольшого числа серверных процессов, называемых виртуальными процессорами. С точки зрения операционной системы виртуальный процессор является процессом, но, в свою очередь, каждый из них обслуживает множество клиентов. Нередко один клиентский запрос инициирует создание нескольких параллельных потоков, или подзадач (threads), распределяемых между виртуальными процессорами. С помощью потоков решаются также внутренние задачи сервера: ввод-вывод, журналирование, администрирование.
Виртуальные процессоры разбиты на классы в соответствии с типом потоков, которые они обслуживают. Это могут быть потоки клиентских запросов, дискового асинхронного ввода-вывода, выполнения административных функций и управления сетевым клиент-серверным взаимодействием посредством интерфейса транспортного уровня TLI (Transport Layer Interface). Если в системе применяются оптические диски, то создается класс оптических виртуальных процессоров.
Как правило, конкретный поток выполняется одним и тем же виртуальным процессором, поскольку передача его другому процессору требует пересылки некоторого объема данных. Тем не менее в случае готовности потока к выполнению его перераспределение может произойти с целью исключения простоев и повышения общей загрузки вычислительной системы.
Серверы Informix-OnLine
Первой СУБД с архитектурой DSA стал сервер Informix-OnLine Dynamic Server (сокращенно OnLine DS). В нем приняты многие решения, используемые и в дальнейшем. Прежде всего хочется отметить применение опережающего чтения страниц с данными и фрагментации таблиц и индексов, при которой отдельные группы строк хранятся в разных дисковых разделах.
Сервер OnLine DS базируется на технологии параллельной обработки запросов (Parallel Data Query, PDQ), поддерживающей распределенную обработку одного сложного запроса несколькими процессорами и максимальное использование доступных системных ресурсов. В основе технологии PDQ лежат распараллеливание итеративной, т. е. циклической, обработки множества данных (сортировки, соединения, слияния), разбиение дерева реализации запроса на независимые поддеревья, применение техники потоков данных (data flow).
Администратор БД может управлять степенью параллелизма системы, используя менеджер выделения памяти (Memory Grant Manager, MGM). В состав средств администрирования сервера OnLine DS входят также следующие компоненты: интерфейс мониторинга системы (System Monitoring Interface) - база данных о состоянии сервера; утилиты DB/Cockpit и OnPerf с графическим интерфейсом для слежения за состоянием пользовательских баз данных, сбора данных о работе системы и выполнения необходимых административных действий, а также утилита параллельной загрузки данных.
Для восстановления после сбоев и обеспечения отказоустойчивости используются зеркалирование (дублирование) дисковых областей и полное тиражирование данных - поддержание их копии на другой вычислительной установке. При включении сервер OnLine DS всегда проверяет, не было ли последнее выключение системы аварийным. Если да, то запускается процедура быстрого восстановления корректного состояния системы. Кроме того, в состав сервера входит утилита OnArchive для архивирования и копирования журналов транзакций, а также восстановления данных.
В сервере Informix-OnLine Dynamic Server 7.1 средства безопасности полностью соответствуют требованиям по контролю защиты уровня C2, предложенным Национальным центром компьютерной безопасности США (National Computer Security Center).
Поддержка национальных языков (Native Language Support, NLS) в сервере OnLine DS основана на спецификациях XPG3 компании X/Open.
Сервер Informix-OnLine Extended Parallel Server
В последнее время наметился переход от систем SMP к системам с архитектурами слабо связанных кластеров или существенно (иногда говорят - массивно) параллельной обработки. Такой поворот обусловлен необходимостью восстановления доступа к БД в случае сбоев аппаратуры или ПО.
Системы SMP могут поддерживать небольшое число процессоров из-за невысокой пропускной способности системной шины и ограниченной масштабируемости ОС. Новые архитектуры, называемые неразделяемыми (shared-nothing), представляют собой сети независимых узлов - однопроцессорных или симметричных многопроцессорных систем. Если БД распределена по множеству независимых узлов, то сбой в одном из них сказывается лишь на данных этого вышедшего из строя узла, доступ к остальным частям БД не закрывается. Если же узлы сформированы с избыточной надежностью, т. е. возможностью исправления ошибок, то данные отказавшего узла могут быть автоматически восстановлены на оставшихся в сети узлах.
Сервер Informix-OnLine Extended Parallel Server (сокращенно OnLine XPS) поддерживает архитектуры слабо связанных кластеров и массивно-параллельной обработки (Massively Parallel Processing, MPP). Этот сервер обеспечивает производительность, необходимую для выполнения комплексных аналитических запросов.
Большинство запросов, состоящих из множества операций, могут выполняться параллельно.
Каждый узел системы выполняет базовый набор функций: управление журналом, восстановление, блокировку данных и управление буферами. Одна из резидентных программ каждого узла - менеджер запросов, поддерживающий разбиение запроса и распределение его по узлам.
Менеджер запросов того узла, с которым связан пользователь, является первичным для этого пользователя в данный момент. Если запрос будет выполняться на множестве узлов, первичный узел рассылает необходимую информацию другим узлам для установления локального сеанса связи с этим пользователем.
Чтобы определить, какие узлы будут использованы для выполнения запроса, менеджер запросов работает совместно с другими сервисными программами: оптимизатор запросов определяет наилучший по стоимости способ выполнения запроса, менеджер метаданных доставляет информацию о месте расположения требуемых данных, а планировщик распределяет запрос.
Производительность и масштабируемость СУБД определяются способностью к расширяемости и ускорению. Расширяемость означает, что при увеличении вдвое аппаратных ресурсов за тот же период времени можно обработать вдвое больше данных. Ускорение означает, что при удвоении аппаратных средств и неизменном объеме данных задача займет вдвое меньше времени.
Основа расширяемости слабо связанных систем - их распределенность: каждая часть БД обслуживается собственным узлом. Сервер Informix-OnLine Extended Parallel Server поддерживает несколько способов распределения данных: карусельное (round robin), или равномерное, распределение по всем дискам БД, распределение по ключу, по выражению и хеш-распределение.
Функции управления БД также распределяются среди всех узлов системы. Каждый узел не только поддерживает собственные данные, но и имеет информацию - благодаря метаданным - о расположении других частей БД на остальных узлах. Если узлу требуется часть БД, расположенная на других узлах, то формируется требование и посылается на соответствующий узел. Там это требование выполняется, а результат возвращается на узел-инициатор. Такой процесс посылки и выполнения требования на другом узле называется делегированием функций.
Благодаря централизации управления администратор БД имеет возможность управлять с одного терминала всеми объектами базы данных, распределенной по множеству узлов, формировать, просматривать, копировать и изменять все объекты из одного центра. Сервер OnLine XPS тесно интегрирован с системой сетевого администрирования Tivoli Management Environment (TME), продуктом фирмы Tivoli System Inc. Использование среды TME в сервере OnLine XPS позволяет скрыть от администратора БД сложную архитектуру системы и обеспечить централизованный доступ ко всем объектам БД с помощью графического пользовательского интерфейса.
Сервер Informix-OnLine Workgroup Server
Вычисления на уровне отдельных рабочих групп - альтернатива вычислениям, проводимым в масштабе большой организации: пользователи отделов и подразделений получают расширенную автономию и возможность выполнения некоторых функций управления системой.
Informix-OnLine Workgroup Server создан для того, чтобы удовлетворить полный спектр потребностей организации. Предназначенный специально для среды рабочих групп, этот сервер легко устанавливается и прост в управлении, обеспечивает быстрый доступ к системе для поддержки операций в режиме "24x7", что значит 24 часа в сутки, 7 дней в неделю, 52 недели в году. Чтобы обеспечить выполнение сложных действий над базами данных, сервер поддерживает функциональные возможности языка SQL92 на основе стандартов ANSI.
Многие организации применяют технологии, позволяющие вести документооборот, обрабатывать графические изображения, а также аудио- и видеоданные. С этой целью в Informix-OnLine Workgroup Server встроены мультимедийные типы данных, экземпляры значений которых сохраняются в системе в виде больших бинарных объектов (Binary Large OBject, BLOB).
Имеющаяся 32-разрядная версия описываемого сервера полностью оптимизирована для ОС Windows NT и обеспечивает производительность, требуемую для поддержки приложений в средах с архитектурой клиентсервер. Допустимо использование также различных операционных систем типа Unix, в том числе UnixWare фирмы SCO и Solaris фирмы Sun.
Следует отметить такие свойства серверов Informix-OnLine, как совместимость (приложения, разработанные для систем SMP, полностью переносимы на неразделяемые архитектуры) и прозрачность (независимость от распределения данных по узлам и наличия тех или иных ресурсов, участвующих в выполнении запроса). Приложения, созданные для более ранних версий СУБД, без каких-либо изменений работают на последующих версиях тех же продуктов.
Описанные выше серверы поддерживают все популярные приложения, в том числе NewEra фирмы Informix, SQLWindows фирмы Centura, PowerBuilder корпорации Powersoft, 4GL фирмы Progress и Visual Basic корпорации Microsoft.
Инструментарий к хранилищам данных
Активно разрабатываются инструментальные средства доступа к хранилищам данных, созданным на основе серверов Informix-OnLine. Пакет Informix-HyperScript Tools поддерживает среду программирования, рассчитанную на разные вычислительные платформы и облегчающую создание приложений для поддержки принятия решений в технологии клиент-сервер с помощью графического интерфейса пользователя.
Пакет Informix-NewEra View Point - это средство доступа на языке SQL к базам данных для бизнес-аналитика, которому информация необходима для принятия решений. Пакет обеспечивает непосредственный доступ к корпоративной информации.
В октябре 1995 г. фирма Informix приобрела небольшую частную фирму Stanford Technology Group, центральным программным продуктом которой является система обработки и анализа в режиме непосредственного доступа MetaCube. Назначение этой системы - связать серверы баз данных и аналитический инструментарий на компьютерах клиентов.
Для клиентов системы MetaCube предлагается инструмент MetaCube Explorer с графическим интерфейсом, построенным по принципу буксировки объектов (drag and drop). Этот инструмент поддерживает доступ к информационным хранилищам, обеспечивает передачу данных в другие приложения и создание отчетов и диаграмм.
Для управления хранилищем данных предназначена программа MetaCube Warehouse Manager - инструмент администратора "метабазы" данных, в которой хранятся метаданные - описания структурных соответствий между разнородными базами данных.
В приложениях с интенсивным потоком запросов на аналитическую обработку баз данных оказывается полезной еще одна программа, входящая в инструментарий администратора, - MetaCube Agent. С ее помощью можно запустить на сервере БД обработку аналитических запросов и выполнение административных функций в фоновом режиме.
Открытость системы MetaCube подтверждается возможностями использования в ней реляционных СУБД, разработанных корпорациями Oracle, Tandem, Sybase, IBM и самой фирмой Informix.
Адрес: Internet, далее везде...
Фирма Informix Software не осталась в стороне от всеобщего увлечения сетью Internet и средой World Wide Web.
В феврале 1996 г. была объявлена интегрированная СУБД Informix-Universal Server для обработки числовых данных, графических изображений, географических карт, аудио- и видеоданных, Web-страниц, текстов, а также любых данных, определенных пользователем. В новом сервере интегрированы система динамического управления содержанием Web-объектов фирмы Illustra, приобретенной фирмой Informix, и ядро параллельной СУБД с архитектурой DSA собственной разработки.
Informix-Universal Server сочетает свойства объектной ориентированности и реляционности, что наилучшим образом подходит для доступа и обработки мультимедийной информации. Данная объектно-реляционная СУБД оптимизирована для решения задач оперативной обработки транзакций (On-Line Transaction Processing, OLTP), а также обработки и анализа в режиме непосредственного доступа (On-Line Analytical Processing).
Чтобы создавать приложения для СУБД Informix-Universal Server, разработчикам предлагается мультимедийный инструментарий DataBlade Developers Tool Kit, в который входят библиотеки структур данных и функций их обработки (data blade - лезвие, скальпель). Новые приложения разрабатываются под девизом: "Неструктурированных данных больше нет!".
Informix разрабатывает Web-серверы вместе с Netscape Communications, однако при этом сама не выходит с ними на рынок. По мнению аналитика фирмы IDC (International Data Corporation) Дэна Кузнецки, главную свою задачу Informix видит сегодня в том, чтобы создать следующий уровень инфраструктуры разработки и распространения СУБД для тех приложений, контуры которых сегодня только начинают проглядывать в сети Internet.
Валерий Юфа
Валерий Юфа - заместитель главного редактора журнала "Банковские технологии".