Популярные в настоящее время настольные СУБД обладают следующими основными свойствами:
· имеют визуальные средства проектирования форм, отчетов и приложений;
· предоставляют доступ к данным серверных СУБД;
· приобрели средства публикации данных в Internet и в той или иной степени поддерживают создание приложений для редактирования данных с помощью Web-браузеров;
· предоставляют возможность хранить описания правил ссылочной целостности внутри базы данных.
2. 3. Архитектура «клиент-сервер»
2.3.1. Недостатки архитектуры «файл-сервер»
Обработка данных с помощью больших и мини-ЭВМ, популярная в 70-е годы, имела свои преимущества, в определенной степени утраченные позже, в эпоху персональных компьютеров и настольных СУБД. В частности, одним из таких преимуществ была централизация хранения и обработки данных. Однако повсеместное увлечение настольными СУБД и их сетевыми версиями, вызванное доступностью и дешевизной, как самого программного обеспечения, так и его эксплуатации, заставило многих пользователей на долгие годы забыть о старой модели вычислений.
Недостатки настольных СУБД обычно проявляются не сразу, а лишь в процессе длительной эксплуатации, когда объем хранимых данных и число пользователей становятся достаточно большими — это приводит к снижению производительности приложений, использующих такие СУБД.
Поскольку настольные СУБД не содержат специальных приложений и сервисов, управляющих данными, вся реальная обработка данных в таких СУБД осуществляется в клиентском приложении. Это приводит к перегрузке сети при увеличении числа пользователей и объема данных.
Известно много случаев, когда для решения подобных проблем закупалось дорогое сетевое оборудование с целью увеличения пропускной способности сети. Нередко также применялся подход, приводящий к децентрализации хранения данных. Типичный пример подобного подхода — создание нескольких однотипных локальных баз данных, например, для различных подразделений компании или для разных временных периодов (лет, кварталов, месяцев), что облегчало работу, связанную с вводом данных, но повышало стоимость их статистической обработки и анализа — в этом случае нужно было обрабатывать данные из разных источников. Однако все эти меры позволяли лишь отложить на время решение проблемы снижения производительности, но не устраняли главного недостатка информационных систем, основанных на настольных СУБД, — обработки данных в клиентском приложении.
Радикальным решением проблемы сетевого трафика и иных проблем, возникающих при увеличении объема данных и числа пользователей, стал переход к архитектуре «клиент-сервер», позаимствовавшей многие достоинства старой модели вычислений, в частности централизацию хранения и обработки данных.
2.3.2. Состав «клиент-серверной» ИС
Принцип централизации хранения и обработки данных является базовым принципом архитектуры «клиент-сервер». Для его реализации используется так называемый сервер баз данных, который может манипулировать файлами с данными, — для клиентских приложений эти файлы абсолютно бесполезны (и, при правильной организации доступа пользователей к файлам в сети, вообще не должны быть доступны).
Сервер баз данных осуществляет целый комплекс действий по управлению данными. Основными его обязанностями являются:
· выполнение пользовательских запросов на выбор и модификацию данных, получаемых от клиентских приложений, функционирующих на персональных компьютерах локальной сети;
· хранение и резервное копирование данных;
· поддержка ссылочной целостности данных согласно определенным в базе данных правилам;
· обеспечение авторизованного доступа к данным на основе проверки прав и привилегий пользователей;
· протоколирование операций и ведение журнала транзакций.
В качестве рабочего места пользователя может быть использован обычный персональный компьютер, что позволяет не отказываться от привычной рабочей среды. Таким образом, простейшая клиент-серверная информационная система состоит из двух основных компонентов:
· сервера баз данных, управляющего данными и выполняющего запросы клиентских приложений;
· клиентских приложений, предоставляющих интерфейс пользователя и посылающих запросы к серверу.
2.3.3. Преимущества архитектуры «клиент-сервер»
Информационные системы, использующие архитектуру «клиент-сервер», обладают серьезными преимуществами по сравнению с их аналогами, созданными на основе сетевых версий настольных СУБД. Рассмотрим наиболее важные из них.
· Одним из важнейших преимуществ архитектуры «клиент-сервер» является снижение сетевого трафика при выполнении запросов. Например, при необходимости выбора пяти записей из таблицы, содержащей миллион записей, клиентское приложение посылает серверу запрос, который сервером анализируется на корректность и, если запрос корректен – выполняется. После этого результат запроса (те самые пять записей, а вовсе не вся таблица) передается обратно клиенту. Т. е. в клиентское приложение передается только результат запроса, и в этом случае сетевой трафик не зависит от числа записей в таблицах, к которым произведен запрос.
· Вторым преимуществом архитектуры «клиент-сервер» является возможность хранения бизнес-правил (например, правил ссылочной целостности или ограничений на значения данных) на сервере, что позволяет избежать дублирования кода в различных клиентских приложениях, использующих общую базу данных. Это означает, что требования к рабочим станциям могут быть не столь высоки. В конечном итоге снижается стоимость информационной системы даже при использовании дорогостоящей серверной СУБД и дорогого аппаратного обеспечения.
· Современные серверные СУБД обладают широкими возможностями управления пользовательскими привилегиями и правами доступа к различным объектам базы данных. Как правило, в базе данных хранятся сведения о ее пользователях, их паролях и привилегиях, а каждый объект базы данных принадлежит какому-либо пользователю. Владелец объекта может предоставить другим пользователям право использовать его тем или иным способом (например, позволить читать из него данные какому-либо другому пользователю).
· Современные серверные СУБД обладают также широкими возможностями резервного копирования и архивации данных.
Таким образом, технология «клиент-сервер» решает многие проблемы, возникающие при использовании настольных СУБД.
На сегодняшний день известно более двух десятков серверных СУБД, однако наиболее популярными, исходя из числа продаж, следует признать Oracle, Microsoft SQL Server, Informix, Sybase.
Сведения о производителях перечисленных выше СУБД представлены в следующей таблице:
Таблица 2. Серверные СУБД
СУБД
Производитель
Url
Oracle
Oracle Corp.
http://www.oracle.com/
Microsoft SQL Server
Microsoft
http://www.microsoft.com/
Informix
Informix
http://www.informix.com/
Sybase
Sybase
http://www.sybase.com/
Как правило, данные СУБД обладают следующими свойствами:
- реализованы для нескольких платформ;
- обладают удобными административными утилитами;
- позволяют осуществлять резервное копирование данных;
- поддерживают параллельную обработку данных в многопроцессорных системах;
- поддерживают выполнение распределенных запросов;
- поддерживают средства разработки и генераторы отчетов;
- поддерживают публикацию данных в Internet.
Иными словами, существующие на сегодняшний день возможности наиболее популярных серверных СУБД отражают современные тенденции развития информационных систем, такие как использование многопроцессорных систем и распределенной обработки данных, создание распределенных систем, в том числе с использованием технологий Internet, применение средств быстрой разработки приложений, создание систем поддержки принятия решений с использованием аналитической обработки данных, а также все более повышающиеся требования к надежности и отказоустойчивости информационных систем.