Распределенные СУБД

Автор работы: Пользователь скрыл имя, 13 Декабря 2011 в 12:38, курсовая работа

Описание

Цель курсовой работы – дать анализ распределенным СУБД. Для этого были поставлены следующие задачи:
Рассмотреть основные понятия распределенной обработки баз данных;
Рассмотреть модель клиент – сервер в технологии распределенных баз данных;
Дать анализ распределенным СУБД.

Содержание

ВВЕДЕНИЕ……………………………………………………………………... 3
1. РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ДАННЫХ………………… …
6
1.1. Основные понятия ………………………………………………………… 6
Модель клиент – сервер в технологии распределенных баз данных
10
Типы распределенных СУБД …………………………………………
12
1.4. Размещение данных в распределенных базах данных………………… 14
Требования к распределенной обработке данных …………………….
15
2. РЕАЛИЗАЦИЯ РАСПРЕДЕЛЕННОЙ СУБД………………………
18
2.1. Теоретические основы СУБД сервера Informix ………………………… 18
2.2. СУБД Ingres ………………………………………………………………. 22
2.3. Архитектура Sybase System 11……………………………………………. 26
2.4. СУБД Oracle ……………………………………………………………….. 29
ЗАКЛЮЧЕНИЕ ………………………………………….…………………… 32
ГЛОССАРИЙ……………………………………………………………………. 35
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ……

Работа состоит из  1 файл

Распределенные СУБД.doc

— 374.00 Кб (Скачать документ)

     Автоматическая  трансляция кодов. В неоднородной компьютерной среде при взаимодействии клиента и сервера возникает также задача трансляции кодов. Сервер может работать с одной кодовой таблицей (например, EBCDIC), клиент — с другой (например, ASCII), при этом происходит рассогласование трактовки кодов символов. Поэтому, если на локальном узле используется одна кодовая таблица,/а на удаленном — другая, то при передаче запросов по сети и при получении ответов на них необходимо обеспечить трансляцию кодов. Решение этой задачи также ложится на коммуникационный сервер.

     Однако  ни одна из существующих СУБД не достигает  этого идеала вследствие следующих  практических проблем:

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

     2 РЕАЛИЗАЦИЯ РАСПРЕДЕЛЕННОЙ СУБД

 

     2.1. Теоретические основы СУБД сервера Informix

     Работы  над системой управления базами данных Informix были начаты в 1980 г. Согласно начальному замыслу программный комплекс Informix рассматривался как СУБД, специально ориентированная для работы в среде ОС UNIX. Для организации хранения данных был выбран реляционный подход. С тех пор Informix стал одной из основных СУБД, работающих в среде UNIX [6].

     Сейчас  продукты Informix уже установлены практически  на всех UNIX-компьютерах. Среди всех ОЕМ фирма выбрала шесть стратегических партнеров. Это: Sequent, HP, SUN, IBM, Siemens Nixdorf, NCR. Портирование продуктов фирмы на производимые стратегическими партнерами платформы производится в первую очередь. Практически это означает, что при появлении на рынке новой платформы или новой версии операционной системы для платформы уже имеется соответствующая версия продуктов Informix.

     Среди не UNIX платформ Informix поддерживает NetWare, Windows, Windows NT и DOS.

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

     Продукты Informix содержат серверы баз данных, средства разработки и отладки, коммуникационные средства. Характерной особенностью Informix является наличие нескольких типов серверов, подробнее о них будет сказано ниже.

     Начиная с версии 4.0 фирма Informix поставляет сервер базы данных OnLine, который поддерживает аппарат распределенных транзакций (технология OLTP - on-line transaction processing), что позволяет по-новому подходить к созданию баз данных с очень большим объемом хранимой информации.

     Кроме того, в Informix-OnLine включен новый тип  данных - битовые поля (BLOB - binary large objects). Битовые поля могут использоваться для мультимедийных приложений (хранение изображений и звука).

     В основе систем, разработанных на основе СУБД Informix, лежит принцип архитектуры "клиент-сервер". Клиент - это пользовательская прикладная программа, обеспечивающая взаимодействие (интерфейс) базы данных с пользователем. Всю работу, связанную с доступом и модификацией базы данных, выполняет сервер базы данных (БД-сервер) [6].

     Сервер  базы данных (database engine), он же ядро базы данных - это отдельная программа, выполняемая как отдельный процесс. Сервер передает выбранную из базы информацию по каналу клиенту. Именно сервер работает с данными, заботится об их размещении на диске. Технологию "клиент-сервер" со стороны сервера обеспечивают модули Informix-SE, Informix-Online или Informix OnLine-Dynamic Server.

     Informix-SE представляет собой сервер базы  данных, предназначенный для обеспечения  работы в системах с малым  или средним объемом информации.

     Хранение  данных в этом случае осуществляется в файловой системе операционной системы, что значительно упрощает разработку и эксплуатацию приложений.

     Клиенты и серверы могут находиться на одном компьютере, либо на нескольких, связанных между собой сетью. Подобное разделение функций дает высокую  производительность и максимальную гибкость. Для обеспечения отношений  связи типа "клиент-сервер" между различными компьютерами со стороны сервера применяется модуль Informix-NET.

     Informix-OnLine - это сервер второго поколения,  обеспечивающий технологию распределенных  транзакций (OLTP - on-line transaction processing). Технология распределенных транзакций позволяет выполнять запросы в распределенной базе данных, физически находящихся на различных компьютерах. По сравнению с Informix-SE сервер Informix-OnLine имеет специальный тип данных - битовые поля (BLOB - Binary Large Objects), символьные строки переменной длины, буферизацию транзакций, зеркальный диск, автоматическое восстановление после системных сбоев, большую скорость (в 2-4 раза).

     Модуль Informix-Star является средством поддержки  работы с распределенными базами данных. Посредством модуля InformixStar осуществляется оперативная обработка транзакций.

     Работа  сервера Informix заключается в запуске  специальной программы (SQLEXEC для Informix-SE и SQLTURBO для Informix-OnLine), которая обеспечивает работу всех SQL-операторов. Для каждого клиента запускается процесс операционной системы, использующий эту программу. В случае, если клиент прервал работу, но не вышел из своей задачи, то его процесс занимает ресурсы системы, снижая ее производительность.

     Одним из последних достижений фирмы стал выпуск нового сервера базы данных OnLine Dynamic Server, которой входит в состав системы начиная с версии 6.0. Этот продукт основан на так называемой Динамической Масштабируемой Архитектуре (Dynamically Scalable Architecture - DSA), которая специально ориентирована на работу с многопроцессорными системами.

     OnLine Dynamic Server обеспечивает повышение  производительности за счет гибкости  использования ресурсов СУБД, использование  многопоточной архитектуры. Фактически OnLine Dynamic Server берет на себя многие связанные с распределением ресурсов функции операционной системы. В результате уменьшается нагрузка на операционную системы, что в конечном счете приводит к росту производительности [6].

     Для обслуживания клиентов запускаются "виртуальные процессоры" - процессы операционной системы, которые устанавливают связь между клиентом и ядром Informix. Связь устанавливается с помощью специальных "нитей" (thread), которые активизируются только если клиент активен и обращается к серверу базы данных. В случае, если клиент неактивен, "нить" может обслуживать других клиентов.

     Число виртуальных процессоров определяет администратор базы данных, исходя из реальных ресурсов вычислительной системы и сети клиентов. Если вычислительная система является многопроцессорной, то разные виртуальные процессоры могут обслуживаться разными реальными процессорами.

     В версии 6.0 сетевые функции заложены в ядре СУБД. Поэтому для функционирования в сети OnLine Dynamic Server модули Informix-Net или Informix-Star не требуются.

     Архитектура сервера INFORMIX-OnLine DS получила название "динамическая масштабируемая архитектура" (DSA). Суть ее заключается в том, что  одновременно выполняется относительно небольшое число серверных процессов (виртуальных процессоров), которые  разделяют между собой работу по обслуживанию множества клиентов. По сравнению с более ранними моделями сервера INFORMIX, где для каждого клиента создавался индивидуальный серверный процесс, новая модель обладает рядом преимуществ:

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

     Для многопроцессорных платформ:

  • равномерная загрузка наличных процессоров;
  • ускорение обработки сложных запросов за счет параллельного выполнения на нескольких процессорах.

     Пока  пользователь анализирует результаты или готовит очередной запрос, серверный процесс простаивает, занимая системные ресурсы.

     Архитектура DSA полностью использует возможности  симметричных многопроцессорных платформ SMP (Symmetric Multiprocessing systems), и может работать на однопроцессорных платформах. В  последующих версиях предполагается расширить архитектуру сервера, обеспечив поддержку слабосвязанных систем и систем с массовым параллелизмом (MPP). Все базовые технологии DSA являются встроенными, они включены в библиотеки сервера, и их применение не зависит от особенностей ОС или аппаратных платформ различных поставщиков.

     Продукты INFORMIX построены на принципах архитектуры  клиент/сервер. Это означает, что  сервер INFORMIX-OnLine DS выполняется на одном  компьютере, а клиентские приложения выполняются на других компьютерах, связанных с сервером сетью. При этом от клиентских приложений серверу по сети пересылаются только SQL-запросы, а от сервера на клиентские машины пересылаются результаты выполнения запросов. Преимущества такой архитектуры заключаются в том, что серверный компьютер, не загруженный выполнением клиентских приложений, способен эффективно обслужить большее число клиентов. Пользователи же в этом случае могут выбрать наиболее удобную для себя платформу, например, персональный компьютер с MS Windows. В частном случае клиент выполняется на той же машине, что и сервер.

     Сервер INFORMIX-OnLine DS содержит все необходимые  средства для организации взаимодействия локальных или удаленных клиентов с сервером базы данных, поэтому  приобретение дополнительных продуктов  не требуется [6]. 
 
 
 

     2.2. СУБД Ingres

     По  своей значимости для развития и  распространения реляционного подхода  к управлению базами данных СУБД Ingres (Interactive Graphics and Retrieval System) находится  близко к System R, хотя история и организация  этой системы во многом отличается от System R. Для начала коротко рассмотрим историю Ingres [7].

     Проект  и экспериментальный вариант  СУБД Ingres были разработаны в университете Беркли под руководством одного из наиболее известных в мире ученых и специалистов в области баз  данных Майкла Стоунбрейкера (Michael Stonebraker). С самого начала СУБД Ingres разрабатывалась как мобильная система в Киеве, функционирующая в среде ОС UNIX. Первая версия Ingres была рассчитана на 16-разрядные компьютеры и работала главным образом на машинах серии PDP. Это была первая СУБД, распространяемая бесплатно для использования в университетах. Впоследствии группа Стоунбрейкера перенесла Ingres в среду ОС UNIX BSD, которая также была разработана в университете Беркли. Семейство СУБД Ingres из университета Беркли принято называть "университетской Ingres".

     В начале 80-х была образована компания RTI (Relational Technology Inc.) для доведения  университетских прототипов до уровня коммерческих продуктов. С этого  момента стали различать университетскую  и коммерческую СУБД Ingres. В настоящее время коммерческая Ingres поддерживается, развивается и продается компанией Computer Associates. Сейчас это одна из развитых коммерческих реляционных СУБД [7].

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

Информация о работе Распределенные СУБД