Добавлен: 16.05.2023
Просмотров: 83
Скачиваний: 2
СОДЕРЖАНИЕ
1.3.Понятия прикладных протоколов и стандартов в системах распределенной обработки данных
1.4. Управление одновременным доступом
2. Практическое применение систем распределенной обработки данных на примере СУБД SQL Server
2.3. Понятие практической разработки БД
2.5.Обеспечение защиты данных в системах распределенной обработки информации на примере SQL Server
Сама синхронизация достигается путем использования алгоритмов управления для одновременного доступа, что гарантируют следование критериям корректности.
Доступ пользователей к информации инкапсулируется в рамках транзакций, которые на нижнем уровне будут выглядеть как последовательности разных операций чтения или записи данных.
Алгоритмы по управлению одновременным доступом обеспечивают также соблюдение свойства изолированности для выполнения транзакций, которое также заключается в том, что все воздействия одной транзакции на конкретную систему обработки данных вовсе не будут зависеть (будут изолированы) от иных транзакций, пока первая транзакция не будет завершена.
Самые популярные алгоритмы управления для одновременного доступа основаны на использовании механизма блокировок. В таких системах всякий раз, когда пытается получить транзакция доступ к какой-то единице памяти (странице), на эту единицу также накладывается блокировка в одном с режимов – совместном или монопольном.
Блокировки накладываются также в соответствии с правилами совместимости блокировок, исключающими разные конфликты чтение-запись, запись-чтение, запись-запись.
Для распределенных систем часто возникает проблема распространения свойств сериализуемости и алгоритмов для управления одновременным доступом в распределенную среду.
В этих системах операции, относящиеся для одной транзакции, могут также выполняться на нескольких других узлах, где располагаются нужные данные.
В таком случае наибольшую сложность будут представлять принципы обеспечения сериализуемости. Эта сложность также связана с тем, что для разных узлов порядок сериализации одинаковых множеств транзакций может оказаться самыми различным. Поэтому выполнение такого множества распределенных транзакций является сериализуемым только тогда, когда выполнение данного множества транзакций в каждом узле является сериализуемым и порядок сериализации таких транзакций во всех узлах одинаковый.
Алгоритмы управления одновременным распределенным доступом поддерживают такое свойство, называемое глобальной сериализуемостью. В алгоритмах, которые основаны на блокировках, для этого используется один из 3 методов: [7]
– централизованное блокирование;
– блокирование первичных копий;
– распределенное блокирование.
Общий побочный эффект для всех алгоритмов управления доступом посредством блокирования – это возможность тупиковых ситуаций. Задача обнаружения или преодоления тупиков сложна особенно в распределенных системах.
В первом разделе курсовой работы рассмотрены основные понятия теории распределенной обработки информации, дана характеристика технологии «клиент-сервер», указаны ее положительные и отрицательные стороны, а также другие понятия, связанные с распределенностью обработки информации.
2. Практическое применение систем распределенной обработки данных на примере СУБД SQL Server
2.1. Описание СУБД SQL Server
СУБД SQL Server является семейством продуктов, которые разработаны для непосредственного сохранения данных и их обработки в системах для обслуживания коммерческих веб-компонентов.
SQL Server очень прост для использования, он также широко применяется для решения задач по обработке информации в сверхсложных системах.
Он также очень популярен для отдельных пользователей, которые применяют надежный сервер БД для разных личных задач.
Непосредственно в состав СУБД SQL Server входят такие 2 основные службы, что предназначены для применения на платформе .NET, а также систем с традиционной клиент-серверной структурой.
Первая служба является высокопроизводительным реляционным ядром для БД, которое дает возможность обеспечивать масштабируемость систем, которые созданы непосредственно на его основании. [2]
Вторая служба – это Server Analysis Services – инструмент, который предоставляет множество методов для реализации анализа данных, что имеются в хранилищах информации и разных системах для принятия решений.
Классическая архитектура «клиент-сервер» в базах данных состоит из таких двух компонентов:
– непосредственно СУБД;
– клиентское приложение.
Такая архитектура каждого клиентского приложения, предоставляет определенный пользовательский интерфейс с выполнением работы в СУБД SQL Server, а также является «толстым» клиентом.
Платформа .NET является распределенной средой, где разнообразные и слабо связанные программируемые интернет-сервисы выполняются на различных серверах.
Стоит отметить, что для такой распределенной вычислительной системы все клиентские приложения являются в данном случае «тонкими» клиентами, что обеспечивают доступ к информации СУБД SQL Server посредством вспомогательных веб-сервисов, к примеру, с помощью Internet Information Services.
Классическим примером «тонкого» клиента являются веб-браузеры, которые установлены на ПК клиентов.
На рисунке 7 показан доступ клиентов к серверу:
Рисунок 7 – Архитектура СУБД SQL Server
Реляционным ядром SQL Server считается реляционная СУБД, которая имеет возможность хранить и осуществлять управление данными прямо в реляционных таблицах. [8]
Несколько БД не могут применять одновременно операции с сервера. Но, при выполнении оптимизации производительности можно добиться значительного повышения отказоустойчивости для всех файлов данных, а также файлов журнала, как правило, размещаемых на разных дисках с данными.
Для размещения информации и данных используемого журнала используется RAID-массив.
При физическом размещении информации, а также индексов в СУБД SQL Server резервируется дисковое пространство, что занято файлом данных – отдельными ячейками размером 64 Кб.
Такие блоки являются экстентами. Все экстенты состоят с восьми специальных страниц, расположенных последовательно объемом каждая в 8 Кб.
Экстенты бывают следующих видов (рисунок 8):
Рисунок 8 – Типы экстендов
Однородные – это экстенты, которые принадлежат одному объекту, смешанные – принадлежат многим объектам.
Страницей является минимальный объем дискового пространства, выделяемого SQL Server для непосредственного хранения данных. [9]
Отметим, что одна страница в размере занимает 8 кб. Как правило, эта информация располагается в виде строк, что размещены по несколько пар в странице.
При этом все строки могут содержать информацию объемом до 8060 байт. Порядок размещения информации прежде всего может зависеть от того, как определяется в таблице индекс.
MS SQL Server является реляционной СУБД. То есть, все данные в базах хранятся в плоских 2-мерных таблицах.
В основании реляционных систем лежит математический аппарат – алгебра отношений.
Важной особенностью всех БД является тот факт, что в БД помимо самой информации хранятся и описания данных – так называемые метаданные базы данных.
Данный факт позволяет уменьшить общую зависимость программ от информации на логическом уровне.
Самым главным объектом реляционных БД являются таблицы.
Таблица в себе содержит произвольное число строк или записей, в которой и хранятся данные. [6]
Фактически число строк в таблице будет ограничиваться объемом внешней памяти, которая доступна для хранения информации базы данных в постоянной памяти.
Также, разумеется таблица может являться и пустой, то есть не содержать информации.
Стоит отметить, что в рассматриваемой СУБД есть возможность структуризации таблиц.
То есть, разбивать таблицу по некоторому критерию с объединением информации в новые массивы (рисунок 9):
Рисунок 9 – Пример структуризации БД
Соответственно реляционной модели данных каждая строка одной таблицы имеет одинаковую структуру.
Все они состоят с столбцов, которые иногда называются полями. Таблица должна в себе содержать как минимум 1 столбец.[3]
Данные таблицы выбираются при использовании оператора SELECT, который является основным в языке структурированных запросов.
Как правило, выбираются с таблица далеко не все строки, а только те, что соответствуют критерию, заданному в данном операторе. На логическом уровне – те данные с таблицы, что реально нужны клиенту для решения им задачи.
С помощью оператора SELECT есть возможность выбрать данные не лишь из одной таблицы, а и с нескольких таблиц, применяя операцию соединения.
Результат такой выборки называют набором данных.
Самой основной характеристикой столбца таблицы БД является его тип. Тип данных в языке SQL имеет определенное имя. Такие типы данных могут предварительно быть определенными в системе, а также их иногда считают системными.
Это также могут являться данные, определенные некоторым пользователем по аналогии с пользовательскими типами данных в языках программирования.
В некоторых системах используют еще один термин пользовательских форматов данных – домен.
Типы данных – это числовые (дробные, целочисленные с фиксированной точкой), логические, строковые, типы данных, а также форматы даты и времени.
В нынешнее время существует формат данных, обычно называемый бинарным большим объектом, который позволяет хранить большие по объему используемой памяти данные –изображения, звук, форматированные тексты, видео.
Непосредственно по мере развития отрасли программирования в мире ПО появляются новые форматы данных, к примеру, XML, или пространственные типы.
Все они поддерживаются в СУБД MS SQL Server.
Формат данных в программировании часто определяет множество значений и множество операций для столбца, вообще для всех элементов данных в программной среде.[16]
К примеру, для целочисленных форматов множеством допустимых значений считают множество целых чисел для определенного диапазона. Диапазон представления таких чисел определяется числом байтов, отводимых под хранения целого числа.
Множеством допустимых операций, которые используются для всех числовых форматов данных: целочисленных и дробных, считаются четыре арифметические операции:
– умножение;
– деление;
– сложение;
– вычитание.
Для строковых форматов данных множеством значений являются так называемые произвольные строки. К таким строкам применяется только одна допустимая операция, которая имеет название конкатенация, а именно, соединение в одну нескольких строк. [12]
Такие строковые форматы данных определенного типа могут хранить и строки формата Unicode, который имеет возможность задавать более 65 тыс. символов.
Для выполнения работы со строковыми форматами данных существует целое множество полезных функций:
– удаление пробелов;
– выделение подстроки;
– поиск значения и многие другие.
Для логического формата данных множеством значений в обычных ЯП являются 2 значения:
– TRUE;
– FALSE.
В реляционных БД используется также еще значение – NULL, которое можно трактовать, как неизвестное значение.
Тут применяется не обычная двухзначная, а уже трехзначная логика.
Для логического формата данных в реляционных БД применяются 3 логические операции:
– операция НЕ;
– логическое ИЛИ;
– логическое И.
Использование рассматриваемой трехзначной логики в обработке реляционных БД связано с присутствием в значениях столбцов и неизвестного значения NULL.[8]
При создании таблиц с помощью рассматриваемой СУБД в БД можно для каждого из столбцов описать подробно все характеристики:
– значение по умолчанию;
– тип данных;
– допустимые значения и другие.
Характеристики можно задать также и в созданном типе данных пользователя, а затем ссылаться при определении столбцов таблицы на это описание.
2.3. Понятие практической разработки БД
Существуют разные подходы к процессу проектированию БД. В любом случае для проектировании разрабатывается БД не сама по себе, а с учетом задач, для разрешения которых будет она использоваться.[4]
Одним с наиболее применяемых подходов является так называемое трехуровневое проектирование хранилища данных и, соответственно, самой базы данных.
На первом, так называемом концептуальном уровне, осуществляется процесс анализа предметной области непосредственно для решения задач, что решаются в системе обработки данных или базе данных.