Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Microsoft SQL Server 2008 исправленная1.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
8.11 Mб
Скачать

Многопользовательские базы данных

По принципам обработки базы данных классифицируются следующим образом:

  • Централизованная база данных. При использовании этой технологии база данных располагается на одном компьютере, доступ к информации может осуществляться удаленно с других компьютеров сети. Централизованные базы данных с распределенным доступом являются наиболее используемыми в настоящее время. Для этой технологии возможны два способа обработки данных:

  • Файл-сервер. Эта архитектура предполагает назначение одного из компьютеров сети в качестве сервера, на котором будут храниться файлы базы данных. В соответствии с запросами пользователей файлы с файл-сервера передаются на компьютеры пользователей, где и осуще­ствляется основная часть обработки данных. Центральный сервер выпол­няет в основном только роль хранилища файлов, не участвуя в обработке самих данных. После завершения работы пользователи копируют файлы с обработанными данными обратно на сервер, откуда их смогут взять и об­работать другие пользователи. Недостатки такой организации работы оче­видны. При одновременном обращении множества пользователей к одним и тем же данным производительность работы резко падает, т. к. необходимо дождаться, пока пользователь, работающий с данными, завершит свою ра­боту. В противном случае возможно потеря изменений, сделанных од­ними пользователями, изменениями других пользователей.

  • Клиент-сервер. В данной архитектуре центральный сервер должен выполнять и основную часть обработки данных. Пользователи обращаются к централь­ному серверу с помощью специального языка структурированных запросов (SQL, Structured Query Language). Запросы пользователей принимаются сервером и запускают процессы обработки данных. В ответ пользователь по­лучает уже обработанный набор данных. Между клиентом и сервером пе­редается не весь набор данных, как это происходит в технологии файл-сервер, а только данные, которые действительно необходимы пользовате­лю. Запрос пользователя длиной всего в несколько строк способен поро­дить процесс обработки данных, затрагивающий множество таблиц и миллионы строк. В ответ клиент может получить лишь несколько чисел. Технология клиент-сервер позволяет избежать передачи по сети огромных объемов информации, переложив всю обработку данных на центральный сервер. Кроме того, рассматриваемый подход позволяет избежать кон­фликтов изменений одних и тех же данных множеством пользователей, которые характерны для технологии файл-сервер. Технология клиент-сервер реализует согласованное изменение данных множеством пользовате­лей, обеспечивая автоматическое соблюдение целостности данных. Эти и некоторые другие преимущества сделали технологию клиент-сервер весьма популярной. К недостаткам технологии клиент-сервер можно отнести вы­сокие требования к производительности центрального сервера. Чем больше пользователей обращаются к данным, и чем больше объем обрабатывае­мых данных, тем более мощным должен быть центральный сервер.

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

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

Технология клиент-сервер означает такой способ взаимодействия программ­ных компонентов, при котором они образуют единую систему. Клиент принимает от пользова­теля запрос, проверяет его синтаксис и генерирует SQL-запрос к серверу на предоставление тех или иных данных. Этот запрос передается на сервер по компьютерной сети. Сервер принимает и обрабатывает запрос к базе данных, затем в зависимости от типа запроса либо передает полученные в результате запроса данные об­ратно клиенту, либо изменяет содержимое базы данных. Клиент принимает переданные сервером данные, модифицирует их и пред­ставляет пользователю. Обработка сервером запроса включает в себя проверку полномочий клиента, обеспечение требований целостности, собственно выполнение запроса и пе­редачу клиенту необходимых результатов. При этом сервер занимается таки­ми проблемами, как поддержка параллельности работы многих клиентов, которая включает в себя, в первую очередь, согласование данных, одновре­менно предоставляемых и изменяемых разными клиентами. Подобная архи­тектура обладает следующими преимуществами:

  • Обеспечивается более широкий доступ к существующим базам данных.

  • Повышается общая производительность системы. Поскольку клиенты и сервер находятся на разных компьютерах, их процессы способны выпол­нять приложения параллельно.

  • Сокращается нагрузка на компьютерную сеть - в ответ на запрос клиента сервер возвращает ему гото­вые результаты запроса, а не все данные, необходимые для их получения.

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

  • Повышается уровень непротиворечивости данных, поскольку все проверки выполняются в одном месте.

  • Системы этого типа имеют встроенный механизм рабо­ты с запросами, в том числе и их отката. Он позволяет получить «слепок» базы данных на момент начала выполнения запроса на изменение данных без блокировки базы данных. И слепков таких может быть много: для каждой рабочей станции свой. В случае проблемы с выполнением (например «зависания», сбоя компьютера), выполнение запроса может быть просто отменено, а база данных будет восстановлена в том виде, в каком она была до начала выполнения. Откат осуществляется либо по запросу, либо автоматически. Таким образом, выход из строя рабочей станции не столь опасен для целостности базы данных. Кроме того, клиент-серверная система ведет так называемый журнал транзакций.

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

  • Oracle

  • MySQL

  • Microsoft SQL Server

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]