Многопользовательские базы данных
Клиентские приложения
Преимущества клиент/серверной обработки
Распределенные базы данных
Хранилища данных
Список использованных источников
Многопользовательские базы данных
Большие объемы информации, высокие требования к актуальности и достоверности, простоте доступа и скорости обработке привели к необходимости интеграции данных в единой многопользовательской базе, обеспечивающей решение всего комплекса задач. Основная проблема многопользовательского доступа состоит в том, что при одновременной работе двух или более пользователей с одной и той же записью базы данных сделанные ими изменения могут быть потеряны. [1]
Существует два подхода решения проблем совместного доступа к общим данным: установление блокировок и управление параллельностью выполнения транзакций. В большинстве случаев эти два подхода применяются совместно. При одновременном доступе к одним и тем же данным операции манипулирования данными, заключенные в рамки транзакции, чередуется, и таким образом достигается их параллельное выполнение. Однако, несмотря на то что каждая из транзакций может сама по себе выполнена вполне корректно, подобное чередование операций способно приводить к неверным результатам, из-за чего целостность и согласованность базы данных будет нарушена.
Клиентские приложения
Наиболее эффективную работу с централизованной БД обеспечивает архитектура клиент/сервер. Клиент/серверная система состоит из множества компьютеров, объединенных в сеть. Компьютеры, называемые клиентами, занимаются обработкой прикладных программ. Компьютеры, называемые серверами, занимаются обработкой БД. На сервере сети размещается БД и устанавливается мощная серверная СУБД – сервер баз данных. Сервер БД – это программный компонент, обеспечивающий хранение больших объемов информации, ее обработку и представление ее пользователям в сетевом режиме. На компьютере-клиенте приложение-клиент формирует запрос к БД. Серверная СУБД обеспечивает интерпретацию запроса, его выполнение, формирование результата запроса и пересылку его по сети на клиентский компьютер. Клиентское приложение интерпретирует его необходимым образом и представляет пользователю. Клиентское приложение может также посылать запрос на обновление БД и серверная СУБД внесет необходимые изменения в БД. [2]
В архитектуре клиент/сервер функции клиентского приложения и серверной СУБД разделены. Функции клиентского приложения разбиваются на следующие группы:
• ввод-вывод данных (презентационная логика) – это часть кода клиентского приложения, которая определяет, что пользователь видит на экране, когда работает с приложением;
Преимущества клиент/серверной обработки
«Клиент — сервер» (англ. client–server) — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Фактически клиент и сервер — это программное обеспечение. Обычно эти программы расположены на разных вычислительных машинах и взаимодействуют между собой через вычислительную сеть посредством сетевых протоколов, но они могут быть расположены также и на одной машине. Программы-серверы ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов посредством HTTP, FTP, BitTorrent, потоковое мультимедиа или работа с базами данных) или в виде сервисных функций (например, работа с электронной почтой, общение посредством систем мгновенного обмена сообщениями или просмотр web-страниц во всемирной паутине). Поскольку одна программа-сервер может выполнять запросы от множества программ-клиентов, её размещают на специально выделенной вычислительной машине, настроенной особым образом, как правило, совместно с другими программами-серверами, поэтому производительность этой машины должна быть высокой. Из-за особой роли такой машины в сети, специфики её оборудования и программного обеспечения, её также называют сервером, а машины, выполняющие клиентские программы, соответственно, клиентами. [3]
Распределенные базы данных
Становление систем управления базами данных (СУБД) совпало по времени со значительными успехами в развитии технологий распределенных вычислений и параллельной обработки. В результате возникли распределенные системы управления базами данных и параллельные системы управления базами данных. Именно эти системы становятся доминирующими инструментами для создания приложений интенсивной обработки данных.
Благодаря интеграции рабочих станций в распределенную среду становится возможным более эффективное распределение функций в ней, когда прикладные программы выполняются на рабочих станциях, называемых серверами приложений, а базы данных обслуживаются выделенными компьютерами, называемыми серверами баз данных. Это служит источником развития таких распределенных архитектур, где в роли узлов выступают не просто компьютеры общего назначения, а специализированные серверы.
Распределенная база данных (DDB – distributed database) – это совокупность логически взаимосвязанных баз данных, распределенных в компьютерной сети. Распределенная система управления базой данных определяется как программная система, которая позволяет управлять
Хранилища данных
Для множества людей хранилище данных - это некая совокупность данных объединенных из различных источников, структурированная и оптимизированная для доступа к ним при помощи средств создания запросов OLAP (on-line analytical processing - оперативной аналитической обработки). Этот взгляд изначально распространялся поставщиками средств OLAP. Для других хранилище данных - это фактически некая база данных, содержащая данные более чем из одного источника, собранные для целей управления информацией. Это определение не является ни полезным, ни очевидным, поскольку такие базы данных служили для принятия решений задолго до возникновения самого термина «хранилище данных».
Понятие «хранение данных» возникло, по крайней мере, в середине 1980х годов или даже раньше. И, по сути, предназначалось для описания архитектурной модели потока данных от операционной системы к средствам поддержки принятия решений. Эта модель отвечает за различные задачи, ассоциированные с этим потоком и связанными с этим высокими затратами. Без такой архитектуры передаваемая управляющая информация обычно содержит большое количество избыточных данных. В больших корпорациях множественные проекты принятия решений обычно осуществляются независимо, каждый обслуживает различных
1. Змитрович, А. И. Базы данных и знаний: учеб. пособие для студ. учреждений, обеспечивающих получение высш. образования по спец. управления / А. И. Змитрович, В. В. Апанасович, В. В. Скакун. - Минск: Издательский центр БГУ, 2007
2. Малыхина М.П. Базы данных: основы, проектирование, использование. Спб.: BHV, 2006
3. http://www.intuit.ru/department/database/rdbdev/ - «Основы проектирования реляционных баз данных» Туманов В.Е.
4. http://citforum.ru/database/dblearn/index.shtml - «Введение в системы управления базами данных» Пушников А.Ю.
5. http://citforum.ru/database/osbd/contents.shtml - «Основы современных баз данных» Кузнецов С.Д.