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

Выбор СУБД для работы с данными в биометрических системах

Выбор СУБД для работы с данными в биометрических системах

Конференция "Биометрические системы"

В.Л. Борисов

Презентация к докладу в формате PPT (2 699 K)

Введение

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

Несомненно, это должна быть реляционная СУБД, т.к. создание биометрической системы – это не тот проект, в котором можно экспериментировать с объектными и прочими СУБД, т.к. велик объем других научных проблем. От СУБД требуется надежное хранение и быстрый поиск.

Существует несколько проверенных временем СУБД: Oracle , IBM DB 2, MS SQL Server , Sybase ASA , PostgreSQL , ЛИНТЕР и т.д.

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

Однако все СУБД имеют разную внутреннюю архитектуру.

Например, в PostgreSQL для установления соединения создается отдельный процесс. Это сделано так потому, что просто реализуется и позволяет легко масштабировать обработку запроса. Но все остальные производители отказались от такого подхода, т.к. он чрезмерно требователен к ресурсам, медленно создает подключение (при этом никакие SQL -запросы не выполняются!), не позволяет вводить внутри-запросное распараллеливание.

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

Этот пример показывает, как архитектурные различия влияют на производительность на разных запросах.

Особые требования биометрии к СУБД

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

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

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

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

Если работа с обычными типами данных является стандартной для всех современных реляционных СУБД (РСУБД), то работа с биометрическими типами данных ведется путем создания расширений. Например, во многих СУБД поддержаны пользовательские типы данных. Это означает, что программист может создать свои модули данных и подключить их к СУБД, определив операции сравнения, агрегирования и т.д.

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

В ЗАО НПП «РЕЛЭКС» давно ведутся инженерные исследования в области следующих типов пользовательских объектов: геометрические объекты (на плоскости и в пространстве), полигоны, изображения (в части ускорения поиска похожих/подобных), текстовые (и смешанные) объекты и т.п., но мы готовы использовать встроить в СУБД и алгоритмы сторонних разработчиков.

Для биометрической системы одним из важных требований является обеспечение защиты данных. Об этом говорит не только принятая в России Доктрина безопасности, выделяющая среди угроз безопасности России: использование несертифицированных средств защиты и применение зарубежных программных средств при наличии отечественных аналогов. Необходимость сертификации и использования отечественных программных средств закреплена федеральными законами «Об информации, информационных технологиях и о защите информации», «О государственной тайне», «О размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд» и другими российскими законами.

Кроме того, при выборе СУБД для биометрической системы нужно учитывать вариативность. Например, миниатюрная часть такой системы должна работать на узкоспециализированных мобильных устройствах, отдельный вариант этой же системы может быть предназначен исключительно для исследовательских работ (агрегация, кластеризация, классификация данных) на уже накопленной базе. Все эти варианты СУБД нуждаются в средствах обеспечения катастрофоустойчивости.

Заключение

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

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

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

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

Однако в любом случае главными требованиями к СУБД для работы с данными в биометрических системах должны стать – надежность и защищенность.


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

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