IT-инновации для Вашего бизнеса

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

Наиболее важное и принципиальное различие всех этих БД - в способах организации доступа к информации в БД в условиях работы в корпоративной сети. С этой точки зрения все базы данных можно разделить на два больших класса:

  1. БД, работающие по технологии ФАЙЛ-СЕРВЕР;
  2. БД, работающие по технологии КЛИЕНТ-СЕРВЕР.

Файл-сервер

Обработка запроса одного пользователя:
- Обращение к БД (запрос)
- Перекачка данных с блокировкой доступа других пользователей
- Обработка данных на компьютере пользователя

Схема файл-серверной работы

Для наглядности рассмотрим конкретные примеры. Допустим, Вам необходимо просмотреть отправленные платежные поручения за период с 19 по 25 мая на сумму 5000 рублей. Пользователю необходимо будет запустить на своем компьютере клиентское приложение, работающее в БД с платежными поручениями, и ввести нужные критерии отбора. После чего на Ваш компьютер перекачается с сервера базы данных и загрузится в оперативную память файл, содержащий все документы данного вида за весь период на любые суммы. Запущенное на компьютере пользователя клиентское приложение, работающее с БД, само проведет обработку этой информации (отсортирует их), после чего выдаст ответ (на экране появится список платежных поручений, удовлетворяющих Вашим критериям). После этого Вы выберете нужное платежное поручение и попытаетесь отредактировать (изменить) в нем одно поле - например, дату. Во время редактирования происходит блокировка источника данных, то есть всего файла, содержащего этот документ. Это означает, что файл будет либо совсем не доступен остальным пользователям, либо доступен только в режиме просмотра. Причем подобного рода захват происходит даже не на уровне записи, то есть одного документа, а заблокированным является целый файл - то есть вся таблица, содержащая аналогичные документы. Только после полной обработки этого поля и выхода из режима редактирования данный файл платежных поручений будет разблокирован от захвата пользователем. Если же данные хранятся в более объемных объектах, например, в одном файле содержатся платежные поручения и о поступлении средств, и об отправке, то еще большая часть информации будет не доступна. Вы будете работать с одним полем "дата" в одном документе - остальные сотрудники предприятия будут ждать, пока Вы не закончите.

Недостатки ФАЙЛ-СЕРВЕРНОЙ системы очевидны:

  • Очень большая нагрузка на сеть, повышенные требования к пропускной способности. На практике это делает практически невозможной одновременную работу большого числа пользователей с большими объемами данных.
  • Обработка данных осуществляется на компьютере пользователей. Это влечет повышенные требования к аппаратному обеспечению каждого пользователя. Чем больше пользователей, тем больше денег придется потратить на оснащение их компьютеров.
  • Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.
  • Безопасность. Для обеспечения возможности работы с такой системой Вам будет необходимо дать каждому пользователю полный доступ к целому файлу, в котором его может интересовать только одно поле.

Клиент-сервер

Обработка запроса одного пользователя:
- Обращение к БД (SQL-запрос)
- Передача ответа - результата обработки

Схема клиент-серверной работы

При необходимости произвести обработку информации, хранящейся в БД, запущенное на компьютере пользователя клиентское приложение, работающее с БД, формирует запрос на языке SQL (название от начальных букв - Structured Query Language). Сервер базы данных принимает запрос и обрабатывает его самостоятельно. Никакой массив данных (файл) по сети не передается. После обработки запроса на компьютер пользователя передается только результат - то есть, в предыдущем примере, - список платежных поручений, удовлетворяющих нужным критериям. Сам же файл, в котором хранились данные, послужившие источником для обработки, остается незаблокированным для доступа самого сервера по запросам других пользователей.

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

Таким образом, все вышеперечисленные недостатки ФАЙЛ-СЕРВЕРНОЙ схемы устраняются в архитектуре КЛИЕНТ-СЕРВЕР:

  • Массивы данных не перекачиваются по сети от сервера БД на компьютер пользователя. Требования к пропускной способности сети понижаются. Это делает возможным одновременную работу большого числа пользователей с большими объемами данных.
  • Обработка данных осуществляется на сервере БД, а не в компьютере пользователей. Что позволяет использовать более простые, а значит, дешевые компьютеры на клиентских местах.
  • Блокировки (захвата) данных одним пользователем не происходит.
  • Обеспечивается доступ пользователя не к целому файлу, а только к тем данным из него, с которыми пользователь имеет право работать.

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

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

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


ООО «Информатор» предлагает целый ряд готовых "под ключ" современных клиент-серверных систем для автоматизации организаций с территориально-распределенной структурой:



E-mail: korvin@sarmat-soft.ru
Позвонить по Skype

Телефон: +7(928) 181-19-25
Skype: korvintag

Rambler's
                   Top100

©1999-2013 ООО «ИНФОРМАТОР»