Поделиться в Facebook Поделиться ВКонтакте Поделиться в LinkedIn Опубликовать в Twitter

СУБД Empress Ultra Embedded Database

Empress Ultra Embedded Database версии 10.20 используется разработчиками АС на основе ОСРВ QNX Neutrino 6.4.x в широком диапазоне применений: от портативных устройств до сложных интеллектуальных систем.

Особенности

Ключевыми особенностями СУБД Empress являются:

  • Встраиваемость. СУБД Empress имеет модульную структуру, обеспечивающую широкие возможности по её масштабированию в зависимости от используемого функционала. Кроме того движок СУБД Empress может быть скомпонован с клиентским приложением в один программный модуль для работы в общем адресном пространстве.


  • Детерминированное время выполнения операций. Эта особенность является ключевой для использования СУБД Empress в системах реального времени.


  • Несколько уровней интерфейсов. СУБД Empress предоставляет разработчикам АС возможность использовать для доступа к сервисам движка интерфейсы Embedded SQL (статический и динамический), MSCALL, ODBC, JDBC и MR.


  • Возможность использование любой из файловых систем, поддерживаемых ОСРВ QNX Neutrino, включая ОЗУ-резидентную, UFS (используется на носителях DVD), Power-Safe Filesystem и Embedded Transaction Filesystem.

Состав

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

  • Резервное копирование и восстановление БД


  • Экспорт/импорт данных


  • «Горячий» старт СУБД с распознаванием незавершённых транзакций


Наиболее важными программными компонентами, конечно, являются сервера Empress.

Сервера Empress

В качестве первого варианта сервера Empress следует указать широко распространённую конфигурацию, которая получила название Empress Standalone Mode. Она представляет собой движок, предоставляющий приложению доступ к локальным или доступным в сети Qnet данным через интерфейс Embedded SQL, MSCALL или MR. Физически движок и его интерфейсы реализованы как несколько статических библиотек, компонуемых с приложением.

Второй вариант сервера EmpressEmpress Connectivity Server реализован в виде отдельного серверного приложения на базе движка Empress. Он предназначен для предоставления удалённым или локальным прикладным программам интерфейсов ODBC и JDBC, используя клиент-серверную архитектуру. На клиентской стороне применяются Empress-драйверы ODBC или JDBC, которые с помощью специального коммуникационного протокола Empress обеспечивают доступ прикладных программ к БД (рис. 1).

Схема использования Empress Connectivity Server
Рис.1. Схема использования Empress Connectivity Server


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

  • Сокращение сетевого трафика путём создания на ЭВМ пользователя локальных копий часто используемых данных

  • Обмен данными между приложениями

  • Распределение вычислительной нагрузки

  • Восстановление БД при системных сбоях

  • Автоматическое тиражирование данных (и даже программ) в сети

Интерфейсы программирования

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

  • MR – низкоуровневый интерфейс (API) для непосредственного доступа к БД из программы, написанной на языке С. Обеспечивается детерминированность времени выполнения MR-функций, что позволяет осуществлять WCET-анализ поведения реального времени. Интерфейс MR – это наиболее быстрый механизм работы с БД.

  • Встроенный SQL – позволяет "встраивать" SQL-операторы прямо в тексты программ-приложений на языках C или C++. Впоследствии такие приложения подвергаются обработке специальным препроцессором, который заменяет SQL-операторы на вызовы соответствующих функций и процедур. После этого преобразованные тексты приложений представляют собой тексты программ на языке программирования C или C++

  • MSCALL – очень простой в использовании и эффективный механизм вызова SQL-операторов из кода на языке Реализован как функция "mscall", которая имеет два аргумента – имя БД и заданный в виде сроки SQL-оператор.

  • ODBC – Стандартный API для доступа из кода клиентской программы, написанной на языке С, к данным. Этот интерфейс может использоваться в разных операционных системах (включая QNX Neutrino), но наибольшее распространение получил среди разработчиков Windows-приложений

  • JDBC – позволяет выполнять SQL-запросы программам, написанным на языке Java

Среди дополнительных возможностей СУБД Empress следует указать высокий уровень безопасности данных за счёт возможности низкоуровневой интеграции с внешними модулями (программными или аппаратными) шифрования.