Автор работы: Пользователь скрыл имя, 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
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ……
Очень важно понимать различия, существующие между распределенными СУБД и распределенной обработкой данных.
Распределенная обработка - это обработка с использованием централизованной базы данных, доступ к которой может осуществляться с различных компьютеров сети.
Ключевым моментом в определении распределенной базы данных является утверждение, что система работает с данными, физически распределенными в сети. Если данные хранятся централизованно, то даже в том случае, когда доступ к ним обеспечивается для любого пользователя в сети, данная система просто поддерживает распределенную обработку, но не может рассматриваться как распределенная СУБД.
Системы
распределенной обработки данных в
основном связаны с первым поколением
БД, которые строились на мультипрограммных
операционных системах и использовали
централизованное хранение БД на устройствах
внешней памяти центральной ЭВМ и терминальный
многопользовательский режим доступа.
При этом пользовательские терминалы
не имели собственных ресурсов, т.е. процессоров
и памяти, которые могли бы использоваться
для хранения и обработки данных. Первой
полностью реляционной системой, работающей
в многопользовательском режиме, была
СУБД SYSTEM R фирмы IBM. Именно в ней были реализованы
как язык манипулирования данными SQL, так
и основные принципы синхронизации, применяемые
при распределенной обработке данных,
которые до сих пор являются базисными
практически во всех коммерческих СУБД.
1.2. Модель клиент – сервер в технологии распределенных баз данных
Вычислительная модель клиент—сервер связана с появлением в 1990-х гг. открытых систем. Термин «клиент—сервер» применялся к архитектуре программного обеспечения, которое состояло из двух процессов обработки информации: клиентской и серверной. Клиентский процесс запрашивал некоторые услуги, а серверный процесс обеспечивал их выполнение. При этом предполагалось, что один серверный процесс может обслужить множество клиентских процессов. Учитывая что аппаратная реализация этой модели управления базами данных связана с созданием локальных вычислительных сетей предприятия, такую организацию процесса обработки информации называют архитектурой клиент—сервер. Основной принцип технологии клиент—сервер применительно к технологии управления базами данных заключается в разделении функций стандартного интерактивного приложения на пять групп, имеющих различную природу:
Структура типового приложения, работающего с базой данных в архитектуре клиент—сервер, приведена рис. 2.
Рисунок 2. Структура типового приложения, работающего с базами данных
Презентационная логика (Presentation Logic) как часть приложения определяется тем, что пользователь видит на своем экране, когда работает приложение. Сюда относятся все интерфейсные экранные формы, которые пользователь видит или заполняет в ходе работы приложения. К этой же части относится все то, что выводится пользователю на экран как результаты решения некоторых промежуточных задач либо как справочная информация. Поэтому основными задачами презентационной логики являются:
управление экраном;
• обработка движений мыши и нажатие клавиш клавиатуры.
Бизнес-логика, или логика собственно приложений (Business processing Logic), — это часть кода приложения, которая определяет собственно алгоритмы решения конкретных задач приложения. Обычно этот код пишется с использованием различных языков программирования, таких как С, C++, Visual-Basic и др.
Логика обработки данных (Data manipulation Logic) — это часть кода приложения, которая непосредственно связана с об работкой данных внутри приложения. Данными управляет собственно СУБД. Для обеспечения доступа к данным используется язык SQL.
Процессор управления данными (Database Manager System Processing) — это собственно СУБД. В идеале функции СУБД должны быть скрыты от бизнес-логики приложения, однако для рассмотрения архитектуры приложения их надо выделить в отдельную часть приложения [3].
В централизованной архитектуре (Host-based processing) эти части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы.
В децентрализованной архитектуре эти задачи могут быть по-разному распределены между серверным и клиентским процессами. В зависимости от характера распределения можно выделить следующие модели распределений (таблица 1 см. приложение А):
Эта
условная классификации показывает,
как могут быть распределены отдельные
задачи между серверным и клиентскими
процессами. В этой классификации отсутствует
реализация удаленной бизнес-логики. Считается,
что она не может быть удалена сама по
себе полностью, а может быть лишь распределена
между разными процессами, которые могут
взаимодействовать друг с другом.
1.3. Типы распределенных СУБД
В общем случае режимы работы с БД можно классифицировать по следующим признакам:
Распределенные
СУБД подразделяются на однородные и
разнородные.
В однородных системах все узлы используют один и тот же тип СУБД. В разнородных системах на узлах могут функционировать различные типы СУБД, использующие разные модели данных. Однородные системы значительно проще проектировать и сопровождать, добавляя новые узлы к уже существующей распределенной системе и повышая производительность системы за счет параллельной обработки информации [4].
Разнородные системы обычно возникают в тех случаях, когда узлы, уже эксплуатирующие свои собственные системы с базами данных, со временем интегрируются в распределенную систему. В разнородных системах для организации взаимодействия между различными типами СУБД требуется обеспечить преобразование передаваемых сообщений, для чего каждый из узлов должен иметь возможность формулировать запросы на языке той СУБД, которая используется на их локальном узле или система должна взять на себя выполнение всех необходимых преобразований.
Распределенная СУБД должна иметь следующий набор функциональных возможностей:
Соответственно,
программные средства, обеспечивающие
целевую (функциональную) обработку
данных, должны быть организованы таким
образом, чтобы обеспечить более
эффективное использование совокупных
вычислительных ресурсов за счет специализированного
разделения функций обработки между центральным
процессом СУБД и клиентскими функционально-ориентированными
процедурами.
1.4. Размещение данных в распределенных базах данных
Размещение данных в распределенных БД характеризуется следующими понятиями:
• фрагментация. Любая запись (отношение в случае реляционных моделей данных) может быть разделено на некоторое количество частей, называемых фрагментами, которые затем могут распределяться по различным узлам. Как отмечалось ранее, существуют два основных типа фрагментации: горизонтальная и вертикальная. В первом случае фрагменты представляют собой подмножества строк, а во втором — подмножества столбцов (атрибутов);
• размещение. Каждый фрагмент сохраняется на узле, выбранном с учетом оптимальной схемы доступа;
• репликация. Распределенная СУБД может поддерживать актуальную копию некоторого фрагмента на нескольких различных узлах.
Определение и размещение фрагментов должно проводиться с учетом особенностей использования базы данных (в частности, на основе анализа транзакций).
Существуют четыре стратегии размещения данных в системе:
1.5. Требования
к распределенной обработке
Прозрачность сети. Клиент и сервер взаимодействуют по сети с конкретной топологией; для поддержки взаимодействия всегда используется определенный протокол. Следовательно, оно должно быть организовано таким образом, чтобы обеспечивать независимость как от используемого сетевого аппаратного обеспечения, так и от протоколов сетевого обмена. Чтобы обеспечить прозрачный доступ пользователей и программ к удаленным данным в сети, объединяющей разнородные компьютеры, коммуникационный сервер должен поддерживать как можно более широкий диапазон сетевых протоколов (TCP/IP, DECnet, SNA, SPX/IPX, NetBIOS, AppleTalk и др.) [5].
Автоматическое преобразование форматов данных. Как только несколько компьютеров различных моделей под управлением различных операционных систем соединяются в сеть, сразу возникает вопрос о согласовании форматов представления данных. Действительно, в сети могут быть компьютеры, отличающиеся разрядностью (I6-, 32- и 64-разрядные процессоры), порядком следования байт в слове, представлением чисел с плавающей точкой и т. д. Задача коммуникационного сервера состоит в том, чтобы на уровне обмена данными обеспечить согласование форматов между удаленным и локальным узлами с тем, чтобы данные, извлеченные сервером из базы на удаленном узле и переданные по сети, были правильно истолкованы прикладной программой на локальном узле.