Входное сообщение переводящее базу данных из одного непротиворечивого состояния в другое

Обновлено: 02.07.2024

Это первая часть статьи про блокировки в SAP системе. Для начала рассмотрим концепцию SAP блокировок и реализацию механизма в SAP системе.

Это первая часть статьи про блокировки в SAP системе. Для начала рассмотрим концепцию SAP блокировок и реализацию механизма в SAP системе.

Транзакции базы данных должны удовлетворять концепции LUW (Logical Unit of Work). Понятием LUW обозначают минимальный набор операций изменения данных (SQL-запросы INSERT, MODIFY, UPDATE, DELETE), который переводит базу данных из одного непротиворечивого состояния (consistent state) в другое непротиворечивое состояние. Транзакцию завершает COMMIT, который и вносит изменения в таблицы базы данных. Если во время выполнения LUW происходит сбой, то выполняется откат (ROLLBACK) всех изменений, вносимых текущей LUW. После чего база данных возвращается в предыдущее непротиворечивое состояние.

Если говорить о классических базах данных (исключим SAP HANA), то можно сказать, что система SAP использует базу данных только как хранилище данных. В SAP системе параллельно с базой данных ведётся свой собственный словарь данных. Об этом я рассказывал в этом посте. Этим обеспечивается независимость большинства программных решений компании SAP от платформы, в данном случае, от базы данных.

На уровне сервера приложений SAP существует своё понятие LUW (Logical Unit of Work). Так как SAP система оперирует не отдельными записями, а бизнес-объектами, то SAP транзакция, удовлетворяющая принципам LUW, является более широким понятием, чем транзакция базы данных. Понять разницу поможет следующая схема (рис. 1):


Рис. 1. Концепция блокировки в SAP системе.

SAP транзакция обычно состоит из нескольких последовательностей шагов (чаще всего это набор диалоговых экранов бизнес-операции). На каждом шаге может выполняться транзакция базы данных (LUW уровня базы данных). Но только прохождение всех шагов и выполнение последнего COMMIT завершает транзакцию на уровне бизнес-объектов (уровень сервера приложений SAP), переводя базу данных в понятии бизнес-логики из одного непротиворечивого состояния в другое непротиворечивое состояние.

Для обеспечения выполнения транзакций, изменяющих данные, на уровне SAP (LUW уровня сервера приложений) в AS ABAP реализован отдельный механизм блокировок (SAP locks). SAP блокировка работает на уровне бизнес-объектов и может блокировать на уровне базы данных одну или несколько записей в одной или нескольких таблицах. SAP блокировка устанавливается на начальном этапе выполнения SAP транзакции, а удаляется только после успешного или неудачного завершения всей SAP транзакции. В первом случае (согласно концепции LUW) система переходит в следующее непротиворечивое состояние, а во втором возвращается в предыдущее, выполнив откат всех изменений (ROLLBACK).

Еще раз повторю: блокировка на уровне SAP действует в течении выполнения всех диалоговых шагов SAP транзакции и при этом не является блокировкой на уровне базы данных.

Основным компонентом механизма блокировок в SAP системе является специальный сервер блокировок (Enqueue Server или Lock Server). В классической конфигурации сервер блокировок реализуется в виде рабочего процесса блокировки (ENQ) AS ABAP инстанции. Данный рабочий процесс настраивается только на одной AS ABAP инстанции, которая называется центральной (CI или PAS, по новой терминологии) (рис. 2). На других инстанциях, входящих в SAP систему, этого процесса быть не должно. Активация рабочего процесса блокировки производится через параметр инстанции - rdisp/wp_no_enq = 1.


Рис. 2. Рабочий процесс блокировки на центральной инстанции.

В свежих релизах SAP систем сервер блокировок инсталлируется в составе отдельной инстанции центральных сервисов (ASCS instance). В данном

Рассмотрим работу СУБД на примере MS Access, входящей в профессиональный пакет MS Office.

В начале работы с Access происходит создание новой базы данных с присвоением файлу базы оригинального имени и расширения .mdb.

Следующий шаг – создание таблиц для хранения данных. К основным объектам Access помимо таблиц относятся запросы, отчеты, формы, макросы и модули. Но надо помнить, что таблица – основа базы данных, и все другие объекты зависят от данных таблиц.

Основные объекты базы данных Access можно создавать в режиме Мастер и в режиме Конструктор.

Таблицы

Таблицы – это основные объекты любой базы данных, в которых хранятся все данные, имеющиеся в базе, а также структура базы (поля, их типы и свойства). Все другие объекты (формы, отчеты, запросы) зависят от данных таблиц.

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

Поля таблиц базы данных не просто определяют структуру базы – они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Microsoft Access.

Характеристики полей базы данных:

· имя поля определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц);

· тип поля определяет тип данных, которые могут содержаться в данном поле;

· размер поля определяет предельную длину (в символах) данных, которые могут размещаться в данном поле;

· формат поля определяет способ форматирования данных в ячейках, принадлежащих полю;

· маска ввода определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных);

· подпись определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля);

· значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных);

· условие на значение – ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты);

· обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы;

· пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым);

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

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

Запросы

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

Запрос-выборка предназначен для отбора данных, хранящихся в таблицах, и не изменяет эти данные.

Запрос-изменение используется для изменения или перемещения данных. К этому типу относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление.

Запрос с параметром позволяет определить одно или несколько условий отбора во время выполнения запроса.

Ряд запросов строятся с использованием мастеров. Возможно создание запросов следующих видов:

простой запрос, позволяющий выбирать поля из нескольких таблиц или запросов;

перекрестный запрос вычисляет сумму, среднее значение, число элементов и значения других статистических функций, группируя данные и выводя их в компактном виде;

повторяющиеся записи выполняют поиск одинаковых записей по какому-либо полю в таблице;

записи без подчиненных находят все записи, не имеющие соответствующих записей в другой (связанной) таблице.

После выбора Конструктора при создании запроса Access предлагается использовать бланк запроса по примеру QBE.

Для формирования условий отбора полезным является использование Построителя выражений, который запускается из контекстного меню, связанного со строкой Поле или Условие отбора на бланке запроса QBE. Особенно удобно пользоваться Построителем выражений при конкатенации текста – объединении в форме или отчете текстовых значений из нескольких полей.

При составлении выражений используется несколько простых правил. Во-первых, выражение имеет всегда логический тип, т.е. его значение должно быть Да или Нет. В бланке запроса опускается часть выражения, содержащая имя поля, потому что оно задано в той же колонке. Во-вторых, существуют определенные требования к синтаксису выражения: имена полей заключаются в квадратные скобки, а символьные контакты – в кавычки. Имя объекта базы данных (таблицы, формы или запроса) отделяется от имени поля восклицательным знаком.

Окно построителя имеет четыре области со своими полосами прокрутки. В верхней области располагается создаваемое выражение. Три нижние используются для выбора элементов. Они заполняются по иерархическому принципу. Левая область содержит список всех источников данных для запроса. Средний список служит для показа элементов, входящих в выбранный объект из левого списка. На рисунке в левом списке указаны имя запроса (Запрос 1) и имена таблиц и других объектов базы, а в средней части – имена полей, входящих в этот запрос или таблицу (Фамилия, Имя). Правый список служит для выбора объектов. Кнопки с символами математических операций позволяют быстро вводить соответствующие символы в выражение.

Кроме традиционных математических действий существует еще несколько специальных операторов.

В отличие от реляционной алгебры (процедурный подход), реляционное исчисление реализует декларативный (описательный) подход к выполнению операций над данными, поскольку оно лишь описывает свойства желаемого результата в виде логической формулы.

Основная идея состоит в том, чтобы любую операцию над отношениями описать в виде правильной формулы. СУБД, основанные на реляционном исчислении, автоматически распознают эти формулы и выполняют требуемые преобразования над данными. Достоинством такого подхода является то, что он позволяет построить непроцедурные языки манипулирования данными.

Базисными понятиями реляционного исчисления являются:

- понятие переменной с определенной для нее областью допустимых значений.

- понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы.

Аналитические выражения записывают в одной из следующих форм:

а) - читается так: “множество переменных t таких, что истинна формула Y “

гдеt- переменная - кортеж,

t1. tk - переменные на доменах,

k - ранг отношения,

Y- формула, построенная из атомов.

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

8.2. Реляционное исчисление кортежей

Атомы формулY могут быть трех типов:

1. R(S) - означает, что S - это кортеж в отношенииR

2. s[i] @ u[j] - означает, чтоi-ая компонента S и j-ая компонентаU связаны оператором сравнения ( =).Например: s[1]

4. Если Y- формула, то(" s) (Y ) - тоже формула, которая утверждает, что при подстановке любого значения переменной S в формулу Y она остается истинной.

5. Порядок старшинства операций в формулах: операторы сравнения ( = и т.п.), $ , " , Ш ,Щ ,Ъ

Правильно построенные формулы служат для описания условий, которые накладываются пользователем на кортежные переменные. В условиях применяются только простые сравнения атрибутов отношений с константой или с другим атрибутом.

При использовании кортежных переменных можно ссылаться на отдельный атрибут этой переменной, например: если S = (5, Иванов, 500, 3) - это кортеж отношения СОТРУДНИКИ (номер, имя, оклад, отдел), то S[3] = 500 - это значение третьего атрибута данного кортежа (оклад). На практике в языках, основанных на реляционном исчислении, часто вместо номера атрибута используют его имя, например, вместоS[3] пишут S.Оклад, что более наглядно.

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

Если же имя переменной Х использовано сразу после квантора $ Х или " Х, то она считается связаннойпеременной, которая не видна за пределами формулы, описанной в кванторе. При вычислении значения такой формулы используется не одно значение связанной переменной, а вся ее область определения.Например, пусть Х и Y - две кортежные переменные, определенные на отношении СОТРУДНИКИ. Тогда, формула

$ Y (Х.Оклад > Y.Оклад)

для текущего значения Х истинна в том и только в том случае, если во всем отношении СОТРУДНИКИ найдется кортеж Y такой, что значение его атрибута Оклад удовлетворяет заданному условию сравнения.

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

1. Х.А где Х- имя свободной переменной, а А - имя атрибута отношения

2. Х, то есть имена всех атрибутов отношения

3. N = X.A, где N - новое имя атрибута результирующего отношения (когда используются несколько переменных с одинаковой областью определения)

В реальных языках БД вместо математических обозначений кванторов и логических связок используют, как правило, словесные обозначения:

$ EXISTS Ш NOT
" FORALL Щ AND
| WHERE Ъ OR

Таким образом, аналитическое выражениереляционного исчисления кортежей можно записать в виде:

ЦелевойСписок WHERE Формула.

Значением выражения является отношение, тело которого определяется формулой, а набор атрибутов и их имена - целевым списком. На основе рассмотренного исчисления построен язык SQL.

8.3. Реляционное исчисление доменов

В этом исчислении переменные являются доменами. Например, в базе данных СОТРУДНИКИ-ОТДЕЛЫ можно говорить о доменных переменных ИМЯ (значения - допустимые имена) или НОМЕР (значения - допустимые номера сотрудников). Основным отличием исчисления доменов от исчисления кортежей является наличие дополнительного набора предикатов, позволяющих выражать так называемые условия членства.




Если R - это отношение с атрибутами a1, a2, . an, то условие членства имеет вид

Процесс взаимодействия взаимосвязанных и взаимовлияющих рыночных субъектов называется коммуникацией.

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

Информационная технология (а телекоммуникационная технология относится к информационным) – это комплекс взаимосвязанных, научных, технологических, инженерных дисциплин, изучающих методы эффективной организации труда людей, занятых обработкой и хранением информации; вычислительную технику и методы организации и взаимодействия с людьми и производственным оборудованием, их практические приложения, а также связанные со всем этим социальные, экономические и культурные проблемы. Сами информационные технологии требуют сложной подготовки, больших первоначальных затрат и наукоёмкой техники. Их введение должно начинаться с создания математического обеспечения, формирования информационных потоков в системах подготовки специалистов.

Телекоммуникационные технологии АИС

телекоммуникационная технология топология сеть

Идея расширения функциональных возможностей и масштабов реализации АИС привели к созданию так называемых телекоммуникационных технологий, основанных на организации сетевого взаимодействия вычислительных ресурсов ЭВМ. Сеть ЭВМ – это совокупность технических, программных и коммуникационных средств, обеспечивающих эффективное распределение вычислительных ресурсов.

В структурном плане сеть ЭВМ состоит из двух основных элементов, взаимодействующих между собой, – сервера и рабочих станций. В роли сервера выступает центральная ЭВМ (хост-ЭВМ) – узел сети. Сервер располагает и управляет использованием разделяемых ресурсов – БД, внешней памяти, принтеров и др. Рабочие (клиентские) станции представляют собой профессиональные ЭВМ, предназначенные для работы пользователей в интерактивном режиме с центральной ЭВМ. Это могут быть АРМ, имеющие скромные по сравнению с центральной ЭВМ вычислительные и информационные ресурсы.

Значительное место в сетевом обмене принадлежит серверам БД. К числу основных функций сервера БД относятся: организация размещения данных на магнитных носителях, хранение БД, обеспечение доступа пользователей к БД, поддержка БД в актуальном состоянии, реорганизация БД и др.

Несколько сложнее поддерживать актуальность распределённых БД. Здесь применяется приём репликации. Репликация – это процесс синхронного приведения данных нескольких распределённых БД в идентичное состояние. Задача репликации возникает тогда, когда несколько пользователей, работая с набором распределённых БД, вносят свои коррективы в соответствующие БД. Для обеспечения непротиворечивости необходимо синхронно проводить корректировки по всей структуре распределённых БД.

В организации ведения распределённых БД существует несколько видов репликации. По уровню распространения различают одностороннюю и многостороннюю репликации. При односторонней репликации данные изменяются только в одной БД, а в других данные не изменяются. При многосторонней репликации данные корректируются во всех БД. По времени проведения можно выделить репликации реального времени и отложенные репликации. Репликации реального времени выполняются непосредственно после изменения состояния объектов. Отложенные репликации выполняются по определённому условию или событию, например, пункту в графике администратора БД.

Сетевая технология обеспечивает:

• построение распределённых хранилищ информации;

• расширение перечня решаемых задач по обработке информации;

• повышение надёжности АИС за счёт дублирования работы набора ЭВМ;

• создание новых видов задач и услуг в направлении информационного взаимодействия, например, электронной почты;

• снижение стоимости обработки информации.

В общем случае структура сетевой технологии должна обладать совокупностью определённых свойств, к ним относятся:

• открытость – возможность включения в сеть дополнительных модификаций современных ЭВМ и других сетевых устройств;

• ресурсоёмкость – способность технических и аппаратных средств хранить, оперативно обрабатывать и представлять широкий набор данных;

• динамичность – минимизация времени ответа ЭВМ сети на запрос пользователя;

• эргономичность – развитый интерфейс по взаимодействию с ЭВМ, широкий набор сервисных функций по информационному обеспечению пользователя и создание адекватной ему информационной среды;

• автономность – относительно независимая работа сетей различных уровней;

• адаптивность – обеспечение совместимости и взаимодействия технических и программных средств при изменении требований надсистемы и изменении конфигурации сети;

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

Вычислительные сети принято подразделять на два класса – ЛВС и ГВС. Локальная вычислительная сеть – это распределённая вычислительная система, в которой передача данных между компьютерами проводится на небольшие расстояния в пределах одного здания или нескольких зданий одной организации. ЛВС требует минимум специальных устройств, достаточно электрического соединения компьютеров с помощью кабелей и разъёмов. Так как электрический сигнал при передаче по кабелю ослабевает (уменьшается его мощность) тем сильнее, чем протяжённее кабель, то, естественно, длина проводов, соединяющих компьютеры, ограничена. По этой причине ЛВС объединяют компьютеры, локализованные на весьма ограниченном пространстве. Обычно длина кабеля, по которому передаются данные между компьютерами, не должна превышать 1 км. Указанные ограничения обусловливают расположение компьютеров ЛВС в одном здании или в рядом стоящих зданиях. Обычно службы управления предприятий так и расположены, что и определило широкое использование в них ЛВС для реализации процессов обмена. Вместе с тем при построении определенных ЛВС применяются и дополнительные устройства, в частности репитеры, усиливающие сигналы в канале связи, и др.

ГВС объединяют ресурсы компьютеров, расположенных на значительном удалении. Глобальная вычислительная сеть – это распределённая сеть ЭВМ, имеющая развитый состав технических устройств, расположенных на межматериковом географическом пространстве. При создании ГВС необходимо применение специальных устройств, позволяющих передавать данные без искажения и по назначению. Эти устройства коммутируют (соединяют, переключают) между собой компьютеры сети и, в зависимости от её конфигурации, могут быть как пассивными коммутаторами, соединяющими кабели, так и достаточно мощными ЭВМ, выполняющими логические функции выбора наименьших маршрутов передачи данных. В ГВС, помимо кабельных линий, применяют и другие среды передачи данных. Большие расстояния, через которые передаются данные в глобальных сетях, требуют особого внимания к процедуре передачи цифровой информации с тем, чтобы посланные в сети данные дошли до компьютера-получателя в полном и неискажённом виде. В глобальных сетях компьютеры отделены друг от друга расстоянием не менее 1 км и объединяют ресурсные возможности компьютеров в рамках определённой территории.

Отдельные ЛВС и ГВС могут объединяться, и тогда возникает сложная сеть, которую называют распределённой. Таким образом, в общем виде вычислительные сети представляют собой систему компьютеров, объединённых линиями связи и специальными устройствами, позволяющими передавать без искажения и перенаправлять потоки данных между компьютерами. Линии связи вместе с устройствами передачи и приёма данных называют каналами связи, а устройства, производящие переключение потоков данных в сети, можно определить общим названием – узлы коммутации.

Топология вычислительных сетей


Рис. 1. Звездообразная топология сети

Достоинство подобной структуры в экономичности и удобстве с точки зрения организации управления взаимодействием компьютеров (абонентов). Звездообразную сеть легко расширить, поскольку для добавления нового компьютера нужен только один новый канал связи. Существенным недостатком звездообразной топологии можно назвать низкую надёжность – при отказе центрального узла выходит из строя вся сеть.

Кольцевая топология характерна тем, что компьютеры в этой сети подключаются к повторителям (репитерам) сигналов, связанным в однонаправленное кольцо (рис. 2).


Рис. 2. Кольцевая топология сети

К достоинствам кольцевых сетей относится равенство компьютеров по доступу к сети и высокая расширяемость. К недостаткам следует отнести выход из строя всей сети при выходе из строя одного повторителя и остановку работы сети при изменении ее конфигурации.



Рис. 3. Магистральная топология сети

С двух сторон канала имеются пассивные терминаторы, которые служат для поглощения передаваемых сигналов. От передающего компьютера данные направляются всем компьютерам сети, однако воспринимаются только тем компьютером, адрес которого указан в передаваемом ансамбле данных. Причём в каждый момент только один компьютер может вести передачу. Если один компьютер выйдет из строя, это не скажется на работе остальных, что относится к достоинствам шинной топологии. Другие достоинства шины – высокая расширяемость и экономичность в организации каналов связи. Как недостаток расценивается уменьшение пропускной способности сети при значительных объёмах трафика – объёма передаваемых по сети данных.

Развитие локальных и комбинированных топологий при условии удлинения линий связи приводит к необходимости их разделения и создания распределённых сетей. Это обусловливает особенности топологии ГВС. В распределённых сетях компонентами служат не отдельные компьютеры, а отдельные локальные сети, или сегменты. Узлами коммутации таких сетей становятся активные концентраторы и мосты – устройства, обеспечивающие коммутацией линии связи неоднородного класса и усиливающие проходящие через них сигналы. Мосты, кроме того, ещё и управляют потоками данных между сегментами сети.

При соединении удаленных на большие расстояния компьютеров или сетей используются каналы связи и устройства коммутации, называемые маршрутизаторами и шлюзами. Маршрутизаторы взаимодействуют друг с другом и соединяются между собой каналами связи, образуя распределённый магистральный канал связи. Для согласования параметров данных (форматов, уровней сигналов, протоколов и т.п.), передаваемых по магистральному каналу связи, между маршрутизаторами и терминальными компонентами включаются устройства сопряжения. При подключении к магистральному каналу вычислительных сетей (например, мэйнфреймов), которые невозможно согласовать с помощью стандартных устройств сопряжения, используются стандартные средства, называемые шлюзами. Терминальными абонентами называют отдельные компьютеры, локальные или распределённые сети, через маршрутизаторы подключенные к магистральному каналу. Таким образом, возникает ГВС, типовая топология которой приведена на рис. 4.

Сеть обмена данными



Рис. 4. Типовая топология ГВС: К – концентратор; Мст – мост; М – маршрутизатор; Ш – шлюз; У – устройство сопряжения

Глобальные сети могут объединяться между собой путём соединения через маршрутизаторы магистральных каналов, что в конечном итоге приводит к созданию мировой информационно-вычислительной сети. Эти сети относятся к классу открытых систем и создаются на основе эталонной модели.

© 2014-2022 — Студопедия.Нет — Информационный студенческий ресурс. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав (0.011)

Читайте также: