Смекни!
smekni.com

«Информационные технологии в экономике» (стр. 8 из 13)

б) Распределенная среда обработки запросов в сетях ЭВМ.

Рис. 4.11. (а,б).Технологии обработки запросов по базовым вариантам

По степени изменчивости все базы данных (БД) можно разделить на два класса:

А - условно-постоянные (в основном для справочных систем);

Б - сильно динамичные (для банковских, биржевых систем и т.п.).

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

Например,

- для условно-постоянных БД наиболее важными показателями являются показатели скорости отработки запросов и скорости формирования выходных отчетов по БД, а такие показатели, как скорость отработки транзакций и контроль целостности БД при отработке транзакций не столь критичны;

- для сильно-динамичных БД, на первый план выходят такие показатели, как скорость отработки транзакций, возможность контроля целостности, скорость формирования отчетов, согласованность по чтению и транзакциям. Менее критичны здесь скорости отработки запросов.

Поэтому любая СУБД не может одинаково успешно применяться при работе с БД разных классов. Такие системы, как CLIPPER, FOXPRO ориентированы на первый класс БД-(А), и здесь имеются неплохие результаты, а такие СУБД ,как Informix, Ingres, SyBase создавались для второго класса-(Б).

Исходя из вышесказанного напрашивается вывод: найти "золотую середину", которая удовлетворяла бы требованиям обоих классов (А) и (Б). Решением этой противоречивой задачи является использование дифференциальной организации файлов базы данных, или дифференциальных файлов (ДФ).

В последнее время разработчики СУБД ведущих фирм подошли к использованию идеи ДФ. Причинами явились следующие факты:

- значительно расширился класс решаемых на IBM PC задач, так, что термин "персональный компьютер" уже не соответствует действительности;

- широкое распространение локальных вычислительных систем (ЛВС);

- разработка многопользовательских и многозадачных систем;

- стремительное развитие технической базы ЭВМ (в большей степени дисковой памяти).

Остановимся на сути ДФ применительно к БД в ЛВС. Реализация идеи ЛВС в различных СУБД значительно отличается.

Идея ДФ включает три положения:

- основной файл БД остается неизменным при любых обновлениях базы данных, т.е., любые изменения БД последовательно накапливаются в специальном файле изменений (не путать с журналом транзакций) - ДФ;

- никакие индексы для него не создаются и не поддерживаются.

Когда ДФ достигнет значительных размеров (примерно 25-40% от размеров БД), администратор вносит все изменения в основной файл БД в удобный момент времени в пакетном режиме.

В качестве примера возьмем сравнение книги, где наблюдаются опечатки в страницах и, базы данных с ДФ. Нет необходимости переиздания книги из-за нескольких опечаток или незначительных изменений. Если это количество имеет тенденцию к значительному росту и достигло предельного значения, то становятся оправданными затраты на переиздание книги, куда должны быть включены все накопленные изменения.

Достоинства ДФ относятся к обеспечению высокой надежности, целостности БД и скорости отработки транзакций.

Вопрос, какие скорости отработки транзакций можно обеспечить при использовании ДФ, является довольно важным. Очевидно, что скорость отработки транзакций при такой организации БД возрастет в десятки раз. При этом сервер базы данных практически напоминает обычный файл-сервер.

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

Для того, чтобы обеспечить согласованность данных по чтению нет необходимости блокировать целиком таблицу, что имеет место в ряде СУБД, т.е., когда запрос (или формируемый отчет) начинает выполняться, СУБД "запоминает" старший адрес в ДФ (моментальный снимок). При этом пользователь, инициализирующий свой запрос, не обязан ждать "своего момента". Он "не видит" никого из пользователей и получает снимок БД именно в этот момент времени. Далее, по мере выполнения запроса (даже очень быстрого) часть записей-целей могла быть или изменена или удалена. Это отразится только на старших адресах ДФ, а поэтому СУБД просто проигнорирует любые изменения данных, случившиеся после начала выполнения запроса. Гарантируется корректировка сложных и длительных запросов к БД, т.е. обеспечение согласованности по чтению и транзакциям.

Становится интересным вопрос, как в этом случае ведется поиск в БД. В этом случае по ассоциатору находится множество записей-целей: число и список их адресов в основной БД, после чего производится считывание "ассоциатора" ДФ и производится корректировка этого списка. За счет этой корректировки время поиска увеличивается, причем величина этого увеличения зависит от размеров ДФ. Своевременность обновления БД должна быть в компетенции администратора БД. Чтобы исключить существенные издержки, связанные с ДФ, можно накапливать изменения БД для их пакетной обработки и при поиске ДФ не учитывать. В ряде систем, таких как банковские, допускается потеря некоторой точности в период между циклами обновления - "контролируемое запаздывание".

Помимо всего прочего использование ДФ обеспечивает:

- возможность администратору восстанавливать случайно удаленные записи;

- возможность (при необходимости) хранить индексные файлы на самих рабочих станциях;

- возможность создания распределенных БД;

- одновременное выполнение транзакций.

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

4.7. Корпоративные технологии

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

Корпоративные системы должны работать в сети и вклю­чать в себя все функциональные комплексы задач, обеспечивать автомати­зированное управление предприятиями, организациями, ведомствами.

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

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

На сегодняшний день развитие информационных технологий - создание единых сетей предприятий и корпораций, объединяющих удаленные компьютеры и локальные сети, часто использующие разные платформы, в единую информационную систему. Т.е. необходимо объединить пользователей компьютеров в единое информационное пространство и предоставить им совместный доступ к ресурсам. Однако здесь возникает множество трудностей, связанных с решением задачи по организации каналов связи (кабель Ethernet не протянешь по городу, а тем более до другого конца планеты). При построении корпоративных сетей иногда используются телефонные каналы, но связь по таким коммутируемым линиям ненадежна, аренда выделенных линий связи дорога, а эффективность такого канала невысокая. Проблема возникает и при интегрировании в корпоративную сеть разнородных ЛВС, а также в подключении больших компьютеров, например, IBM mainframe или VAX. Сложности возникают и при объединении в одну локальную сеть компьютеров с разными ОС. Поэтому построение корпоративной сети задача не из легких.

Проблема первая - это каналы связи. Самым оптимальным вариантом является использование уже существующих глобальных сетей передачи данных общего пользования, чтобы коммуникационный протокол в корпоративной сети совпадал с принятым в существующих глобальных сетях. Наиболее рациональным выбором здесь следует считать протокол Х.25. Данный протокол позволяет работать даже на низкокачественных линиях связи, так как разрабатывался он для подключения удаленных терминалов к большим ЭВМ и соответственно включает в себя мощные средства коррекции ошибок, освобождая от этой работы пользователя.