Informix Logo

Informix Dynamic Server [IDS]


Informix Dynamic Server - это мощный многопоточный сервер БД, полностью удовлетворяющий требованиям к современным СУБД, использующий как однопроцессорную, так и симметричную многопроцессорную архитектуры ЭВМ.

Технология работы динамического сервера Informix Dynamic Server базируется на так называемой "динамически масштабируемой архитектуре" (Dinamically Scalable Arhitecture - DSA). В основе этой архитектуры лежит многопоточное (multithreaded) управление заданием и внутренний параллелизм.

serv.gif (42086 bytes)

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

vproc2.gif (15486 bytes)

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

vproc.gif (14523 bytes)

Эта архитектура позволяет проводить архивацию данных без приостановления доступа пользователей к данным. Архитектура DSA включает в себя механизм организации параллельных запросов к данным (Parallel Data Query - PDQ), который с помощью разбиения запроса на подзапросы организует конвейеризацию

pib.gif (14460 bytes)

и исполнение подзапросов параллельно.

dsa.gif (15170 bytes)

Внутренняя архитектура динамического сервера Informix Dynamic Server ориентирована на самые современные многопроцессорные компьютеры, но даже на однопроцессорных компьютерах DSA даёт выигрыш по производительности за счет более оптимального использования ресурсов.

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

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

Динамический сервер Informix Dynamic Server предоставляет возможность оптимизировать производительность и полностью использовать вычислительные ресурсы системы. Это достигается параллельным выполнением многих основных операций, связанных с обработкой БД (создание индекса, обновление журнала регистраций, резервная запись и восстановление утраченных данных).

Динамический сервер Informix Dynamic Server минимизирует непроизводительные затраты операционной системы за счет уменьшения количества обращений к ОС. Добиться этого удалось благодаря тому, что запросы клиентов обслуживаются не процессами, а нитями сервера БД.

Динамический сервер Informix Dynamic Server обеспечивает полное отсутствие избыточных структур данных в памяти. Иначе говоря, вся память распределена между пользователями и доступна им через сервер БД. Эти ресурсы памяти динамически перераспределяются в соответствии с принципом "по требованию", что способствует дальнейшему повышению приспособляемости системы к решению конкретных задач.

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

В Informix Dynamic Server есть ряд опций индексации, что позволяет достичь наибольшей возможной производительности.

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

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

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

Informix Dynamic Server поддерживает два типа ограничений по целостности: ссылочная и целостность уровня сущности. Ссылочная целостность позволяет пользователю определять и использовать отношения между столбцами таблиц. Так, например, запись в основной таблице не может быть удалена, если для неё существуют записи в таблице с детальной информацией. Целостность уровня сущности касается значений доступных данных для конкретных столбцов.

Хранимые процедуры состоят из команд SQL и программных предложений и хранятся в БД, как поименованные процедуры, совместно с общими в использовании операциями. Механизмы хранимых процедур поддерживают общие, оптимизированные подпрограммы в БД, а не в приложениях. Хранимые процедуры сокращают величину сетевого трафика, поскольку с их помощью можно выполнить несколько операций в составе одной команды и вернуть клиенту только результат группы операций.

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

В Informix Dynamic Server существуют уровни привилегий, которые обеспечивают безопасность БД. С помощью привилегий осуществляется управление доступом к базе. Привилегии используются при создании таблиц и индексов в БД. Привилегии таблиц определяют те операции, которые пользователь может выполнять в отношении определенных таблиц.

Динамический сервер Informix Dynamic Server поддерживает большие двоичные объекты.

Динамический сервер Informix Dynamic Server   автоматически поддерживает механизм двухфазной фиксации (two phase commit - протокол синхронизации транзакций на нескольких серверах).

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

Архитектура DSA обладает наибольшим потенциалом для таких областей применения, как системы оперативной обработки транзакций (OLTP), системы пакетной обработки запросов и системы аналитической обработки больших объемов данных.

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


Украинская баннерная сеть
 

[Home]

Сайт поддерживается группой пользователей Информикс на Украине.

Hosted by NO-more.