Обзор систем управления базами данных (субд) для систем контроля и управления доступом (скуд). Основные объекты MS Access

Системы управлении базами данных (СУБД) в последнее время стали неотъемлемой частью ИТ-инфраструктуры практически любой компании. Сейчас достаточно сложно найти компанию, которая бы не пользовалась системой 1С:Предприятие или какой-либо мощной ERP системой, такой как SAP или Microsoft Dynamics (CRM), которые используют СУБД для хранения своих данных. Почти все WEB-приложения используют СУБД для хранения информации о клиентах, наименований товаров и т.п. Если раньше СУБД использовались в основном для хранения текстовых и числовых данных, то сейчас в СУБД хранятся такие данные, как изображения, видеозаписи и многие другие типы данных. Объёмы баз данных в некоторых отраслях выросли до нескольких терабайт. Поэтому сейчас, как никогда ранее, повысились требования к надёжности и производительности систем управления базами данных. Лидирующие позиции на рынке среди СУБД занимает Microsoft SQL Server. Доля рынка Microsoft SQL Server, по данным Gartner, составляет 46,8%, остальная часть рынка принадлежит Oracle и IBM DB2, относительно небольшую часть рынка занимают СУБД Open Source, такие как Postgre и Firebird.

Microsoft SQL Server 2012 является новейшей и мощнейшей системой управления базами данных. Помимо стандартных для СУБД функций, SQL Server 2012 содержит большой набор интегрированных служб по анализу данных. Доступ к данным, расположенным на SQL Server могут получить любые приложения, разработанные на.Net и VisualStudio, а также приложения пакета Microsoft Office 2007. SQL Server 2012 обеспечивает высочайшую в своём классе масштабируемость, производительность и безопасность.

Microsoft SQL Server 2012 поддерживают более 15000 поставщиков программного обеспечения, его используют более 74,7% крупнейших компаний мира. Microsoft SQL Server 2012 используют практически все ERP и CRMсистемы, как SAP, Microsoft Dynamics, 1C: Предприятие, Microsoft CRM.

Платформа данных SQL Server

SQL Server 2012 предоставляет средства по созданию и управлению реляционными базами данных. Также SQL Server 2012 поддерживает новые средства аналитической обработки данных (Analysis Services), средства отчётности (Reporting Services), а также множество средств, упрощающих разработку приложений.

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

Безопасноcть SQL Server 2012:

  • Интерактивное шифрование баз данных. SQL Server 2012 поддерживает прозрачное шифрование баз данных и журналов транзакций. Данная функция позволяет заказчику быть уверенным в том, что неправомочный доступ к данным компании невозможно будет получить, даже завладев сервером или системой хранения данных.
  • Поддержка PKI. SQL Server 2012 поддерживает инфраструктуру сертификатов. Доступ к данным можно ограничивать и шифровать при помощи сертификатов и аппаратных модулей защиты (TPM).
  • Интеграция с доменом ActiveDirectory. Доступ к данным можно разрешать по доменным пользователям и группам.
  • Аудит. SQL Server 2012 поддерживает аудит доступа к данным и контроль за осуществляемыми с базой данных действиями.

Отказоустойчивость SQL Server 2012:

  • Зеркалирование БД (Database Mirroring). Технология зеркалирования предполагает наличие одного активного сервера, с которым работают все клиенты, и одного зеркального сервера, на который происходит передача всех журналов транзакций и их применение к зеркальной БД. При отказе активного сервера, происходит переключение на зеркальный сервер. Это делается либо вручную, либо автоматически, при использовании сервера-наблюдателя (Witness). Таким образом обеспечивается отказоустойчивость БД, и в случае сбоя максимум, что теряется - это одна транзакция. При этом не требуется никакого специализированного кластерного оборудования или SAN-устройств. Но нужно учитывать, что данный метод не обеспечивает непрерывность функционирования, ввиду того, что переключение длится несколько секунд и обращения происходят к другому серверу с другим именем, а также не обеспечивается распределение нагрузки и снижается производительность. В SQL Server 2012 появилась функция автоматического восстановления повреждённых страниц с зеркального сервера, а также добавлена функция прозрачного перенаправления клиентов на зеркальный сервер.

Database Mirroring в SQL Server 2012

  • Кластеры высокой доступности (High Availability Cluster). Крупные компании, которым требуется непрерывность функционирования, постоянная доступность БД и распределение нагрузки, используют SQL Server 2012 в режиме кластера. SQL Server 2012 поддерживает 16-ти узловую кластеризацию, причём кроме кластеризации ядра СУБД, поддерживается также кластеризация Analysis Services, Notification Services и Replication Services. Кластер SQL Server 2012 позволяет обеспечить режим функционирования 24/7 для критических бизнес-приложений.

Двух узловой кластер на базе SQL Server 2012

Масштабируемость SQL Server 2012:

  • Горячее добавление памяти и процессоров. SQL Server 2012 позволяет не выключая и не перезагружая сервер добавлять в него оперативную память и процессоры (эта функция должна также поддерживаться и оборудованием).
  • Репликация БД. SQL Server 2012 позволяет создавать копии БД в удалённых филиалах. Поддерживаются различные механизмы репликации с использованием транзакций, слияния и моментальных снимков. Репликация может быть как односторонней, когда например, изменения из центрального офиса реплицируются в филиалы, так и двусторонней. SQL Server 2012 поддерживает распределённые приложения и гео-распределённую кластеризацию.
  • Распределение ресурсов (Resource Governor). SQL Server 2012 позволяет распределять ресурсы и назначать приоритет для различных задач. Эта функция позволяет избежать случаев резкого падения производительности всего сервера, и прерывания работы всех пользователей при выполнении одной какой-либо сложной задачи.
  • Поддержка архитектуры Intel Itanium. Для сверхвысоких нагрузок выпущена версия SQL Server 2012, работающая на RISC-серверах, построенных на платформе Intel Itanium (IA-64). Данная редакция SQL Server 2012 применяется в крупных ЦОД для обработки больших объёмов информации. SQL Server 2012 в редакции Itanium поддерживает 64 процессорных ядер и 2 терабайта оперативной памяти. Поддерживаются технологии горячего добавления/отключения процессора и памяти, также поддерживается технология отказоустойчивого зеркалирования памяти и 8-ми узловая кластеризация.

Построение кластера является достаточно сложной задачей. При построении кластера проводится сложный анализ бизнес-приложения, использующего СУБД, рассчитывается нагрузочная способность и требуемые ресурсы, прогнозируется рост БД и рост нагрузочной способности, в соответствии с этим планируется инфраструктура кластеров и подбирается оборудование. Компания ЛанКей обладает опытом построения кластеров SQL Server в ряде крупных компаний. Планирование и развёртывание кластеров SQL Server производят сертифицированные инженеры MCSE, MCDBA, MCTS: SQL Server.

MS Access - реляционная клиент-серверная от компании Microsoft. Реляционная означает, что она основана на таблицах. Рассмотрим эту систему подробнее.

Что такое реляционная база данных?

Рассмотрим преимущества и недостатки данной СУБД.

Преимущества СУБД Microsorf Access

  • Простой и понятный интерфейс. Приступить к работе с данной СУБД можно, не имея никаких особых навыков. Кроме того, на помощь новичку приходят многочисленные справочные пособия, онлайн- и офлайн-курсы.
  • СУБД MS Access общеизвестна и очень популярна в настольных ПК. Это значит, что вы всегда можете обратиться за помощью к знакомому, уже давно использующему данную СУБД, за советом, а также вместе работать с одной базой данных по сети.
  • Практически безграничные возможности из таблиц щелчком одной клавиши мыши можно перенести в Excel, Word, экспортировать в XML, опубликовать в PDF, не говоря уже о том, чтобы без проблем перенести выбранные объекты в другую базу данных.
  • Невысокая цена. Если покупать MS Access в составе полного пакета Microsoft Office, то, по сравнению с другими платными СУБД, цена окажется очень заманчивой.
  • Широкий выбор конструкторов для построения форм, отчетов и запросов, с помощью которых можно отфильтровать данные и вывести их в удобном виде.
  • Широкие возможности импорта данных: если у вас есть табличные данные, созданные при помощи текстового процессора MS Word или табличного процессора MS Excel, вы с помощью мастера без труда перенесете их в свою базу. Импорт, кроме того, можно выполнить из простого текстового документа, из документа XML, а также из файлов баз данных, созданных в других СУБД (таких как dBASE, PARADOX).
  • Возможность создания пароля на своей базе данных.
  • Встроенный язык VBA высокого уровня.
  • Возможность записи макросов.
  • Редактор SQL.

Для программистов можно выделить еще один значительный плюс: ядро Access JET 4 встроено в операционные системы Microsoft, начиная с Windows-98. Это значит, что разработанное приложение, использующее в работе базу данных, созданную в Access, можно без проблем переносить на любой компьютер с ОС Windows. Оно будет работать, не требуя установки самой СУБД. В крайнем случае потребуется лишь установка RUNTIME - версии, которую можно абсолютно бесплатно скачать с сайта Microsoft.

Как видим, достоинства СУБД MS Access налицо. Но все плюсы могут перекрыться вполне существенными минусами. Рассмотрим их.

Недостатки СУБД Microsoft Access

  • MS Access относится к файл-серверным СУБД. Это означает, что вся обработка данных происходит непосредственно на компьютере клиента, пользователя. Серверная часть лишь извлекает данные и передает их по требованию. Это приводит к тому, что по локальной сети курсируют большие потоки данных, и при большом количестве пользователей, работающих с базой данных, может случиться перегрузка сети. Классическая файл-серверная архитектура всегда влечет за собой низкую производительность при большом количестве пользователей. В версии MS Access 2010 этот вопрос частично решен.
  • Отсутствие надежных средств защиты данных. По сути, используется только пароль на базе данных и пароль пользователя. Для опытного специалиста не представляет никакой сложности снять такую защиту.
  • Многопользовательский режим возможен только в одноранговой сети или в сети с файловым сервером.
  • Для разработки нестандартного интерфейса требуется привлекать программистов.
  • Редактор примитивен, использовать его неудобно.
  • Данная СУБД не бесплатная.
  • MS Access заточен под операционные системы Windows. Чтобы попытаться использовать данные, созданные в этой СУБД в других ОС (например, LINUX), придется изрядно повозиться. Проще перенести данные в другую СУБД.

После того, как мы рассмотрели минусы и плюсы MS Access, на примере версии 2007 дадим небольшие инструкции по возможностям данной СУБД.

Создание таблиц

Нет ничего проще, чем создать новую таблицу при помощи MS Access 2007:

  1. После открытия базы данных переходим на вкладку «Создание».
  2. Щелкаем по иконке «Таблица», она первая слева.
  3. Перед нами визуальное представление таблицы со стандартным названием «Таблица 1» и автоинкрементным полем «Код».
  4. Можно приступать к вводу данных во второй столбец. После ввода строки необходимо нажать клавишу Enter. Столбец автоматически переименуется в «Поле 1», поле «Код» примет значение единицы, станет доступным ввод данных в следующую строку.
  5. Чтобы переименовать столбец, достаточно кликнуть по нему мышью два раза. Желательно задавать имена столбцов без пробелов!
  6. Строитель таблиц в Access 2007 очень умный. Стоит вам в первой строке новой таблицы ввести в поле значение типа «Дата», как в следующей строке того же столбца вам автоматически предложат воспользоваться календарем.
  7. Для завершения создания таблицы необходимо ее сохранить, нажав на соответствующую иконку или сочетание клавиш CTRL+S.

Многим пользователям удобнее перейти в режим «Конструктор» для более наглядной работы над полями таблицы, ведь в данном режиме можно задавать типы полей, ограничения на значения. В этот режим можно перейти в любой момент работы с таблицей, достаточно лишь нажать на соответствующую кнопку на панели.

Создание запросов

Рассмотрим, как создавать в MS Access запросы. Создадим в версии 2007 простой запрос в режиме конструктора:

  1. На панели "Меню" выберите на вкладке «Создание» кнопку «Конструктор запросов».
  2. Перед вами сразу появится окошко выбора таблиц. Щелкните по каждой таблице, из которой необходимо выбрать данные. Следует помнить, что выбор вы сможете осуществить, только если несколько таблиц можно логически увязать друг с другом при помощи какого-либо поля.
  3. Если у вас выбрано несколько таблиц, необходимо построить между ними связь, протянув мышью линию от одного поля одной таблицы до связываемого поля другой.
  4. Теперь двойным щелчком выберите поля из каждой таблицы, которые вы хотите видеть в результате.
  5. На панели меню на вкладке «Конструктор» нажмите на большой восклицательный знак. Перед вами в табличной форме предстанет результат вашей выборки.

Это самая общая формула создания запросов. Для более сложных запросов читайте справку к программе или воспользуйтесь специальными пособиями.

Иногда даже начинающему пользователю хочется представить свои данные в более интересном формате, нежели простая таблица. Тогда на помощь ему придет инструмент MS Access - "Формы".

Мастер форм

На примере Access 2007 рассмотрим, как пользоваться мастером форм:


Для создания более сложных форм необходимо воспользоваться соответствующим конструктором.

Рассмотрев эти инструкции, можно сделать вывод, что MS Access - это неплохие возможности за небольшую стоимость. Понятный интерфейс, распространенность, встроенные вспомогательные конструкторы и мастера - все это облегчает проектирование базы данных и работу с ней.

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

MS Access относится к СУБД реляционного типа. Это значит, что в БД информация организована в виде взаимосвязанных таблиц. Как и любая другая СУБД,MS Access предназначена для создания БД и управления ими. Основными функциями ее являются: добавление в БД записей, удаление из БД записей, обновление значений полей в записях, поиск в БД записей, удовлетворяющих заданным условиям. Для выполнения этих операций используется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей из таблицы, либо изменения в таблицах. Запросы к базе формируются на языке SQL.

В MS Access реализованы функции управления данными: защита данных от несанкционированного доступа, поддержка многопользовательского режима работы с данными, обеспечение целостности данных.

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

Таблица – это основной объект БД, хранилище информации. В базе может быть несколько таблиц, отражающих сведения из разных источников. Для совместной работы с данными из нескольких таблиц устанавливаются связи между таблицами.

К другим объектам, которые могут быть созданы в БД, относятся запросы, формы, отчеты, макросы, модули.

Запрос позволяет проанализировать данные с помощью групповых операций, вычислений и отбора данных, удовлетворяющих некоторым условиям.

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

Отчет служит для отображения данных при выводе на печать.

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

Модуль – это набор описаний и процедур на языке Visual Basic для приложений, собранных в одну программную единицу.

СУБД MS Access полностью совместима с такими компонентами пакетаMicrosoft Office , какMS Excel, MS Word, MS Outlook . ВзаимодействиеMS Accessс MS Outlook позволяет создавать и отправлять сообщения электронной почты с формами для ввода данных.

МS Access может работать с разными форматами файлов других систем, поддерживающих стандарт открытого доступа к данным ODBC (Open Database Connectivity ) –Oracle, Microsoft SQL Server, Sybase SQL Server . Стандарт ODBC определяет язык и набор протоколов для обмена между пользовательским приложением и самими данными, хранящимися на сервере, и. используется как средство коммуникации между настольным персональным компьютером (клиентом) и сервером.

С помощью Office Access можно сохранить отчет в форматеPDF (Portable Document Format ) илиXPS (форматXML Paper Specification ). Это позволяет произвести распечатку или публикацию файла, а также переслать его по электронной почте. Можно опубликовать свои файлы в библиотеках или перемещать приложение вWindows SharePoint Services , что дает возможность участникам группы легко взаимодействовать друг с другом посредством обозревателя.

В MS Access существуют функции и технологии, увеличивающие производительность системы: технологияRushmore ;быстрая сортировка (QuickSort); средство наиболее часто выполняемых запросов (Top Value queries) .

MS Access представляет мощный инструментарий для разработчика. Универсальная среда разработчика со встроенным отладчиком обеспечивает возможности программирования на уровнеMicrosoft Visual Basic .

MS Access имеет большое количество инструментальных средств для эффективного выполнения практически любых работ с БД. К ним относятся Мастера и Построители.

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

Многие Мастера можно объединить в группы:

    Создание новой БД и новых объектов БД – таблиц, форм, запросов, подчиненных отчетов и форм, списков и полей со списком в формах, страниц доступа к данным, новой БД MS SQL Server, с которой связывается новый проект MS Access.

    Связывание объектов внутри БД и с документами других приложений – полей подчиненных форм и отчетов, таблицы или списка HTML из Интернета или интрасети с таблицей MS Access, папок Exchange или Outlook с таблицей БД MS Access, данных электронных таблиц с таблицей Microsoft Access, помещение сводной таблицы MS Excel в форму MS Access. и др. Связывание обеспечивает реализацию функций Импорта и Экспорта объектов БД.

    Создание элементов управления - кнопок и групп переключателей в форме, кнопок на странице доступа к данным.

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

    Анализ, сервис и преобразование – анализ эффективности БД и выдача списка рекомендаций по ее совершенствованию;генерация отчета MSAccess, отображающего характеристики структуры объектов БД; выдача сведений о модеме после нажатия кнопки «Автонабор» в режиме формы; преобразование БД MSAccess в БД MS SQL Server; преобразование макросов в программы Visual Basic.

Построители служат вспомогательным средством, облегчающим работу пользователей. К ним относятся:

    Построитель запросов – создает правильный синтаксис для запроса;

    Построитель полей – создает поля в таблице;

    Построитель строк подключения ODBC – создает правильный синтаксис для связи с объектами ODBC;

    Построитель смарт-тегов – отображает список доступных смарт-тегов и их действий. С помощью смарт-тегов можно сэкономить время при выполнении тех действий в приложении Ms Access, для которых обычно предназначены другие программы. Например, с помощью смарт-тега имени пользователя происходит добавление имени в папку MS Outlook «Контакты».

    Построитель цветов – предлагает палитру для создания настраиваемых цветов.

    Построитель выражений – помогает пользователю составить в интерактивном режиме необходимую формулу.

Выражение представляет собой однозначно заданную пользователем последовательность элементов, состоящую из идентификаторов, операторов (+, -, *, ^ и др.), функций и констант. Выражения могут быть использованы в различных местах базы данных: в таблицах, запросах, формах, отчетах и макросах. В MS Access выражения используются, когда необходимо выполнить следующие действия:

    Вычислить значения, не содержащиеся в данных в явном виде. Можно вычислить значения для полей таблицы, запросов и элементов управления в форме или отчете.

    Задать значение по умолчанию для поля таблицы или элемента управления в форме или отчете. Заданные значения отображаются при открытии таблицы, формы или отчета.

    Задать условие на значение. Условия на значение контролируют значения, которые могут быть введены в поле или элемент управления.

    Задать условие отбора в запросе.

В MS Access имеются службы Графического конструктора связей (Graphical System Relationships Builder – графический построитель схемы данных) и Графического запроса (Graphical query). Эти средства позволяют не только создать БД, но и наглядно сконструировать ее.

18.03.2014

Источник: Журнал "Технологии Защиты" № 1, 2014

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

Терминология

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

База данных - представленная в объективной форме совокупность самостоятельных материалов, систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины.

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

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

Разработчики различных приложений, в том числе и разработчики СКУД, работают именно с СУБД и выбирают СУБД под свои нужды.

Требования к СУБД, применяемым в СКУД

Какие же особенные требования следует предъявить к СУБД, используемой в СКУД с точки зрения пользователя?

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

Виды СУБД

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

Способ доступа к БД:

  1. Клиент-серверные СУБД
  2. Файл-серверные СУБД
  3. Встраиваемые СУБД

В клиент-серверных СУБД (Microsoft SQL Server, Oracle, Firebird, PostgreSQL, InterBase, MySQL и др.) вся обработка данных ведётся в одном месте, на сервере, в том же месте, где хранятся (обычно) данные, при этом к файлам данных имеет доступ только один сервер, одна система - это сама СУБД. Приложения-клиенты при этом посылают запросы на обработку и получение данных из СУБД и получают ответы; приложения-клиенты не имеют непосредственного доступа к файлам данных. Все промышленные СУБД на данный момент являются именно клиент-серверными.

В файл-серверных СУБД (Paradox, Microsoft Access, FoxPro, dBase и др.), наоборот, приложения имеют общий доступ ко всем файлам базы данных (хранящимся обычно в каком-то разделяемом файловом хранилище) и совместно обрабатывают эти данные. Каждое приложение самостоятельно обрабатывает данные. На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах - недостатком. Проблема в том, что файл-серверные СУБД не имеют многих преимуществ клиент-серверных, таких как: кэширование данных, параллелизм запросов, высокая производительность и обладают рядом недостатков (сложности с поддержанием целостности базы, восстановлением, блокировками и т.д.), что приводит в свою очередь к пониженной надёжности и производительности. Состояние базы в файловых СУБД необходимо постоянно отслеживать и проводить операции по её «лечению» с помощью встроенных или сторонних утилит.

Встраиваемые СУБД (SQLite, Firebird Embedded, Microsoft SQL Server Compact и др.) поставляются в составе готового программного продукта, не требуя процедуры самостоятельной установки. Встраиваемые СУБД предназначены для локального хранения данных приложения и не рассчитаны на коллективное использование в сети. К примеру, встраиваемая бесплатная СУБД SQLite широко используется в известной мобильной ОС Android, разработанной в компании Google, и во многих мобильных приложениях.

Схема лицензирования:

  1. Бесплатные СУБД
  2. Коммерческие промышленные СУБД (большинство производителей предлагают также бесплатную ограниченную версию)

Файл-серверные и встраиваемые СУБД практически все являются бесплатными, из бесплатных клиент-серверных СУБД наиболее известные: Firebird, PostgreSQL и MySQL.

Чисто коммерческий продукт, разработанный компанией Borland: СУБД InterBase. Ранее у этой СУБД была бесплатная версия с открытым исходным кодом: InterBase 6.0, но проект InterBase 6.0 Open Source Edition перестал поддерживаться компанией Borland. В 2001 году группа энтузиастов создала отдельный Open source проект СУБД Firebird, упомянутой выше, который получил широкую известность и множество поклонников среди разработчиков.

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

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

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

Плюсы коммерческих СУБД: хорошая задокументированность, высокая производительность, масштабируемость, надёжность, поддерживаемость, наличие встроенных инструментов для разработки и администрирования. Вероятность того, что компания Oracle, Microsoft или IBM перестанут поддерживать свои системы, стремится к нулю.

Минусы : они более требовательны к ресурсам, чем бесплатные аналоги, стоят денег и немалых.

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

Компания-производитель Бесплатные версии Ограничения
Microsoft SQL Server 2005 Express Edition (2005, 2008, 2008 R2, 2012) Размер базы данных - до 4 Гб, количество баз не ограничено, использует не более 1 Гб оперативной памяти и только 1 процессор (ядро) на многопроцессорных и многоядерных машинах. Поддерживаемые платформы: только Windows 2005 – только x86, 2008 – x86 и x64.
SQL Server 2008 Express Edition
SQL Server 2008 R2 Express Edition Размер базы данных - до 10 Гб, количество баз не ограничено, использует не более 1 Гб оперативной памяти и только 1 процессор (ядро) на многопроцессорных и многоядерных машинах. Поддерживаемые платформы: только Windows x86 и x64.
SQL Server 2012 Express Edition
Oracle Oracle Database 11g Express Edition, (Oracle Database XE) Суммарно до 11Гб пользовательских данных, использует не более 1Гб оперативной памяти и только 1 процессор (ядро) на многопроцессорных и многоядерных машинах. Поддерживаемые платформы: Windows x86, Linux x64.
IBM IBM DB2 Express-C Размер базы не ограничен, используется до 4Гб оперативной памяти и до 2-х процессоров. Поддерживаемые платформы: Windows x86 и x64, Linux x86 и x64, Unix x86 и x64, Solaris x86 и x64, Mac OS X

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

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

СУБД в СКУД

В таблице ниже приведены данные из открытых источников относительно типа применяемой СУБД в популярных в России системах контроля и управления доступом.

Производитель СКУД СУБД
Parsec ParsecNET 3 Microsoft SQL Server (в поставке 2005 Express, поддерживаются также версии 2008, 2008 R2, 2012) – центральная БД; SQLite - локальные базы рабочих станций.
Elsys Бастион 2 Oracle (в поставке 11g Express)
Perco S20 Firebird
НВП Болид Орион ПРО MS SQL Server (в поставке 2005 Express)
РусГард RusGuard MS SQL Server (в поставке 2008 R2 Express)
Равелин ЛТД Gate Microsoft Access
ПромАвтоматика Сервис Сфинкс MySQL
Кодос ИКБ Кодос Firebird
TSS Семь Печатей Firebird
Bosсh Building Integration System BIS Microsoft SQL Server (в поставке 2008 Express Edition)
Honeywell NexWatch (Honeywell Security) Microsoft SQL Server
Siemens SiPass Microsoft SQL Server
ААМ Системз Apacs Microsoft SQL Server, Firebird
Lyrix Oracle, Microsoft SQL Server, Borland InterBase

Как видно, большинство производителей СКУД поставляют бесплатную версию промышленной клиент-серверной СУБД Microsoft SQL Server Express Edition и свободную (бесплатную) кроссплатформенную СУБД Firefird (примерно 50 на 50).

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

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

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

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

  • При выборе СКУД обратите внимание на то, какая СУБД поставляется совместно с системой.
  • Если вы эксплуатируете СКУД, то выясните, какая СУБД в ней используется.
  • Оцените трафик данных и нагрузку в вашей системе, чтобы определиться с требуемыми аппаратными ресурсами сервера СУБД и нужной редакцией СУБД (проконсультируйтесь у производителя вашей СКУД при необходимости).
  • Если в вашей СКУД используется Express-версия Microsoft SQL Server или Oracle, то необходимо задаться вопросом: «Насколько нам хватит бесплатного объёма базы?». Настройте периодическое удаление из базы старых событий средствами СКУД (если таковые имеются) либо же рассмотрите вопрос о миграции на платную неограниченную версию СУБД.
  • Настройте резервное копирование баз данных средствами СКУД или же средствами СУБД и регулярно проверяйте его выполнение.
  • Найдите специалиста по СУБД (администратора), к которому можно будет обратиться в случае повреждения базы данных, узнайте в технической поддержке производителя СКУД возможность предоставления такого рода услуг.