Главная
Вверх

 

Подробно о модуле X.Magic/Transaction&Query Processing

На этой странице Вы сможете найти следующие подразделы, описывающие основные функциональные возможности модуля X.Magic/T&QP.

bulletОбъектная модель данных
bulletОбработка транзакций
bulletМеханизм блокировок
bulletМеханизм триггеров
bulletМоментальный снимок базы данных
bulletНавигатор
bulletОптимизация запросов
bulletДоступ
bulletИнтеграция с Cache'
bulletДокументированность
bulletСравнение

Объектная модель данных

Модель данных X.Magic/T&QP основана на гипотезе, что мир состоит из объектов и связей между ними. И у объектов, и у связей может быть неограниченное число характеристик различных типов. Связи, в отличие от реляционной модели или объектной модели Cache’, представляются ЯВНО, имеют соответствующую семантику и хранятся с обеих сторон. Поэтому связь многие-ко-многим поддерживается так же естественно, как и связь один-ко-многим, БЕЗ порождения дополнительного объекта.
Связь можно организовать и с помощью ссылки. Ссылка – это НЕ ТО ЖЕ САМОЕ, что внешний ключ в реляционной модели. Ссылка – это особый Тип характеристики объекта; по существу – это связь, интегрированная в объект. У связей с помощью ссылок также есть своя семантика с обеих сторон, но такие связи, конечно, не могут иметь собственных характеристик. Благодаря поддержке наборов в X.Magic/T&QP связь с помощью ссылки так же может быть многие-ко-многим. Ссылки можно использовать и в качестве характеристик связи.
Предлагаемая модель данных стирает границу между концептуальным и логическим проектированием – реальные данные в системе представляются так же, как и при проектировании схемы БД, с той же естественной структурой и семантикой.

Обработка транзакций

Транзакция в среде СУБД - это процесс перевода БД из одного целостного состояния в другое целостное состояние. В ходе выполнения транзакции целостность БД временно нарушается. Поэтому в случае какого-либо сбоя информационной системы и ее рестарта целостность БД должна быть восстановлена.
Все функции, изменяющие БД, инициализируют один модуль X.Magic/T&QP, так называемый монитор транзакций (МТ). МТ заносит все изменения сначала в журнал изменений (ЖИ). Кроме того, МТ на этапе занесения информации в ЖИ может выполнять установку и контроль блокировок.
После того, как все изменения записаны в ЖИ, и, следовательно, установлены все блокировки, можно гарантировать беспрепятственное занесение изменений в БД. Именно теперь МТ открывает транзакцию, переносит все изменения в БД, закрывает транзакцию и очищает ЖИ от выполненных изменений. При записи в БД МТ "смотрит", не выполняется ли в данный момент отчет, затрагивающий текущие данные, и, при необходимости, переносит существовавшие до изменения данные в журнал старых значений.

Механизм транзакций X.Magic/T&QP обеспечивает :

bulletнезависимость прикладного кода от структуры базы данных
bulletлогическую целостность данных
bulletвозможность отката транзакций при создании прикладного кода
bulletпрозрачность транзакции – изменения, выполняемые пользователем видны только ему до момента успешного завершения транзакции
bulletлокализацию системных команд Tstart, Tcommit с целью независимости от платформы и от реализации их в Cache’
bulletавтоматическую блокировку элементов данных и отслеживание конфликтов доступа
bulletсогласованную работу с механизмом “моментального снимка” – бесконфликтное целостное чтение меняющихся данных при выполнении отчетов
bulletсогласованное исполнение триггеров (кодов, автоматически срабатываемых при создании, модификации и удалении экземпляров и связей в базе данных)
bulletвозможность реализации разного типа индексов

Механизм блокировок

Механизм блокировок X.Magic/T&QP обеспечивает:

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

Механизм триггеров

Помимо автоматической установки связанных с выполняемыми в транзакции изменениями блокировок, механизм транзакций X.Magic/T&QP обеспечивает автоматическое выполнение триггеров. Триггер – программный код, который выполняется при создании, модификации или удалении экземпляра или связи в базе данных. В X.Magic/T&QP триггеры делятся на системные и пользовательские, что позволяет разработчикам не беспокоиться о триггерах, созданных пользователями, и наоборот.
Механизм триггеров обеспечивает:

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

Моментальный снимок

Этот механизм обеспечивает:

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

Многоязычная база данных

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

Навигатор X.Magic/T&QP

Навигатор обеспечивает:

bulletестественное видение базы данных для пользователей
bulletзначительное сокращение количества пользовательских запросов к базе данных, что уменьшает общую нагрузку на систему
bulletвозможность создания произвольных пользовательских отчетов без какого-либо программирования, причем:
bulletотчеты могут быть скопированы от пользователя к пользователю, что позволяет более опытным помогать менее опытным
bulletрезультаты произвольных отчетов могут быть экспортированы в формат DBF или в Excel с построением графиков

Механизм динамической оптимизации запросов

Это “ноу-хау” компании "Информ Икс".
Перед выполнением запроса проводится поиск оптимального пути доступа к извлекаемым данным. Путь будет разным в разные моменты времени для одной и той же схемы отчета в зависимости от состояния базы данных.
Время выполнения оптимизации детерминировано, минимизировано и не зависит от сложности запроса. При оптимизации используются динамически обновляемые статистические данные об индексах объектов и связей и о количествах связей. Оптимизируются практически все условия, заданные в схеме отчета.
Механизм сбора статистики работает в автоматическом режиме, и его реализация связана с механизмом транзакций X.Magic/T&QP. Результат оптимизации доступен пользователю в виде отчета на естественном (русском) языке, что позволяет проводить анализ узких с точки зрения оптимизации мест и настраивать систему с целью увеличения производительности отчетов.

Организация доступа и мониторинг

В X.Magic/T&QP применяется развитая система организации доступа, имеющая две составных части:

bulletиндивидуальный доступ к элементам базы данных;
bulletколлегиальный доступ

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

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

X.Magic/T&QP также ведет историю регистраций и дерегистраций пользователей в системе.
При регистрации в системе пользователь вводит два пароля: пароль, установленный администратором, и пароль, установленный самим пользователем. Личный пароль существенно повышает безопасность данных и позволяет запретить доступ администратора под идентификатором пользователя.

X.Magic/T&QP позволяет настраивать журнал ведения изменений данных. Изменение каждой характеристики в базе данных можно фиксировать заданное количество раз (то есть сохраняется заданное количество последних изменений). При этом всегда можно понять, какой пользователь, когда, с какого, на какое значение изменил какую-либо характеристику какого-либо экземпляра в базе данных.
Такая возможность по умолчанию выключена, поскольку требует незначительных дополнительных накладных расходов в системе, но сам факт присутствия такой возможности позволяет существенно повысить ответственность пользователей при работе с системой.

Интеграция с Cache'

Данные, хранящиеся и обрабатываемые в X.Magic/T&QP, могут быть доступны через объектный или SQL-доступы Cache'. X.Magic/T&QP автоматически поддерживает отображение метаданных в структуры Cache'. Это позволяет приложениям, созданным в среде нашей СУБД, быть абсолютно открытыми для доступа из внешних приложений и доработок.

Документированность

X.Magic – это отчуждаемый программный продукт компании "Информ Икс", и поэтому он имеет всю необходимую документацию по его настройке и использованию:

bulletРуководство по проектированию
bulletРуководство прикладного программиста
bulletРуководство системного администратора
bulletРуководство пользователя по Навигатору и генератору отчетов

Сравнительная характеристика СУБД

СУБД

Методы доступа к данным

Модель данных

Следствия
 концептуальные

Следствия
практические

Oracle
DB2
MS SQL

SQL

Реляционная

Логическая модель данных отличается от концептуальной и скрыта от пользователей приложений

Приложения имеют функциональный интерфейс

Семантика данных отражается на уровне приложения

Возможность добавления элементов схемы БД самими пользователями приходится реализовывать на уровне приложения

Генерацию нерегламентированных отчетов приходится реализовывать на уровне приложения

Пользователи работают не с данными, а с представлениями данных

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

Приложения сложно развивать

X.Magic/T&QP в Cache'

Навигационный
SQL
Прямой

Объектная

 

Логическая модель данных соответствует концептуальной и доступна пользователям

Приложения имеют и объектный, и функциональный интерфейсы

Семантика данных отражается на уровне X.Magic/T&QP и автоматически используется на уровне приложения

Пользователи добавляют элементы схемы БД на уровне СУБД

Пользователи используют объектный генератор отчетов СУБД для формирования нерегламентированных отчетов

Пользователи работают непосредственно с данными, используя естественную концептуальную модель

Стандартный объектный интерфейс существенно упрощает процессы самообучения пользователей и обмена опытом

Приложения легко развивать

 

Главная Вверх Контакты Содержание Загрузка Форум

Пожалуйста, отправьте сообщение на адрес support@informx.ru с пожеланиями и замечаниями относительно работы и содержания сайта.
Copyright © 1996-2004 ЗАО "Информ Икс"

English version