Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени
И даже в области балета, мы впереди планеты всей Наши клиенты: »Министерство обороны РФ »ФСБ РВ »МВД РФ »ВНИИСИ РАН »АФК »ВНИИРА-ОВД »Воронежский государственный университет »ФГУ РНЦ »ОАО »Lucent Technologies Inc. »Toshiba American business solutions »ADIC »AlignMark, Inc. »Florida International University »Avantgarde Software, Inc. »Step2Buy Inc. »Ecora Software Corporation »Global System Services »EC-leasing Corporation Наши партнеры: »Global System Services »ООО »ЗАО »ООО »Российская академия наук »РНЦ Курчатовский институт »Министерство промышленности, науки и технологий Российской Федерации »Воронежский государственный университет »Московский инженерно-физический институт »Red Hat, Inc. »VDEL Ltd.
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Переносимость »QNX 4, »QNX 6, »VxWorks, »ОС РВ, »ОС/9, »OS9000, »Windows CE, »linux и др.
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Гибкость ЛИНТЕР Клиент Операторы БД Встроенные устройства ЛИНТЕР Операторы БД Встроенные устройства лок БД лок БД лок БД лок БД
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Контроль размера файлов регистрации Контролируемые файлы : linter.out – файл регистрации событий ядра СУБД linter.log – файл трассировки запросов lintrace.log – файл трассировки планов выполнения запросов Пример: Linter.log__ Архив Linter.log__ Архив Linter.log__ Архив Linter.log
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Распределение по хранилищам ЛИНТЕР ТЕМР SY00 SY01 … … … Временные данные Системная база данных Секретные таблицы Редко модифицици- руемые данные Редко используемые данные
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Асинхронность ЛИНТЕР. Запрос Продолжение работы Ожидание завершения запроса Продолжение работы ПРОГРАММА запрос ЛИНТЕР. Запрос с указанием обработчика Продолжение работы Асинхронный обработчик Продолжение работы ПРОГРАММА запрос Вызов асинхронного обработчика
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Многонитевость ЛИНТЕР Нить 1 Нить 2 Запрос Ожидание ответа Запрос Ожидание ответа ПРОГРАММА ЛИНТЕР Нить 1 Нить 2 Запрос Асинхронный обработчик Запрос Асинхронный обработчик ПРОГРАММА
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Статический SQL /* ESQL AT conn EXECUTE IMMEDIATE INSERT INTO T VALUES(:i); */ { PCI_NewVar((char *)&i,4,4,0,0,(int *) 0); #define PCI_STAT_TEXT \ "\276\000\040\111\002\000\001\000\274\000\264\000\067\111\000\040 \ \000\000\003\000\004\000\002\012\000\377\377\377\377\377\377\000 \ \000\000\000\377\377\000\000\001\000\030\007\000\000\004\000\002\0 12" PCI_PresetStat(PCIDb[0], 0, (_PCI_B_)PCI_STAT_TEXT, 192, 0, 1, 0); PCI_Exec(PCIDb[0], 4096, 0, 0, 0); Fill_Sqlca((char *)&sqlca,0); #undef PCI_STAT_TEXT }
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Приоритеты
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Управление выполнением запросов 1 Клиент … Оператор (Администратор) БД Запросы Клиенты … Повысить приоритет Понизить приоритет Отменить Остановить Продолжить
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени События Приложение 1 Таблица Приложение 2 Wait event Добавлено! insert Id=2 Приложение 1 Таблица Приложение 2 Wait event id=2 Установлено! Таблица 1 Приложение 1 БД Приложение 2 Ждем события А и В Ответ Таблица 2
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Временные данные Таблица А Временная таблица А Приложение 1 БД Приложение 2 Таблица А Область таблицы «в памяти» Приложение БД Таблица А
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Пакетная загрузка и извлечение данных Row 1 КлиентСервер Put Many Row 2 … Row 100 Линтер Row 1 КлиентСервер Row 2 … Row 100 Линтер Row 1 КлиентСервер Get Many Row 2 … Row 100 Линтер Get Row 1 КлиентСервер Get Row 2 … Get Row 100 Линтер
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Интеграция /app/bin/core – пользовательское приложение /app/bin/plugin.so – компонент пользовательского приложения /app/bin/ext1.so – компонент пользовательского приложения /app/doc/readme.txt /app/doc/user_manual.html /app/linter/linter – основной файл ядра ЛИНТЕР /app/linter/lhb – файл программы-архиватора ЛИНТЕР /app/db – каталог с БД ЛИНТЕР
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Подсистема безопасности Лицензия ФСТЭК на проведение работ в области создания средств защиты информации Лицензии РАСУ на разработку, производство и ремонт вооружения и военной техники Лицензия ФСБ на осуществление работ с использованием сведений, составляющих государственную тайну Лицензия Министерства обороны Российской Федерации на деятельность в области создания средств защиты информации Сертификаты ФСТЭК России на соответствие СУБД ЛИНТЕР второму классу защиты информации от НСД и второму уровню контроля отсутствия НДВ
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Подсистема полнотекстовой индексации Поиск документов, содержащих слова или их комбинации Поиск документов, содержащих фразы с определённой последовательностью слов Поиск документов в которых определённые слова расположены на определённом расстоянии Поиск документов, содержащих слова, похожие на шаблон Поиск документов с игнорированием регистра Индексация документов на разных языках Индексация документов в форматах doc, ppt, xls, ps, rtf, xml, html
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Поддержка OpenGIS Типы данных: POINT - точка LINESTRING[ (n) ] - ломаная линия POLYGON[ (n) ] - многоугольник MULTIPOINT[ (n) ] - набор точек MULTILINESTRING[ (n) ] - набор ломаных линий MULTIPOLYGON[ (n) ] - набор многоугольников BOX - прямоугольник LINE - простая (не ломаная) линия CIRCLE - окружность GEOMETRYCOLLECTION[ (n) ] - набор геометрических объектов GEOMETRY - обобщенный геометрический тип (может содержать любой геометрический объект) Поддерживаются WKT- и WKB - форматы
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Архивирование 1.Архивирование набора таблиц. Параллельно разрешена работа других приложений 2.Архивирование всей БД. Параллельно разрешена работа других приложений. 3.Архивирование в режиме инкремента. Архив уже есть. В него переносятся только изменения с момента последнего архивирования. 4.Архивирование в режиме ожидания. Отдельно «висит» программа архивирования, отдельно идёт работа с БД. Как только в БД что-то пишется, то сразу передаётся в архив. 5. Ядро само может выполнять архивирование – клиент только подаёт команду на архивирование.
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Горячий резерв Главный Клиент Резервный Авария Синхронизация Резервный Клиент
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Дополнительные полезности 1.Использование сверхбольших объёмов памяти 2.Поддержка длинных файлов 3.Поддержка Oracle-расширений (join, connect by, и т.п.) 4.Поддержка новых возможностей SQL-2003 (Sequences, аналитические функции, Siblings, similar, match, select в select и т.п.) 5.Триггеры и хранимые процедуры. 6.Пользовательские функции. 7.Отложенные проверки целостности. 8.Графические утилиты администрирования. 9.Различные программные интерфейсы (odbc, jdbc,.net, oledb, perl, php, python, ruby) 10.И т.д.
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Память Минимальный размер запущенного ядра ЛИНТЕР – 900К. При этом отключены транслятор SQL, процедуры, триггеры, полнотекстовый поиск и т.п. Нормальные требования к памяти 2-4Мб. При этом в ядре СУБД присутствует вся функциональность и используется минимальный кэш. При необходимости, могут быть использованы десятки Гб памяти для кэширования БД.
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Проблемы в ОС реального времени VxWorks – упорядочены глобальные переменные, добавлены инициализаторы статических переменных, добавлены специальные интерфейсы для обмена приложений с ядром и запуска компонент ЛИНТЕР. ОС РВ – модернизированы механизмы обработки сигналов отдельными компонентами ядра и клиентскими приложениями, «обойдена» системная ошибка копирования данных memmove. OS/9 – реализованы специфические методы обмена между процессами, реализована многоуровневая система защиты от «зависания» ОС в случае активной работы с сетью.
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Проблемы в QNX 1.Последний байт 2-Гб файла не читается. 2.Функции read и write для дисковых устройств могут быть прерваны на границе 512 байт. 3.Ошибка «нехватка памяти» при выполнении функции write
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Перспективы развития 1.Перенос в RTOS32 2.Аппарат хранимых событий. Позволит привязать к конкретному временному событию (фиксированному или циклическому) наступление определённого события или запуск хранимой процедуры. 3.Управление процессом квантования запросов по времени и возможность использования функции sleep() в хранимых процедурах. 4.Автоматическая аутентификация по имени пользователя, зарегистрированного в ОС. 5.Библиотека управления запуском и остановом ядра, создания БД и т.п. В глобальной перспективе – модернизация ядра СУБД по технологии микроядра с возможностью «горячего» обновления модулей.
Особенности функционирования СУБД ЛИНТЕР в операционных системах реального времени Заключение Мы надеемся на вашу заинтересованность и поддержку в исполнении Планов. Спасибо.