Масштабируемость


Масштабируемыми (scalability) называют приложения, которые могут быть расширены (распределены) на большее число компьютеров, (возможно, использующих разные аппаратно-программные платформы) для обслуживания большего числа пользователей, но при условии, что такое расширение (то есть установка приложений на новые подключаемые к сети компьютеры) не потребует какой-либо переработки самого приложения. Многопользовательские системы на базе настольных СУБД сильно ограничены как по числу клиентов, так и по размерам баз данных, причем снять эти ограничения невозможно даже за счет наращивания ресурсов компьютеров, т. к. они присущи самим СУБД. Системы же, использующие серверы баз данных, могут поддерживать тысячи пользователей и огромные базы данных (в сотни гигабайт) за счет увеличения производительности как аппаратной, так и программной платформы сервера.
Безопасность
Сервер базы данных предоставляет более мощные средства защиты данных от несанкционированного доступа, чем настольные СУБД. Права доступа могут устанавливаться очень гибко — до уровня полей таблиц. Можно, например, вообще запретить пользователю прямое обращение к таблицам, регламентируя взаимодействие пользователя только через промежуточные объекты — представления и хранимые процедуры.
Способы преобразования приложений Access для использования их с SQL Server
Предположим, у вас имеется приложение Microsoft Access, которое необходимо приспособить для работы с сервером базы данных (например, Microsoft SQL Server). Существует несколько способов выполнения такого преобразования.

  • Можно перенести все таблицы или часть таблиц, хранящиеся в приложении Access, на сервер, а затем присоединить их к приложению Access с помощью механизма связывания таблиц. Никакие другие объекты приложения при этом не изменятся.
  • Можно средствами Microsoft Access 2010 подключить клиентское приложение к базе данных на SQL Server. Предварительным шагом к созданию такого приложения является преобразование его таблиц в формат Microsoft SQL Server и перенос их с клиента на сервер.

Далее клиентское приложение можно постепенно оптимизировать, ликвидируя в первую очередь узкие места, оставляя по возможности интерфейс неизменным. В процессе развития приложения в качестве инструментальной среды для реализации дополнительных функциональных возможностей может быть выбрана среда программирования Visual Basic или средства создания динамических Web-страниц для работы с данными с помощью программы просмотра Интернета.

  • Можно перенести все объекты данных на SQL Server, а объекты приложений — в новый файл проекта Access 2010 (файл с расширением adp), создавая таким способом полноценное клиент-серверное приложение.

Чтобы получить клиент-серверное приложение, следует воспользоваться специальной надстройкой Accees 2002, называемой Мастер преобразования в формат SQL Server для интеграции приложения Access 2010 с SQL Server. Она позволяет преобразовать и перенести базу данных Access в существующую или новую базу данных на SQL Server, 7.0 или 6.5 (или на ограниченной версии сервера MSDE или MSDE2000) или создать новый проект Access 2002.
А перед этим можно разделить файл приложения Access на два файла: файл объектов данных и файл объектов приложения.
 
Разделение баз данных
Небольшие приложения Microsoft Access обычно состоят из одного файла базы данных. Сетевое приложение удобнее создавать так, чтобы оно включало два файла MDB: первый — файл объектов данных (в нем хранятся таблицы), второй — файл объектов приложения (в нем хранятся все остальные объекты — формы, запросы, отчеты, страницы доступа к данным, макросы и модули VBA). При этом в файле объектов приложения устанавливаются связи с таблицами, хранящимися в файле объектов данных.
Файл объектов данных называют частью заднего плана приложения (back-end), a файл объектов приложения — частью переднего плана (front-end). Файл объектов данных обычно размешается на файловом сервере, а копии приложений переднего плана — на клиентских рабочих станциях.
Разделение базы данных дает следующие преимущества.

  • В однопользовательской среде можно обновлять объекты приложения, не оказывая влияния на существующие данные. При этом приложение обновляется простой заменой файла объектов приложения. Альтернативой этому способу является трудоемкая и часто вызывающая ошибки операция обновления объектов приложения в базе данных, состоящей из одного файла.
  • В многопользовательской среде с одними и теми же данными могут совместно работать все пользователи приложения, поскольку файл объектов данных размещается на файловом сервере. Файл объектов приложения тоже можно разместить на файловом сервере для общего доступа, а можно для каждого пользователя создать отдельную копию файла объектов приложения, поместив ее на локальный диск клиентской рабочей станции. Тогда каждый пользователь сможет быстро запускать локальную копию приложения и совместно пользоваться файлом объектов данных, расположенным на файловом сервере. Использование локальных копий приложения повышает его производительность, тогда как запуск несколькими пользователями приложения, расположенного на сервере, увеличивает нагрузку на сеть. Поэтому в сетевой среде рекомендуется использовать разделение базы данных. В такой среде легче обновлять разделенную базу данных, поскольку обновление файла объектов приложений не затрагивает файла объектов данных на сервере. Если в многопользовательской среде используется несколько копий файла объектов приложения, то нужно не забывать обновлять все эти копии.

Чтобы изучить механизм разделения базы данных, используйте копию нужной базы данных, помещенную, например, в папку Shared (Общие). Для разделения файла базы данных в Microsoft Access 2010 используется специальная надстройка — Мастер разделения баз данных. Далее описана процедура разделения файла базы данных.

  1. Откройте в Access 2010 базу данных, которую вы будете разделять. Например, можно разделить базу данных "Борей", входящую в комплект примеров Microsoft Access 2010.
  2. Активизируйте окно базы данных и выберите команду Сервис, Служебные программы, Разделение баз данных (Tools, Database Utilities, Database Splitter). Появится диалоговое окно Мастера разделения базы данных, приведенное на . В окне сообщается, что таблицы текущей базы данных будут перемещены в новую базу данных и что эта операция может занять некоторое время. Рекомендуется создать резервную копию базы данных перед ее разделением на случай неожиданного сбоя работы мастера или операционной системы. Для разделения базы данных нажмите кнопку Разделить (Split Database).
  1. После нажатия кнопки Разделить (Split Database) появится диалоговое окно Создание базы данных с таблицами (Create Back-end Database), представленное на . В поле Имя файла (File name) отображается имя файла объектов данных, по умолчанию состоящее из имени базы данных и специального суффикса, например: Борей _be.mdb (be — от back-end).
  1. Нажмите кнопку Разделение (Split). После процесса разделения базы данных (он может длиться несколько минут) появится сообщение, что база данных успешно разделена .
  1. Нажмите кнопку ОК. Щелкните по ярлыку Таблицы (Tables) и окне базы данных. Слева от всех таблиц появятся стрелки, означающие, что таблицы хранятся во внешнем файле.

Для того чтобы убедиться, что все связи с таблицами во внешнем файче установлены правильно, выберите команду Сервис, Служебные программы, Диспетчер связанных таблиц (Tools, Database Utilities, Linked Table Manager). Появится диалоговое окно Диспетчер связанных таблиц (Linked Table Manager), в котором указаны пути расположения всех связанных таблиц (рис. 19.5). С помощью Диспетчера связанных таблиц можно выбрать таблицы для обновления путей к соответствующим файлам на диске.