- •Содержание
- •Введение
- •1. Архитектура информационно-вычислительных систем
- •1.1. Эталонная модель взаимодействия открытых систем
- •1.2. Классификация и параметры сетей
- •1.3. Коммуникационные подсети
- •1.3.1. Общая характеристика коммуникационных подсетей
- •1.3.2. Метод доступа Ethernet
- •1.3.3. Метод доступа Arcnet
- •1.3.4. Метод доступа Token-Ring
- •1.4. Абонентские и терминальные системы
- •1.5. Контрольные вопросы
- •2. Методы оптимизации сетей эвм
- •2.1. Проблемы оптимизации сетей эвм
- •2.2. Структурный синтез и оптимизация топологии
- •2.2.1. Регулярные графы
- •2.2.2. Общая эвристическая схема
- •2.2.3. Алгоритм Прима
- •2.2.4. Метод насыщения сечения
- •2.3. Иерархические сети и сети с неоднородной средой
- •2.4. Оптимизация потоков и пропускных способностей
- •2.4.1. Алгоритм Форда-Фалкерсона
- •2.4.2. Выбор пропускных способностей
- •2.4.3. Метод девиации потока
- •2.4.4. Метод исключения ветвей при выпуклой функции стоимости
- •2.5. Оценка надежности и коэффициента готовности
- •2.6. Контрольные вопросы
- •3. Многоуровневое управление сетью
- •3.1. Сети с общим каналом
- •3.1.1. Принцип селекции информации
- •3.1.2. Методы доступа в коммуникационную подсеть
- •3.1.3. Управление информационным каналом с использованием арбитража
- •3.2. Коммутация сообщений и пакетов
- •3.3. Маршрутизация информации
- •3.3.1. Общая характеристика маршрутизации
- •3.3.2. Лавинные алгоритмы
- •3.3.3. Случайная маршрутизация
- •3.3.4. Фиксированная табличная маршрутизация
- •3.3.5. Адаптивная табличная маршрутизация
- •3.4. Целостность и безопасность сетей
- •3.4.1. Основные пути утечки информации и несанкционированного доступа в ивс
- •3.4.2. Общая характеристика угроз, служб и механизмов обеспечения безопасности
- •3.4.3. Компьютерные вирусы
- •3.4.4. Защита операционных систем и баз данных
- •3.4.5. Практические рекомендации по обеспечению безопасности информации в коммерческих каналах телекоммуникаций
- •3.5. Контрольные вопросы
- •4. Сетевые операционные системы
- •4.1. Структура сетевой операционной системы
- •4.2. Одноранговые сетевые ос и ос с выделенными серверами
- •4.3. Ос для рабочих групп и ос для сетей масштаба предприятия
- •4.4. Проблемы взаимодействия операционных систем в гетерогенных сетях
- •4.4.1. Понятия "internetworking" и "interoperability"
- •4.4.2. Гетерогенность
- •4.5. Основные подходы к реализации взаимодействия сетей
- •4.5.1. Шлюзы
- •4.5.2. Мультиплексирование стеков протоколов
- •4.5.3. Использование магистрального протокола
- •4.5.4. Вопросы реализации
- •4.5.5. Сравнение вариантов организации взаимодействия сетей
- •4.6. Современные концепции и технологии проектирования операционных систем
- •4.6.1. Требования, предъявляемые к ос
- •4.6.2. Расширяемость
- •4.6.3. Переносимость
- •4.6.4. Совместимость
- •4.6.5. Безопасность
- •4.7. Построение сетевых баз данных: одно- и многопользовательские решения
- •4.7.1. Персональные базы данных
- •4.7.2. Многопользовательские базы данных
- •4.7.3. Выбор подхода при построении многопользовательской базы данных
- •4.8. Контрольные вопросы
- •Список использованных источников
4.7. Построение сетевых баз данных: одно- и многопользовательские решения
Потребности в хранении и обработке больших объемов информации привели к появлению систем управления базами данных (СУБД), которые настолько прочно вошли в нашу жизнь, что без них уже немыслима работа современного предприятия или организации.
Стремительное развитие этой области знаний, наличие на рынке большого количества самых разнообразных систем и технологий делают зачастую очень сложным вопрос выбора правильного подхода к реализации конкретной задачи. В данной статье весь спектр существующих на сегодняшний день СУБД рассматривается сквозь призму их применимости к решению различных классов задач.
При построении БД необходимо сразу решить, в каком режиме будет осуществляться доступ к данным:
в однопользовательском режиме, когда возможна одновременная работа с данными только одного пользователя (персональная БД);
в многопользовательском режиме, когда с БД одновременно могут работать несколько пользователей (многопользовательская БД).
4.7.1. Персональные базы данных
Для класса персональных БД существует большое количество СУБД, работающих на ПК под управлением DOS и WINDOWS. Системы, работающие под WINDOWS, очень быстро завоевали популярность благодаря красивому и удобному интерфейсу, простоте формирования форм и отчетов и возможности включения в них графиков, а также способности хранить изображения в виде полей записей.
В зависимости от набора предоставляемых возможностей и требований к квалификации разработчика эти СУБД можно разбить на две категории:
системы, доступные для непрограммистов;
системы, требующие профессиональных знаний в области программирования и обладающие расширенным набором возможностей.
4.7.2. Многопользовательские базы данных
Многотерминальная система
Суть этого подхода заключается в том, что к одной машине (серверу) подключается большое количество терминалов (по числу рабочих мест, рис. 4.8). Сервер осуществляет хранение, обработку и обращение к данным. Терминалы не выполняют никакой работы при подготовке и обработке данных, они служат только для ввода данных и отображения информации. Подобные системы показывают высокие результаты в плане надежности и производительности. К сожалению, использование этого подхода в его классическом виде не очень эффективно при создании территориально распределенных систем. С другой стороны, в последнее время наблюдается постепенный отход от применения алфавитно-цифровых терминалов в пользу использования графических интерфейсов на X-терминалах, что резко повышает стоимость подобных систем.
В последнее время наблюдается существенное уменьшение количества разработок, построенных с использованием этого подхода. Это, в первую очередь, связано с тем, что по параметрам цена/производительность более предпочтительным оказывается вариант использования архитектуры клиент-сервер.
Многопользовательская база данных на файл-сервере
При наличии локальной сети персональных компьютеров можно использовать второй подход. Его сущность заключается в том, что база данных размещается на одном из компьютеров, который в этом случае выступает как файл-сервер (рис. 4.9).
При этом манипуляция данными осуществляется следующим образом. База данных (а иногда и код приложения) хранится на сервере, а вся работа по обновлению, хранению, добавлению и отображению информации выполняется в локальной системе. Файл-сервер в этом случае выступает в роли удаленного жесткого диска для базы данных и кода приложения. Большинство персональных СУБД поддерживает механизм блокировок для обеспечения целостности данных. Таким образом, эти системы могут быть использованы для построения и работы с подобной многопользовательской базой данных. При этом выбор СУБД определяется уровнем сложности системы и профессиональным уровнем разработчика. Если создаваемая база данных относительно мала - размер каждой из таблиц не превышает 25 Мбайт, и одновременный доступ к ней будет производить небольшое количество пользователей, то этот подход работает прекрасно. Но производительность такой системы начинает резко падать при увеличении размеров таблиц и количества пользователей, пытающихся одновременно обратиться к базе данных. Особенность этого подхода заключается в том, что при просмотре таблицы ее содержимое полностью передается по сети на локальную машину. Сети имеют сравнительно низкую пропускную способность, так что если один из пользователей начнет выполнять сортировку в большой таблице, то это может сделать работу остальных пользователей в сети невозможной на долгое время. Если же локальная сеть подключена к территориально разнесенной сети (WAN - Wide Area Network) и требуется обеспечить возможность работы с базой данных с удаленного компьютера, то необходимость пересылки больших объемов данных по сетевым мостам и маршрутизаторам через несколько сетевых сегментов еще более обострит проблему.
Рис. 4.8. Многотерминальная система
Архитектура клиент-сервер
В системе, построенной на этом подходе, обработка данных разделяется между двумя или более компьютерами. При этом клиентская часть системы (front end) использует ПК для представления данных и манипуляции ими. Сервер (back end) используется для хранения, сортировки, изменения, комбинирования и защиты данных (рис. 4.10). В противоположность предыдущему подходу по сети передаются не таблицы, а выборки, являющиеся результатами выполнения запросов, написанных на языке SQL.
Рис. 4.9. Сеть персональных компьютеров с файл-сервером
Совместное использование двух этих компонентов обеспечивает большую гибкость при взаимодействии с данными, чем два предыдущих подхода. Использование архитектуры клиент-сервер позволяет более полно использовать все ресурсы системы (клиентов, сервера и сети). Разделение задач между клиентом и сервером позволяет использовать мощность всех входящих в систему компьютеров и в то же время пользоваться преимуществами централизованного хранения и возможностью удаленного доступа к данным. В дополнение к этому разработчик получает возможность совмещать в своей системе различные операционные системы, базы данных и клиентские части. Модульная структура системы в архитектуре клиент-сервер облегчает процесс ее модификации: отдельные части системы можно изменять независимо друг от друга.
Рис. 4.10. Система с архитектурой клиент-сервер
Можно, к примеру, внести изменения в клиентскую часть или перенести сервер на более мощную машину. Пусть, например, разработчик построил систему типа клиент-сервер с использованием пакета PowerBuilder (инструмент для создания клиентских приложений), работающего на ПК под WINDOWS, для доступа к данным, хранящимся на сервере Oracle, работающем под OS/2. Позднее было решено, что использование RISC-сервера позволит повысить производительность. При этом не потребуется переписывать код приложения или менять операционную систему на ПК-клиенте для того, чтобы Oracle стал работать под UNIX. То же самое приложение можно использовать с базой данных на сервере Oracle, работающем под NetWare NLM. Использование архитектуры клиент-сервер позволяет более гибко подходить к проблеме выбора инструментов для построения клиентских приложений. Например, разработчик может реализовать большую часть своего приложения на Visual Basic, а для создания специальных отчетов использовать какой-то другой инструмент. С другой стороны, архитектура клиент-сервер не лишена недостатков. Возможность совмещения нескольких операционных систем порождает усложнение инфраструктуры разрабатываемой системы, которая может быстро стать технически запутанной. В конце концов разработчик часто сталкивается с необходимостью поддержки нескольких операционных систем - одной для сети, одной или более для сервера базы данных и одной или нескольких для клиентов, что естественным образом повышает сложность управления и администрирования подобной системы.