E-mail:
Пароль:
Забыли пароль?

ЛИНТЕР – СУБД для QNX

Softline

Виктор Борисов

ЛИНТЕР – реляционная СУБД, поддерживающая функции реального времени. Это возможность подачи запросов в асинхронном режиме и отделение этапа транслирования запроса от его выполнения, обработка запросов в соответствии с приоритетами и наличие механизма событий, определяющих особые ситуации, наличие в системе in-memory таблиц и возможность увеличить быстродействие системы за счёт специальной настройки ядра СУБД.

Пользователи QNX 6 выбирают ЛИНТЕР

Особою заинтересованность и внимание к ЛИНТЕР в последнее время стали проявлять разработчики АСУ ТП и встраиваемых систем ранее работающие с QNX  4. С выходом QNX  6 сложилась ситуация, когда большинство производителей СУБД оказались не готовы к работе с новой версией операционной системы, и многие системы управления базами данных работающие с QNX 4 на сегодняшний день не поддерживают работу с QNX 6. Это обстоятельство заметно осложнило для программистов перенос приложений с одной версии ОС на другую, а значительную часть разработчиков поставило перед выбором новой СУБД.

Во многих случаях, особенно связанных с «мягким» реальным временем, под QNX 4 использовались СУБД, по своей функциональности мало отличающиеся от корпоративных. Поэтому смена такой СУБД на ЛИНТЕР – наиболее простая, а значит, наименее трудоёмкая операция. Работа с ЛИНТЕР ничем не отличается от работы с той СУБД, с которой пользователи и разработчики привыкли работать. Это не только облегчает портирование приложения на новую СУБД, не только снижает риски внесения ошибок и срыва сроков разработки, но и облегчает взаимодействие автоматизированной системы с другими приложениями предприятия.

СУБД ЛИНТЕР – это полностью российская разработка. Её технические характеристики и функциональность делают систему привлекательной для использования во всех силовых ведомствах, а также в коммерческих организациях, создающих своё технологическое оборудование.

Обладая функциональностью корпоративной системы, ЛИНТЕР вместе с тем представляет огромный интерес для разработчиков встраиваемых систем. Архитектура ЛИНТЕР не претерпела больших изменений с тех времён, когда программисты бережно относились к вычислительным ресурсам. В итоге ЛИНТЕР занимает только отведенную ему память, имеет небольшой размер ядра и обладает специфическими для реального времени особенностями.

Другим коньком ЛИНТЕР является отказоустойчивость, позволяющая встраивать ЛИНТЕР даже в бытовые аудио/видео устройства, где многократное выключение питания является обычным режимом работы и не должно приводить к нарушению физической целостности базы данных.

Не менее важным, а во многих случаях одним из самых острых вопросов, является вопрос о защите информации и сертификации программного комплекса, составной частью которого является используемая СУБД. В отличие от других систем ЛИНТЕР обеспечивает максимальную защиту данных, о чем свидетельствует сертификат ФСТЭК о соответствии ЛИНТЕР второму классу защиты информации от несанкционированного доступа и второму уровню контроля отсутствия недекларированных возможностей.

Выбор версии ЛИНТЕР для QNX 6

Если переход на версию QNX с большим номером не вызывает сомнений, то при выборе версии ЛИНТЕР нужно учитывать несколько особенностей этой разработки.

Стараниями маркетологов все уже привыкли к тому, что новая версия продукта лучше предыдущей и вытесняет версию с меньшим номером. Это правило работает и для QNX – всем производителям АСУ ТП и встраиваемых систем, работающим с QNX 4, рано или поздно потребуется переход на новую версию этой ОС.

СУБД ЛИНТЕР является исключением – производитель этой СУБД поддерживает несколько версий данного продукта, которые применяются для различных ситуаций и более старшая версия не перечёркивает существование предыдущих. Они развиваются параллельно. Для каждой из них выпускаются обновления, и оказывается техническая поддержка.

В настоящее время под QNX 6 доступно три версии ЛИНТЕР: 5.9, 6.0, 6.1. Чтобы было понятнее их отличие, можно считать их различными продуктами: «ЛИНТЕР 5.9», «ЛИНТЕР 6.0», «ЛИНТЕР 6.1».

Обычно под QNX 6 поставляется ЛИНТЕР 5.9, но в тех случаях, когда необходима поддержка Unicode или требуется многоверсионность, наиболее оптимальными будут ЛИНТЕР 6.0 и ЛИНТЕР 6.1, соответственно. Именно эти характеристики и являются основными отличительными особенностям этих двух продуктов с объединяющим названием ЛИНТЕР.

Обновления вносятся сразу во все три продукта, поэтому отличий очень мало, но они существенны. По сравнению с ЛИНТЕР 5.9, в ЛИНТЕР 6.0 имеется поддержка UCS -2, расширена поддержка доступа к хранимым процедурам (в 5.9 они исполняются только от имени текущего пользователя), увеличен лимит размера записи с 4Кб до 64Кб. Основным отличием ЛИНТЕР 6.1 от ЛИНТЕР 6.0 является многоверсионная система хранения данных и соответствующий механизм обработки транзакций.

Свойства ЛИНТЕР для реального времени

Следующие возможности ЛИНТЕР призваны сократить время реакции СУБД, т.е. позволяют во многих случаях гарантировать время отклика системы, что является главным для реального времени.

Асинхронные запросы

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

Приоритеты выполнения запросов

При получении запроса с более высоким приоритетом ЛИНТЕР выполнит его раньше других.

Вы можете оптимизировать скорость работы прикладной системы, устанавливая один из 256 доступных приоритетов.

События

Аппарат событий ЛИНТЕР позволяет приложению отслеживать особые ситуации и обеспечивать реакцию на их возникновение. Как только произойдет ожидаемое событие (insert, update, delete или даже select) будет выполнена указанная процедура. Все остальное время ваша система будет работать в обычном режиме и выполнять все необходимые операции.

С помощью событийного механизма можно создавать следящие утилиты.

Таблицы в памяти

В отличие от корпоративных СУБД, ЛИНТЕР позволяет располагать данные целой таблицы в оперативной памяти. При запуске ядра такая таблица «поднимается» в невытесняемую на диск память и остаётся там до сохранения на диск. «Сбросить» все данные на диск можно не только при остановке ядра, но и в любой момент времени – из программы. Скорость работы с таблицей в памяти в разы превышает скорость работы с обычными таблицами в обычных СУБД.

Параметризованные запросы

Параметризованные запросы в ЛИНТЕР называются претранслированными, т.к. в них отделён этап трансляции SQL -выражения от этапа выполнения запроса. Кроме выигрыша в скорости выполнения (за счёт отказа от трансляции всего запроса каждый раз перед его выполнением), можно получить специальную версию ЛИНТЕР, не содержащую SQL -транслятора и имеющую, соответственно, меньший размер ядра. Претранслированные запросы в сочетании с асинхронным режимом наиболее часто используют при сборе данных в реальном времени.

Мониторинг

Возможность слежения из приложения за состоянием использования ресурсов ядра позволяет строить более интеллектуальные системы. Например, если обработка какого-то запроса требует слишком много ресурсов, такая система может приостановить или прервать его обработку.

Отключение журнала

Это нестандартная возможность ЛИНТЕР и ею не рекомендуется пользоваться, но когда это действительно необходимо, отключение системного журнала и отказ от поддержки транзакций может увеличить скорость работы системы в несколько раз.

Облегчённая версия

Только ЛИНТЕР может быть собран специально для вас. Система, включающая в себя только необходимую функциональность, позволит не просто решать ваши задачи, но и увеличит скорость работы, и уменьшит размер ядра. Одним словом, оптимально подойдёт к вашей задаче.

 


Возврат к списку

ѕрокрутить вверх