Empress Cистема Управления Базами Данных Empress
Инструменты для создания надёжных встраиваемых
систем и интеллектуальных устройств любой сложности
SWD Software Ltd. - официальный дистрибьютор QNX на территории России и стран бывшего СССР


EMPRESS      О компании Внедрения Презентации
Главная > Презентации > Технические новинки СУРБД Empress

Технические новинки СУРБД Empress

Ниже описаны основные возможности, которые вводятся в новых релизах Empress V8.62-C и V8.62-D.

Нижеописанные возможности реализованы в V8.62, но о них будет объявлено позже, так как эти изменения приводят к несовместимости с ранее вышедшими версиями V8.62.

Следующие программные возможности приводят к несовместимости с семейством продуктов 8.62:

  • поддержка типа данных INTEGER64 (64-битовый целочисленный);
  • поддержка 32-битового и 64-битового целочисленного типа данных SEQUENCE;
  • Поддержка функций каскадного удаления/модификации/обнуления.

Таким образом, при использовании типа данных INTEGER64 и SEQUENCE или применении синтаксиса "ON DELETE CASCADE" SQL, такую базу данных невозможно импортировать в более ранние версии Empress V8.62.

По этой причине все эти возможности не описаны в документации на Empress. Это будет сделано при выходе следующего основного релиза СУРБД Empress.

Версия V8.62-C

Поддержка команд SQL CREATE DATABASE и DROP DATABASE
    Функция создания/удаления базы данных - это новый мощный инструмент, который позволяет разработчикам приложений создавать новые базы данных или удалять существующие базы данных из приложения или скрипта. Эта функция может также применяться в следующих интерфейсах Empress: ODBC, JDBC, DSQL и Interactive SQL.
Новый тип данных Empress: INTEGER64
    Новый 64-битовый целочисленный тип данных INTEGER64 отвечает более высоким стандартам хранения данных. Он предназначен для хранения целочисленных значений, превышающих значение 2 147 483 647.

    Тип данных INTEGER64 позволяет сохранять значения в следующем диапазоне:

    от -(2exp63-1) до +(2exp63-1).

Поддержка последовательностей типа SEQUENCE (32-бит и 64-бит)
    The "create sequence" command creates a sequence in the database.

    Команда "create sequence" создает последовательность в указанной БД.

Реализация репозиториев PSM
    Реализация репозитория PSM в предыдущих версиях СУРБД Empress требовала, чтобы PSM хранились в той базе данных, в которой они используются. Вообще говоря, если разработчик создал PSM для одной базы данных, то для другой базы данных необходимо создавать еще одну копию этого PSM. При этом если в начальном репозитории были сделаны изменения, то приходилось повторять создание копий для всех остальных баз данных.

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

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

Поддержка скалярных подзапросов в выражениях SELECT, INSERT и UPDATE
    В новой версии СУРБД Empress 8.62-C появилась поддержка скалярных подзапросов в выражениях SELECT, INSERT и UPDATE.

Версия 8.62-D

Локализация транзакций на уровне чтения с подтверждением (READ_COMMITTED)
    В дополнение к существующим двум уровням локализации транзакций SERIALIZABLE и READ UNCOMMITTED вводится еще один: READ COMMITTED.

    Уровень локализации транзакций представляет собой степень выполнения локализации транзакций в диапазоне от уровня SERIALIZABLE, который обеспечивает наименьшую степень параллелизма между несколькими транзакциями, до уровеня READ UNCOMMITTED, который обеспечивает наибольшую степень параллелизма. При этом уровень READ COMMITTED близок к уровню READ UNCOMMITTED, но обеспечивает большую степень локализации множества транзакций, чем уровень READ UNCOMMITTED.

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

Повышение производительности работы приложений, использующих режим транзакций, и блокировка на уровне таблицы
    В данной версии Empress значительно увеличена производительность работы приложений, использующих режим транзакций и блокировку на уровне таблицы. Увеличение производительности может достигать более 100% для таких основных команд языка манипулирования данными, как, например, INSERT, UPDATE, DELETE или SELECT. Кроме того, значительно уменьшен размер журнала транзакций. Теперь пользователи получили журнал транзакций, который по размеру составляет менее 10% от размера предыдущих версий.
Поддержка функций каскадного удаления/модификации/обнуления
    Целостность ссылок в БД или ограничения ссылающихся данных в СУРБД Empress обычно используется для сохранения целостности пользовательских баз данных. Большинство баз данных построены таким образом, что почти в каждой из них содержится по крайней мере один атрибут, который ссылается на другой атрибут в другой таблице. Взаимосвязь между такими атрибутами в разных таблицах часто не является двусторонней или организованной по типу "один - множество". Эта взаимосвязь определяется по типу "родитель - потомок" и управляется при помощи связки первичного и внешнего ключа. Однако со временем целостность ссылочных данных может приводить к ошибкам обновления связей, поскольку при удалении "родителя" все его "потомки" остаются "висеть" без порождающей опорной точки.

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

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

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

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

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

Дополнительная информация:

Виталий Яковлев (Vitali Iakovlev), SWD Software,
v.iakovlev@empress.ru