Особенности функционирования СУБД ЛИНТЕР в операционных системах

advertisement
Особенности
функционирования
СУБД ЛИНТЕР
в операционных системах
реального времени
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
И даже в области балета, мы впереди планеты всей
Наши клиенты:
»
»
»
»
»
»
»
»
»
»
»
»
»
»
»
»
»
»
»
Министерство обороны РФ
ФСБ РВ
МВД РФ
ВНИИСИ РАН
АФК <Система>
ВНИИРА-ОВД
Воронежский государственный
университет
ФГУ РНЦ <Курчатовский институт>
ОАО <Сургутнефтегаз>
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__20080401010100 → Архив
Linter.log__20080402010100 → Архив
Linter.log__20080403010100 → Архив
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
}
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Приоритеты
220
220
220
220
220
220
205
205
205
150
150
150
150
150
150
120
120
120
80
80
80
70
70
70
0
0
0
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Управление выполнением запросов
Оператор
(Администратор)
БД
Запросы
Клиенты
1
Клиент
2
Клиент
Отменить
3
Клиент
Остановить
4
Клиент
Продолжить
5
Клиент
6
Клиент
…
…
Повысить
приоритет
Понизить
приоритет
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
События
Приложение 2
Таблица
Приложение 1
insert
Wait event
Добавлено!
Приложение 1
Приложение 2
Таблица
Wait event
id=2
Id=2
Установлено!
Приложение 2
Таблица 2
БД
Таблица 1
Приложение 1
Ждем
события
АиВ
Ответ
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Временные данные
БД
БД
Временная
таблица А
Таблица А
Приложение
Приложение 1
Область
таблицы
«в памяти»
Таблица А
Таблица А
Приложение 2
Таблица А
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Пакетная загрузка и извлечение данных
Клиент
Сервер
…
Put Many
Линтер
Row 2
…
Сервер
Клиент
Row 1
Get Row 1
Row 2
Get Row 2
…
Row 100
Get Many
Линтер
Row 100
Row 100
Клиент
Сервер
Row 1
Row 1
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. Ядро само может выполнять архивирование – клиент только
подаёт команду на архивирование.
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Горячий резерв
Главный
Резервный
Клиент
Авария
Клиент
Синхронизация
Клиент
Резервный
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Дополнительные полезности
Использование сверхбольших объёмов памяти
Поддержка длинных файлов
Поддержка Oracle-расширений (join, connect by, и т.п.)
Поддержка новых возможностей SQL-2003 (Sequences,
аналитические функции, Siblings, similar, match, select в select и
т.п.)
5. Триггеры и хранимые процедуры.
6. Пользовательские функции.
7. Отложенные проверки целостности.
8. Графические утилиты администрирования.
9. Различные программные интерфейсы (odbc, jdbc, .net, oledb, perl,
php, python, ruby)
10. И т.д.
1.
2.
3.
4.
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Память
Минимальный размер запущенного ядра ЛИНТЕР – 900К. При этом
отключены транслятор SQL, процедуры, триггеры,
полнотекстовый поиск и т.п.
Нормальные требования к памяти 2-4Мб. При этом в ядре СУБД
присутствует вся функциональность и используется
минимальный кэш.
При необходимости, могут быть использованы десятки Гб памяти
для кэширования БД.
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Проблемы в ОС реального времени
VxWorks – упорядочены глобальные переменные, добавлены
инициализаторы статических переменных, добавлены
специальные интерфейсы для обмена приложений с ядром и
запуска компонент ЛИНТЕР.
ОС РВ – модернизированы механизмы обработки сигналов
отдельными компонентами ядра и клиентскими приложениями,
«обойдена» системная ошибка копирования данных memmove.
OS/9 – реализованы специфические методы обмена между
процессами, реализована многоуровневая система защиты от
«зависания» ОС в случае активной работы с сетью.
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Проблемы в QNX
Проблемы в QNX
1. Последний байт 2-Гб файла не читается.
2. Функции read и write для дисковых устройств могут быть
прерваны на границе 512 байт.
3. Ошибка «нехватка памяти» при выполнении функции write
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Перспективы развития
1. Перенос в RTOS32
2. Аппарат хранимых событий. Позволит привязать к конкретному
временному событию (фиксированному или циклическому)
наступление определённого события или запуск хранимой
процедуры.
3. Управление процессом квантования запросов по времени и
возможность использования функции sleep() в хранимых
процедурах.
4. Автоматическая аутентификация по имени пользователя,
зарегистрированного в ОС.
5. Библиотека управления запуском и остановом ядра, создания БД
и т.п.
В глобальной перспективе – модернизация ядра СУБД по
технологии микроядра с возможностью «горячего» обновления
модулей.
Особенности функционирования СУБД ЛИНТЕР
в операционных системах реального времени
Заключение
Мы надеемся на вашу заинтересованность и поддержку в
исполнении Планов.
Спасибо.
Download