1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /117, 1995 г./ | Бонус | Поиск  

Аналитика

Современные продукты компании Informix

Надежда Вьюкова


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

Каждый производитель СУБД, развивая свою продукцию, движется в некотором общем русле представлений о современных подходах к проектированию ИС и в то же время стремится сконцентрировать усилия на тех направлениях, которые считает наиболее перспективными и значимыми для своих клиентов и в которых надеется достичь наиболее впечатляющих результатов.

Мы попытаемся, охарактеризовав коротко весь спектр разработок Informix, сосредоточить внимание прежде всего на новых продуктах, отражающих важнейшие достижения компании:

 – INFORMIX-OnLme Dynamic Server 7.1 – новая модель сервера СУБД, имеющая многопотоковую архитектуру и обладающая мощными средствами параллельной обработки запросов;

 – INFORMIX-Enterpnse Gateway 7.1 – шлюз, позволяющий интегрировать данные СУБД Informix с информацией, хранимой в СУБД различных типов;

 – INFORMIX-NewEra 1.0 – объектно-ориентированный инструмент разработок, вобравший в себя лучшие черты предшественника INFORMIX-4gl и дополненный средствами визуального программирования компонентов графического пользовательского интерфейса. Полный спектр поддерживаемых в настоящее время продуктов Informix включает в себя несколько типов серверов, разнообразные инструменты разработки и средства доступа для конечных пользователей, атакже коммуникационные средства. Ниже приведены их краткие характеристики.

Серверы:

 – INFORMIX-OnLme Dynamic Server – основной тип сервера, поддерживающий наиболее широкий спектр функциональных возможностей и класс безопасности С2;

 – INFORMIX-Standard Engine (SE) -облегченный вариант сервера, простой в использовании, конфигурировании и администрировании, но не поддерживающий некоторых возможностей, в частности, больших бинарных объектов (Binary Large Objects, BLOB);

 – INFORMIX-OnLme/Secure – версия сервера OnLme с усиленными средствами безопасности.

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

 – INFORMIX-ESQL/C – среда программирования на языке С со встроенным SQL;

 – INFORMIX-ESQL/COBOL – среда программирования на языке COBOL со встроенным SQL;

 – INFORMIX-SQL- инструмент программирования на языке SQL;

 – INFORMIX-4GL-RDS+IDL – инструмент программирования на языке 4-го поколения (4GL) со встроенным SQL, включает компилятор языка 4GL, средства построения экранных форм и меню, а также средства быстрой разработки (RDS) и интерактивной отладки (ID);

 – INFORMIX-ViewPomt – средство доступа к базам данных, позволяет создавать графические формы, отчеты, запросы;

 – INFORMIX-NewEra – графический объектно-ориентированный инструмент групповых прикладных разработок, основан на расширении языка 4GL – NewEra; в том или ином виде включает возможности двух предыдущих продуктов.

Коммуникационные средства:

О INFORMIX-Enterpnse Gateway -шлюз для доступа к многочисленным разнородным источникам данных из приложений, построенных средствами разработки Informix или других фирм. Важным качеством всего комплекса продуктов Informix является открытость – свойство, от которого зависит интегрируемость СУБД и приложений, созданных на ее основе, в разнообразных аппаратных, программных, административных, национальных и др. средах, что чрезвычайно важно как для построения ИС в настоящем, так и для ее развития в будущем. Перечислим некоторые черты, характеризующие открытость разработок Informix:

 – доступность на множестве платформ, включая Sequent, HP, Sun, IBM, Siemens Nixdorf, NCR;

 – поддержка, помимо UNIX, операционных систем Windows NT и NetWare;

 – переносимость прикладных систем между платформами; О поддержка сетевых протоколов TCP/IP и SPX/IPX;

 – возможность включения баз данных Informix в распределенные разнородные ИС, построенные на основе аппаратно-программных платформ и СУБД разных производителей;

 – интегрируемость Informix с системами централизованного управления и администрирования, такими как Tivoli Management Environment (TME), HPOpenView, IBM NetView;

 – поддержка национальных языков; О поддержка интерфейса ODBC в приложениях, созданных с помощью INFORMIX-NewEra.

Сервер INFORMIX-OnLine Dynamic Server 7.1

СУБД Informix традиционно использовалась для создания информационных систем малого или среднего масштаба, работающих в режиме оперативной обработки транзакций Считалось, что ОС UNIX не способна обслуживать крупные аппаратные платформы. Однако с совершенствованием аппаратных архитектур, особенно с появлением симметричных многопроцессорных систем, а также с развитием самой ОС UNIX ситуация изменилась. Компьютеры, работающие под управлением UNIX, обладают высокой производительностью, и поэтому возникла необходимость пересмотреть архитектуру сервера баз данных Informix. Начиная с версии 6.0, сервер баз данных INFORMIX-OnLme Dynamic Server (INFORMIX-OnLineDS) имеет многопотоковую динамическую масштабируемую архитектуру (DSA, Dynamic Scalable Architecture), которая была разработана в содружестве с компанией Sequent. Эта архитектура призвана обеспечить максимальную поддержку систем SMP с масштабируемостью в соответствии с числом процессоров и других ресурсов.

Ниже мы покажем, как упомянутые выше и многие другие свойства и механизмы сервера, поддерживая и дополняя друг друга, позволяют удовлетворить наиболее важным требованиям, которые предъявляются к СУБД, претендующим на роль информационной основы временных предприятий. Вот эти требования:

 – высокая производительность;

 – смешанная загрузка сервера разными типами задач;

 – непрерывная доступность данных;

 – целостность данных, в том числе распределенных;

 – распределенные вычисления.

Одна из важнейших целей, которые преследовались при разработке архитектуры сервера и его основополагающих механизмов, – масштабируемость реализуемых на основе сервера ИС. Под термином "масштабируемость" понимается такое свойство ИС, которое обеспечивает при увеличении доступных вычислительных ресурсов (количества или быстродействия процессоров, числа дисков) соответствующее улучшение системных характеристик, причем без перепрограммирования выполняемых приложений. Под "улучшением системных характеристик" понимается, например:

 – рост числа обслуживаемых пользователей с сохранением среднего времени отклика;

 – ускорение обработки одного запроса;

 – сохранение того же времени обработки запроса при увеличении объема участвующих в нем таблиц.

Масштабируемость позволяет постепенно, по мере роста ИС, наращивать ее аппаратную базу, не изменяя имеющееся программное обеспечение. Масштабируемость обеспечивается такими качествами сервера (подробный рассказ о них будет ниже), как: распределение обслуживаемых клиентов равномерно между всеми наличными процессорами; параллельная обработка сложного запроса на нескольких процессорах; средства динамической настройки сервера – добавление необходимых ресурсов, регулирование интенсивности параллельной обработки, и др. Отметим также поддержку распределенных транзакций, благодаря которой производительность ИС может наращиваться путем распределения данных и их обработки между несколькими серверами, связанными сетью.

Упомянем ряд возможностей сервера, которые не рассмотрены в этой статье, – обработка больших бинарных объектов (BLOB), поддержка оптических дисков, поддержка национальных языков и средства безопасности класса С2 (по классификации Национального центра компьютерной безопасности США).

Динамическая масштабируемая архитектура

Архитектура сервера INFORMIX-OnLme DS получила название "динамическая масштабируемая архитектура" (DSA) Суть ее заключается в том, что одновременно выполняется относительно небольшое число серверных процессов (виртуальных процессоров), которые разделяют между собой работу по обслуживанию множества клиентов. По сравнению с более ранними моделями сервера INFORMIX, где для каждого клиента создавался индивидуальный серверный процесс (рис. 1), новая модель обладает рядом преимуществ:

 – снижение нагрузки на операционную систему (число серверных процессов невелико);

 – сокращение совокупной потребности клиентов в оперативной памяти;

 – снижение конкуренции при одновременном использовании системных ресурсов;

 – более рациональное по сравнению с ОС назначение приоритетов и планирование;

для многопроцессорных платформ:

 – равномерная загрузка наличных процессоров;

 – ускорение обработки сложных запросов за счет параллельного выполнения на нескольких процессорах.

 

 Архитектура DSA полностью использует возможности симметричных многопроцессорных платформ SMP (Symmetric Multiprocessing systems) и может работать на однопроцессорных платформах Все базовые технологии DSA являются встроенными, они включены в библиотеки сервера, и их применение не зависит от особенностей ОС или аппаратных платформ различных поставщиков.

Архитектуру INFORMIX-OnLme DS называют также многопотоковой. Для каждого клиента создается так называемый поток, или нить (thread) Поток – это подзадача, выполняемая в рамках одного из серверных процессов.

В некоторых случаях для обслуживания одного клиентского запроса формируется несколько параллельных потоков. Потоки создаются также для выполнения внутренних задач сервера – ввода-вывода, журнализации, администрирования и др. Таким образом, одновременно выполняется множество потоков, которые распределяются между наличными виртуальными процессорами (рис. 2). INFORMIX-OnLme DS не полагается на механизмы потоков, имеющиеся в некоторых операционных системах. Он организовывает потоки, специфичные для задач обработки баз данных, оптимальные в отношении выделяемой под них памяти, методов планирования и числа инструкций, затрачиваемых на переключение между ними.

Виртуальным процессором (ВП) называется процесс сервера баз данных. ВП можно сравнить с операционной системой – поток по отношению к нему выступает как процесс, подобно тому как сам ВП является процессом с точки зрения операционной системы.

В отличие от операционной системы, которая должна обеспечивать выполнение произвольных процессов, ВП подразделяются на несколько классов, каждый из которых спроектирован для наиболее оптимального выполнения задач определенного вида. Например, ВП CPU работают на потоки обслуживания клиентов, реализующие оптимизацию и логику выполнения запросов, ВПАЮ выполняют операции асинхронного обмена с диском; ВП TLI контролируют сетевое взаимодействие.

Сервер поддерживает очереди потоков для каждого класса ВП. Как только ВП освобождается, он выбирает из очереди следующий поток, тем самым достигается равномерная загрузка. Переключение же ВП с одного потока на другой выполняется значительно быстрее, чем переключение ОС с одного процесса на другой. Кроме того, многопотоковая архитектура способствует более рациональному использованию ресурсов ОС, поскольку потоки разделяют ресурсы ВП, на котором они выполняются, – память, коммуникационные порты, файлы.

 

Начальное число ВП каждого класса задается в конфигурационном файле. Но если потребности в каких-то видах увеличиваются, то инструменты администрирования позволяют динамически, не останавливая сервер, запустить дополнительные ВП. Например, если растет очередь потоков к ВП CPU, то можно увеличить их число. Точно так же возможно добавление виртуальных процессоров обмена с дисками, сетевых процессоров.

На некоторых мультипроцессорных платформах, где Online DS поддерживает родство процессоров (processoraffinity), допускается привязка виртуальных CPU-процессоров к определенным центральным процессорам компьютера. Привязка позволяет изолировать работу с базой данных, выделяя для этой цели определенные процессоры, в то время как остальные будут заняты другими задачами.

Разделение данных между виртуальными процессорами и потоками сервера реализовано на основе разделяемой памяти – механизма, обеспечиваемого операционной системой. Разделение данных позволяет:

 – снизить общее потребление памяти, поскольку участвующим в разделении процессам, то есть виртуальным процессорам, нет нужды поддерживать свои копии информации, находящейся в разделяемой памяти;

 – сократить число обменов с дисками, потому что буферы ввода-вывода сбрасываются на диск не для каждого процесса в отдельности, а образуют один общий для всего сервера баз данных пул; виртуальный процессор зачастую избегает выполнения операций ввода с диска, поскольку нужная таблица уже прочитана другим процессором;

 – организовать быстрое взаимодействие между процессами; через разделяемую память, в частности, обмениваются данными потоки, участвующие в параллельной обработке сложного запроса; разделяемая память используется также для организации взаимодействия между локальным клиентом и сервером.

Важный оптимизирующий механизм сервера – кэши хранимых процедур и словарей данных. Словари данных (system catalog), доступные только для чтения, а также хранимые процедуры разделяются между всеми пользователями сервера, что позволяет оптимизировать совокупное использование памяти. При загрузке в разделяемую память словарь данных записывается в структуры, обеспечивающие быстрый доступ к информации, а хранимые процедуры преобразуются в выполняемый формат. Все это может существенно ускорить выполнение приложений, обращающихся ко многим таблицам с большим числом столбцов и/или ко многим хранимым процедурам.

Организация операций обмена с дисками

Операции ввода-вывода, как правило, образуют наиболее медленный компонент обработки баз данных. Поэтому от их реализации существенно зависит общая продуктивность сервера. Для оптимизации ввода-вывода и повышения надежности в сервере реализованы следующие механизмы: П Собственное управление дисковой памятью (не использующее файловую систему ОС) позволяет оптимизировать операции чтения-записи, поскольку, во-первых, таблицы БД размещаются на больших связных дисковых областях, во-вторых, исключается буферизация ввода-вывода. Кроме того, повышается надежность баз данных – INFORMIX-Onlme DS гарантирует, что даже в случае сбоя данные журнала транзакций будут реально записаны на диск, а не застрянут в буферах ОС.

 

 – Асинхронный ввод-вывод. Благодаря тому что операции обмена с диском выполняются асинхронно, ВП CPU никогда не ждут их завершения – они помещают поток, которому нужен обмен с диском, в очередь к ВП асинхронного ввода-вывода и продолжают обработку других потоков.

 – Опережающее чтение. При чтении последовательной таблицы или индексного файла обеспечивается опережающее чтение нескольких страниц в то время, пока обрабатываются уже считанные в разделяемую память данные. Таким образом, сокращается время ожидания обмена с диском, и пользователь быстрее получает результаты запроса.

Фрагментация таблиц и индексов

INFORMIX-OnLme DS поддерживает горизонтальную локальную фрагментацию таблиц. Это такой способ хранения таблицы, когда совокупность ее строк разбивается на несколько групп согласно некоторому правилу, и эти группы хранятся на разных дисковых разделах. Фрагментация таблиц способствует достижению следующих целей: О Сокращается время обработки одного запроса, поскольку фрагменты таблицы сканируются параллельно (рис.3).

 – Снижается уровень конкуренции при одновременном обращении нескольких запросов к одной таблице, поскольку разным запросам будут соответствовать обращения к разным дискам.

 – Повышается готовность (доступность) приложений. Запросы к таблице могут выполняться, даже если отдельный ее фрагмент недоступен из-за отказа диска.

 – Улучшаются характеристики административных операций, таких как архивирование-восстановление, загрузка-выгрузка данных, поскольку они выполняются параллельно или применяются к отдельным фрагментам таблицы.

 Администратор выбирает стратегию (правило) фрагментации таблицы в соответствии с преследуемой целью. Если наблюдения показывают, что она выбрана неудачно, то возможно оперативное перефрагментирование таблицы. Важно, что фрагментация таблиц и индексов прозрачна для приложений – изменение правила фрагментации не требует никаких трансформаций в прикладных системах.

Параллельная обработка запросов

Многопотоковая архитектура сервера послужила базой для реализации технологии параллельной обработки запросов (Parallel Data Query, PDQ), обеспечивающей эффективное выполнение сложных запросов, характерных для систем поддержки принятия решений.

PDQ – это технология, которая позволяет распределить обработку одного сложного запроса на несколько процессоров, мобилизовать для его выполнения максимально доступные системные ресурсы, во много раз сокращая сроки получения результата. Вот основные типы заданий, на которых проявляется эффект технологии PDQ:

 – обработка сложных запросов, включающих сканирование больших таблиц, сортировку, соединения, группирование, массовые вставки;

 – построение индексов;

 – сохранение и восстановление данных;

 – загрузка, выгрузка данных, реорганизация баз данных; П массовые операции вставки, удаления, модификации данных. Испытания показали значительное превосходство Informix над основными конкурентами в реализации этих типов задач на многопроцессорных платформах.

 

Практически это означает, что отчет или ответ на сложный запрос, от которого зависит принятие ответственного решения, можно получить не завтра (после ночной обработки), а сегодня – во время обычной оперативной дневной работы Снимаются проблемы, связанные с обработкой и обслуживанием (архивированием, копированием) очень больших таблиц, – благодаря фрагментации, параллельной обработке и возможностям выполнения административных действий в оперативном режиме. В результате расширяется класс потенциальных приложений и, соответственно, круг пользователей, более гибким становится режим работы ИС, причем все это достигается не на узкоспециализированных, а на обычных широко распространенных аппаратных платформах. Таким образом, можно говорить о новом качестве, которое привносит с собой технология PDQ.

Технология PDQ основана на: О средствах фрагментации таблиц; О разбиении плана выполнения запроса на несколько независимых подзадач, реализуемых множеством параллельных потоков; О новых, основанных на хешировании и эффективно распараллеливаемых алгоритмах сортировки, соединения, вычисления агрегатных функций (mm, max, sum,...) Запрос реализуется деревом, составленным из так называемых итераторов – программных объектов, осуществляющих циклическую обработку данных. Итераторы различаются типом производимой обработки (сканирование, различные способы соединения таблиц, сортировка, группирование и др.), но имеют единообразный внешний интерфейс (рис.4). Итератор открывает один (или более) входных потоков данных, последовательно считывает их и после обработки помещает результаты в выходной поток. Итератору безразличен источник входного потока и назначение выходного – это может быть диск, другой итератор, сетевое соединение. Поэтому итераторы можно произвольным образом объединять в дерево (рис.5).

Методы итератора как программного объекта – создать (CREATE), открыть (OPEN), выполнить одну итерацию обработки (NEXT), закрыть (CLOSE), уничтожить (FREE). Все методы выполняются рекурсивно – применение любого из них к корневому итератору дерева вызывает применение его ко всем узлам сверху вниз Для каждого итератора создается поток выполнения, который продвигается по мере того, как получает данные от своих поставщиков. Таким образом, в сервере реализуется вертикальный параллелизм – одновременное, конвейерное выполнение различных итераторов.

 

Другой вид параллелизма – горизонтальный – заключается в том, что вместо одного итератора (например, сканирования) создается несколько однотипных параллельно выполняемых итераторов. После того как дерево реализации запроса построено, оптимизатор определяет, какие его компоненты имеет смысл распараллелить.

Баланс между OLTP и DSS-приложениями

В современных информационных системах, как правило, требуется одновременное выполнение разных по характеру запросов к базе данных. Выделяются запросы, типичные для приложений оперативной обработки транзакций (OnLme Transaction Processing, OLTP), систем поддержки принятия решений (Decision Support Systems, DSS) и задач пакетной обработки. Пример OLTP-запроса: есть ли свободный номер в какой-либо берлинской гостинице на 8-е декабря? Пример DSS-запроса: каковы будут затраты на реализацию стратегии X охраны здоровья сотрудников по сравнению со стратегией Y с учетом демографического профиля компании? Зависит ли эффективность стратегии от региона?

Примерами заданий пакетной обработки могут служить: массовая загрузка данных, выдача больших сложных отчетов, выполнение некоторых административных действий, например, по реорганизации базы данных.

Ответы на запросы первого типа должны выдаваться практически мгновенно, запросы второго и третьего типов могут обслуживаться довольно долго, но при отсутствии или малой интенсивности OLTP-приложений желательно получать ответы на DSS-запросы максимально быстро.

Технология POQ используется в основном для быстрого выполнения DSS-запросов и пакетных приложений Если ее применение ничем не ограничено, то сильно распараллеленное выполнение нескольких сложных запросов приводит к недопустимому замедлению OLTP-приложений, выполняющихся на том же сервере Управление степенью распараллеливания запросов и долей системных ресурсов, выделяемых для PDQ-обработки, может производиться динамически Например, в часы наиболее активной работы приложений OLTP запросы DSS выполняются без распараллеливания (для каждого запроса создается только один поток класса CPU) или с невысокой степенью распараллеливания В остальное время или на серверах, где приложения OLTP отсутствуют, устанавливается режим максимального использования PDQ.

Оптимизация запросов

Оптимизатор запросов определяет наиболее оптимальный с точки зрения затрат системных ресурсов план реализации каждого запроса к базе данных. Учитывается число обменов с диском, затраты разделяемой памяти, на пересылку данных по сети и др. План может включать параллельное выполнение операций или быть строго последовательным, что зависит как от структуры запроса, так и от текущего режима PDQ. Оптимизатор опирается на статистическую информацию о распределении данных по столбцам таблиц, периодическим сбором которой управляет администратор.

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

Разработчик может предварительно получить план выполнения запроса, в том числе распределенной транзакции, и, оценив ожидаемые затраты ресурсов, принять решение о возможности и целесообразности выполнения запроса в данное время.

Прикладной программист или пользователь устанавливает один из двух возможных уровней оптимизации – высокий или низкий. Высокий уровень оптимизации предполагает перебор большого числа возможных вариантов и сам требует немалых затрат системных ресурсов, в частности, памяти. Оптимизация низкого уровня обходится дешевле, поскольку перебирается небольшое число предположительно оптимальных вариантов, но остается вероятность "упустить" наилучший вариант. Например, план выполнения хранимой процедуры вычисляется заранее с высоким уровнем оптимизации и сохраняется, после чего устанавливается низкий уровень – тогда при обращении к процедуре используется построенный заранее самый оптимальный план.

Доступность данных

В условиях, когда базы данных становятся основой для особо ответственных приложений масштаба предприятия, которые должны работать круглосуточно, возрастает роль средств, обеспечивающих постоянную доступность данных. Данные становятся недоступны либо из-за программных или аппаратных сбоев, либо в тех случаях, когда сервер приходится останавливать для выполнения административных действий – изменения параметров настройки, реструктурирования или архивирования баз данных. Ниже мы рассмотрим средства обеспечения надежности и инструменты администрирования INFORMIX-Online DS, которые позволяют свести к минимуму риск и последствия отказов, а также практически исключить плановые простои.

Средства обеспечения надежности

Зеркалирование дисковых областей. В INFORMIX-OnLme DS реализована возможность дублирования связной дисковой области, выделенной под базу данных, на другую дисковую область. Основная цель – обеспечение высокой готовности, дополнительный эффект зеркалирования – оптимизация операций чтения.

При сбое диска, на котором находится первичная область, администратор имеет возможность произвести восстановление без перевода сервера в режим off-line. Все операции чтения-записи продолжаются с зеркальной областью Синхронизация данных на первичном диске после его включения производится в оперативном режиме. Для критически важных приложений необходимо как минимум поддерживать зеркалирование областей, от которых зависит работоспособность сервера, поскольку при выходе из строя любой из них, если нет зеркального дубля, сервер немедленно переводится в режим off-line. При отказе других незеркалируемых областей недоступными становятся только хранящиеся на них таблицы или фрагменты таблиц – до завершения процедуры их восстановления Поэтому для наиболее критичных таблиц также желательно поддерживать зеркалирование.

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

Тиражированиеэто поддержание на другой вычислительной установке копии объектов базы данных. В INFORMIX-OnLme DS реализовано прозрачное тиражирование данных с основного сервера баз данных на вторичный (или поддерживающий) сервер, к которому разрешен доступ только на чтение (рис. 6) и который может находиться в другом географическом пункте.

Главная цель тиражирования в INFORMIX-OnLme DS – это обеспечение высокой готовности (High Availability Data Replication, HDR). В случае отказа основного сервера вторичный сервер становится доступен и на запись (рис.7). Прозрачное перенаправление клиентов при отказе основного сервера не поддерживается, но оно может быть реализовано в рамках приложений.

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

Помимо обеспечения отказоустойчивой работы, тиражирование позволяет

 – предоставить более оперативный доступ к данным локальным клиентам вторичного сервера;

 – вынести приложения DSS преимущественно на вторичный сервер, где они выполняются с максимальным использованием PDQ, не подавляя приложений OLTP, выполняющихся на основном сервере. ветров восстановление при включении системы. При включении сервер всегда проверяет, не произошло ли последнее выключение системы аварийно. В этом случае множество транзакций, выполнявшихся в момент сбоя, остались в незавершенном, некорректном состоянии. Если сервер выявил такую ситуацию, то он запускает процедуру быстрого восстановления, которая обеспечивает возврат системы в корректное состояние. Сохранение и восстановление данных. INFORMIX-Online DS позволяет создавать архивные копии данных, а в дальнейшем фиксировать те изменения, которые произошли на сервере с момента создания архива. Изменения сохраняются в файлах журнала транзакций. Важнейшее свойство инструментов архивирования и восстановления – возможность выполнять эти операции параллельно с доступом пользователей к серверу. Кроме того предоставляются следующие возможности: автоматический запуск утилит архивирования по заданному расписанию; контроль метокархивных лент с целью исключения ошибок операторов; шифрование и сжатие архивируемых данных; контроль правильности считываемых данных путем вычисления контрольных сумм.

Динамическое администрирование

Инструменты администрирования INFORMIX-Online DS позволяют оперативно и, возможно, удаленно следить за такими характеристиками работы сервера, как использование памяти и виртуальных процессоров, очереди асинхронного ввода-вывода, очереди пакетных заданий и приложений DSS, наличное дисковое пространство, эффективность схем фрагментации и т. п. Если какие-то из характеристик неудовлетворительны, то администратор динамически, не останавливая системы, может изменить параметры конфигурации или запустить необходимые административные утилиты.

 

Целостность данных

Для контроля целостности данных INFORMIX-OnLme DS предоставляет два механизма – ограничения и транзакции.

Контроль заданных в схеме базы данных ограничений выполняется автоматически. Поддерживаются несколько типов ограничений:

 – Ограничение уникальности указывает, что данные столбца или совокупности столбцов должны быть различны в каждой строке таблицы.

 – Ограничение целостности по ссылкам указывает, что некоторый столбец одной таблицы должен содержать только значения первичных ключей другой таблицы. Например, таблица с информацией о счетах содержит столбец, содержащий номера клиентов (первичные ключи таблицы с данными о клиентах). Ограничение целостности по ссылкам поможет избежать в данном случае занесения в базу данных "ничейных" счетов.

 – Ограничение множества значений указывает, что значение столбца должно удовлетворять некоторому требованию – принадлежать к заданному диапазону, принадлежать конечному множеству явно заданных значений, находиться в заданном соотношении со значениями других столбцов.

(Продолжение следует.)

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /117, 1995 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru