Методические рекомендации и задания для лабораторных работ
по дисциплине «Вычислительные системы».
Кафедра Информационных технологий в экономике.
Автор доцент Л.Л.Ткачев.
1. Введение.
В настоящее время широкое распространение получила технология параллельных баз данных. Эта технология обеспечивает множеству процессоров доступ к единственной базе данных, что позволяет также достичь более высокого уровня пропускной способности транзакций,
поддерживать большее число одновременно работающих пользователей и ускорить выполнение сложных запросов.
Существуют три различных типа архитектуры, которые поддерживают параллельные базы данных:
Симметричная многопроцессорная архитектура с общей памятью (SharedMemorySMPArchitecture). Эта архитектура поддерживает единую базу данных, работающую на многопроцессорном сервере под управлением одной операционной системы. Увеличение производительности таких систем обеспечивается наращиванием числа процессоров, устройств оперативной и внешней памяти.
Архитектура с общими (разделяемыми) дисками (Shared Disk Architecture). Эта архитектура поддерживает единую базу данных при работе с несколькими компьютерами, объединенными в кластер (обычно такие компьютеры называются узлами кластера), каждый из которых работает под управлением своей копии операционной системы. В таких системах все узлы разделяют доступ к общим дискам, на которых собственно и располагается единая база данных. Производительность таких систем может увеличиваться как путем наращивания числа процессоров и объемов оперативной памяти в каждом узле кластера, так и посредством увеличения количества самих узлов.
Архитектура без разделения ресурсов (Shared Nothing Architecture). Как и в архитектуре с общими дисками, в этой архитектуре поддерживается единый образ базы данных при работе с несколькими компьютерами, работающими под управлением своих копий операционной системы. Однако в этой архитектуре каждый узел системы имеет собственную оперативную память и собственные диски, которые не разделяются между отдельными узлами системы.
Практически в таких системах разделяется только общий коммуникационный канал между узлами системы. В случае кластерной организации несколько компьютеров или узлов кластера работают с единой базой данных.
Параллельные базы данных находят широкое применение в системах обработки транзакций в режиме on-line, системах поддержки принятия решений и часто используются при работе с критически важными для работы предприятий и организаций приложениями, которые эксплуатируются по 24 часа в сутки.
Базы данных занимают лидирующее положение в области информационных технологий, они становятся неотъемлемой частью жизни современного человека. Развитие систем управления этими процессами идет по пути интеграции в единое целое, и огромным шагом к этому является использование стандарта обработки информации с помощью структурированного языка запросов SQL. В настоящее время акцент делается на использование сетевых информационных технологий, базирующихся на архитектуре клиент/сервер.
Понятие БД можно применить к любой связанной между собой информации, хранимой и организованной особым способом - как правило, в виде таблиц. При этом возникает необходимость выполнения следующих операций с БД:
1. добавление новой информации в существующие файлы БД
2. добавление новых пустых файлов в БД
3. изменение (модификация) информации в существующих файлах БД.
4. поиск информации по БД
5. удаление информации из существующих файлов БД
6. удаление файлов из БД
Компьютерная информационная система представляет собой программный комплекс, задачи которого состоят в поддержке надежного хранения БД в компьютере, выполнении преобразования информации и соответствующих вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Объемы вводимой и хранимой информации довольно велики, а сами БД имеют достаточно сложную структуру.
Основным назначением БД в первую очередь является быстрый поиск содержащейся в ней информации.
Существует большое количество программ, которые предназначены для организации информации, помещения ее в таблицы и манипуляции с нею, такие программы получили название СУБД. Основная особенность СУБД - это наличие средств для ввода и хранения не только самих данных, но и описаний их структуры.
К функциям СУБД относят следующие:
управление данными непосредственно в БД - функция, обеспечивающая хранение данных, непосредственно входящих в БД, и служебной информации, обеспечивающей работу СУБД;
управление данными в памяти компьютера - функция, связанная в первую очередь с тем, что СУБД работают с БД большого размера. В целях ускорения работы СУБД используется буферизация данных в оперативной памяти компьютера. При этом пользователь СУБД использует только необходимую для его конкретной задачи часть БД, а при необходимости получает новую «порцию» данных;
управление транзакциями - функция СУБД, которая производит ряд операций над БД, как единым целым. Как правило, такие операции производятся в памяти компьютера. В первую очередь транзакции необходимы для поддержания логической целостности БД в многопользовательских системах. Если транзакция (манипуляция над данными) успешно выполняется, то СУБД вносит соответствующие изменения в БД. В обратном случае ни одно из сделанных изменений не влияет на состояние БД;
управление изменениями БД протоколирование - функция, связанная с надежностью хранения данных, то есть возможностью СУБД восстанавливать состояние БД в аварийных ситуациях, например, при случайном выключении питания или сбое носителя информации. Очевидно, что для восстановления БД нужно располагать дополнительной информацией, по которой и осуществляется восстановление. С этой целью ведется протокол изменений БД, в который перед манипуляциями с данными делается соответствующая запись. Для восстановления БД после сбоя СУБД используется протокол и архивная копия БД - полная копия БД к моменту начала заполнения протокола.
Современные СУБД основываются на использовании моделей данных (МД), позволяющих описывать объекты предметных областей и взаимосвязи между ними. Существуют три основные МД и их комбинации, на которых основываются СУБД: реляционная модель данных (РМД), сетевая модель данных (СМД), иерархическая модель данных (ИМД).
Основное различие между этими моделями данных состоит в способах описания взаимодействий между объектами и атрибутами. Взаимосвязь выражает отношение между множествами данных. Используются взаимосвязи «один к одному», «один ко многим» и «многие ко многим». «Один к одному» - это взаимно однозначное соответствие, которое устанавливается между одним объектом и одним атрибутом. Например, в определенный момент времени в одной ЭВМ используется один определенный процессор. Номеру выбранной ЭВМ соответствует номер выбранного процессора. «Один ко многим» - одно-многозначное соответствие, которое устанавливается между одним объектом и многими атрибутами. Например, один пользователь для решения различных задач использует различные языки программирования. «Многие ко многим» - это соответствие между многими объектами и многими атрибутами. Например, на множество ЭВМ может одновременно работать множество пользователей. Взаимосвязи между объектами и атрибутами удобно представлять в виде графов и гиперграфов.
Сетевые модели данных (СМД) базируются на табличных и графовых представлениях: вершинам графа обычно сопоставляются некоторые данные, которые представляются таблицами, а дугам - типы связей.
В СМД элементарные данные и отношения между ними представляются в виде ориентированной сети (вершины - данные, дуги - отношения).
В БД с сетевой структурой данных поддеревья могут иметь любое число корневых. Фактически сетевая БД состоит из набора записей и множества связей между этими записями. Примерный перечень операций для сетевых БД может быть следующим:
1. найти запись по заданному признаку;
2. перейти от предка к потомку по указанной связи;
3. перейти от потомка к предку по некоторой связи;
4. создать новую запись или удалить существующую;
5. модифицировать заданную запись;
6. включить в связь или исключить из связи;
7. переставить в другую связь.
Иерархическая модель данных (ИМД) основана на понятии деревьев. Каждое дерево состоит из одного «корневого» и упорядоченного набора из нуля или более связанных с ним поддеревьев. Вершина дерева ставится в соответствие совокупности атрибутов данных, характеризующих некоторый объект. Целостность связи между ними поддерживается автоматически.
В таких БД поддерживаются следующие операторы манипулирования данными:
1. найти дерево БД по заданному признаку;
2. перейти от одного дерева к другому;
3. перейти от записи внутри дерева или в порядке обхода иерархии (сверху вниз, слева направо);
4. вставить новую запись в указанную позицию;
5. удалить текущую запись.
Реляционные базы данных.
Реляционную модель можно представить как особый метод рассмотрения данных, содержащий и собственно данные (в виде таблиц), и способы работы и манипуляции с ними (в виде связей). Реляционная модель предполагает три концептуальных элемента: структура, целостность и обработка данных. В этих элементах есть свои специальные понятия, на которые следует обратить внимание.
Таблица рассматривается как непосредственное «хранилище» данных. Традиционно в реляционных системах таблицу называют отношением. Строку таблицы называют кортежем или записью, а столбец – атрибутом или полем. При этом атрибуты имеют уникальные (в пределах отношения) имена.
Основными операциями, с помощью которых модифицируется база данных, являются: включение, удаление и модификация. Эти операции применяются к кортежам.