GeoSELECT.ru



Компьютеры / Реферат: Создание клиентских частей SQL БД под ОС Windows95 и WindowsNT (Компьютеры)

Космонавтика
Уфология
Авиация
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Аудит
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника
Бухгалтерский учет
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Инвестиции
Иностранные языки
Информатика
Искусство и культура
Исторические личности
История
Кибернетика
Коммуникации и связь
Компьютеры
Косметология
Криминалистика
Криминология
Криптология
Кулинария
Культурология
Литература
Литература : зарубежная
Литература : русская
Логика
Логистика
Маркетинг
Масс-медиа и реклама
Математика
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Мифология
Москвоведение
Музыка
Муниципальное право
Налоги
Начертательная геометрия
Оккультизм
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование
Психология
Радиоэлектроника
Религия
Риторика
Сельское хозяйство
Социология
Спорт
Статистика
Страхование
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Физика
Физкультура
Философия
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
   

Реферат: Создание клиентских частей SQL БД под ОС Windows95 и WindowsNT (Компьютеры)




Аннотация

Настоящая работа посвящена переносу базы данных на новую технологию с
созданием клиентских частей под современные операционные системы Windows’95
и Windows NT для SQL базы данных. В пояснительной записке рассматриваются
отличительные особенности технологии «клиент-сервер», по сравнению с
технологией предыдущего поколения «файл-сервер». Производится описание
процесса разработки клиентских частей под операционные системы Windows’95 и
Windows NT для SQL базы данных. Описываются процесс разработки интерфейса
пользователя под 32-разрядные операционные системы Windows’95 и Windows NT
Workstation. Разрабатывается алгоритм переноса данных из старой базы данных
в новую систему. Так же представлены результаты отладки и работы
разработанной программы.

СОДЕРЖАНИЕ


Введение 3
1. Теоретическая часть
1. Обзор СУБД 5
1. Sybase System 11 8
2. IBM DB2 17
3. RDMS Oracle 25
4. Microsoft SQL Server 6.5 36
2. Исследование предметной области 49
2. Практическая часть 62
1. Анализ существующей программы 62
2. Выбор платформы и программных средств 64
3. Разработка структуры новой БД 78
4. Перенос данных в новую базу данных 80
5. Разработка программы 83
3. Отладка 88
Заключение 92
Литература 93
Приложение А. Описание Базы данных.
Приложение В. Листинг отлаженных программ.

ВВЕДЕНИЕ

Для большинства средних и мелких российских предприятий информационные
решения с использованием сетей персональных компьютеров являются
фактическим стандартом. В тоже время, прикладное программное обеспечение,
используемое этими предприятиями (такое как автоматизированные системы
документооборота, системы управления промышленными и торговыми
предприятиями, бухгалтерские системы и др.), создано при помощи
инструментария предыдущего поколения, и не способно эффективно использовать
ресурсы, предоставляемые новыми технологиями. К современным информационным
системам уровня предприятия предъявляются очень высокие требования
производительности, надежности, обеспечения целостности и безопасности
данных (особенно при сегодняшнем развитии Internet), защиты от системных и
аппаратных сбоев, масштабируемости, возможности взаимодействия с другими
системами, работы в гетерогенных распределенных вычислительных сетях.
В течение последнего времени большое распространение получила новая
технология построения баз данных – технология «клиент-сервер». Эта
технология дает ряд неоспоримых преимуществ, по сравнению с технологией
предыдущего поколения – технологией «файл-сервер». В частности, она
предоставляет большие возможности по защите данных от несанкционированного
доступа и разграничение прав доступа на уровне отдельных записей и полей,
дает возможность работы с большими мультимедийными и нестандартными
данными. Также новая технология позволяет работать как в локальных сетях,
так и в глобальных и Internet, и многое другое. Системы, построенные на
новой технологии «клиент-сервер», отличаются высокой степенью безопасности,
территориально независимости и не требовательности к аппаратной мощности
клиентских станций.
В настоящее время, в области баз данных и проектировании систем, с
использованием новой технологии «клиент-сервер», ведутся работы в разных
направлениях. Во-первых, продолжают вестись работы по усовершенствованию
технологии и уменьшению требований к аппаратному и программному
обеспечению, с одновременным увеличением производительности. Во-вторых,
ведутся работы в направлении переноса всех программ, использующих
технологию предыдущего поколения «файл-сервер», на новую и более
современную технологию «клиент-сервер».
Весьма актуальным является проблема переноса бухгалтерских программ,
рассчитанных на малые и средние предприятия и фирмы, на новую технологию.
Это обусловлено тем, что область данных программ осталась почти не тронутая
новой технологией. К тому же, все больше пользователей переводят свои
персональные компьютеры под управление 32-разрядными операционными
системами. 32-разрядные операционные системы клиентов, такие как Windows’95
и Windows NT Workstation, используют удобный в работе графический
пользовательский интерфейс и предоставляют все необходимое для эффективной
работы в распределенной среде.


1.1 Обзор СУБД

Несмотря на то, что технологии баз данных становятся все более
распространенными в практике, многие разработчики прикладных систем,
администраторы баз данных и конечные пользователи недостаточно хорошо
понимают, что такое современные базы данных и системы управления базами
данных (СУБД). Сказывается отсутствие или поверхностный уровень
соответствующих курсов в высших учебных заведениях, практическое отсутствие
литературы на русском языке и, наконец, привлечение к деятельности,
связанной с использованием баз данных, специалистов, которые ранее работали
в других областях. Обучение, проводимое коммерческими компаниями, обычно
ориентируется на конкретные программные продукты и не может компенсировать
отсутствие базовой подготовки.
Во всей истории вычислительной техники можно проследить две основных
области ее использования. Первая область - применение вычислительной
техники для выполнения численных расчетов, которые слишком долго или вообще
невозможно производить вручную. Развитие этой области способствовало
интенсификации методов численного решения сложных математических задач,
развитию класса языков программирования, ориентированных на удобную запись
численных алгоритмов, становлению обратной связи с разработчиками новых
архитектур ЭВМ.
Вторая область - это использование средств вычислительной техники в
автоматических или автоматизированных информационных системах. В самом
широком смысле информационная система представляет собой программно-
аппаратный комплекс, функции которого состоят в надежном хранении
информации в памяти компьютера, выполнении специфических для данного
приложения преобразований информации и/или вычислений, предоставлении
пользователям удобного и легко осваиваемого интерфейса. Обычно такие
системы имеют дело с большими объемами информации, и эта информация имеет
достаточно сложную структуру.
Вторая область использования вычислительной техники возникла несколько
позже первой. Это связано с тем, что на заре вычислительной техники
возможности компьютеров по хранению информации были очень ограниченными.
Но поскольку в информационных системах требуется поддержка сложных
структур данных, эти индивидуальные средства управления данными составляли
существенную часть информационных систем, практически повторяясь (как
программные компоненты) от одной системы к другой. Стремление выделить
общую часть информационных систем, ответственную за управление сложно
структурированными данными явилось первой побудительной причиной создания
СУБД, которая, возможно, могла бы представлять некоторую общую библиотеку
программ, доступную каждой информационной системе.
Однако очень скоро стало понятно, что невозможно обойтись такой общей
библиотекой программ, реализующей над стандартной базовой файловой системой
более сложные методы хранения данными.
Вообще, согласованность данных является ключевым понятием баз данных. На
самом деле, если информационная система поддерживает согласованное хранение
информации в нескольких файлах, можно говорить о том, что она поддерживает
базу данных. Если же некоторая вспомогательная система управления данными
позволяет работать с несколькими файлами, обеспечивая их согласованность,
можно назвать ее системой управления базами данных. Уже только требование
поддержания согласованности данных в нескольких файлах не позволяет
обойтись библиотекой функций: такая система должна обладать некоторыми
собственными данными (мета-данными) и даже знаниями, определяющими
целостность данных.
Прежде чем приступить к конкретному обзору Систем Управления Базами
Данных (СУБД), необходимо дать ряд определений терминам, использующимся для
описания СУБД.
Данные – это информация, зафиксированная в определенной
(структурированной) форме, пригодной для последующей обработки, хранения и
передачи. К данным необходим «прозрачный» доступ сразу нескольких
пользователей, т.е. любой пользователь должен иметь возможность получать
необходимую ему информацию, модернизировать ее, заносить новую и удалять
старую, причем конечный пользователь может обо всех этих операциях и не
знать. Банк Данных (БнД) – это информационная система, включающая в себя
информационные, математические (алгоритмические), программные, языковые,
организационные и технические средства (аппаратная платформа и операционная
система) обеспечивающие в совокупности централизованную поддержку и
коллективное использование данных пользователем БнД. Языковые средства –
языки, с помощью которых описывается структура данных (DDL) и языки
манипулирование данными (DML – SQL). База Данных (БД) – это
структурированная определенным образом совокупность данных, относящихся к
конкретной задаче. БД может быть как локальная, так и распределенная.
Система Управления Базами Данных (СУБД) представляет собой комплекс
инструментальных средств (программных и языковых) реализующих
централизованное управление БД и обеспечивающих доступ к данным (изменения,
добавления, удаления, резервного копирования и т.д.). СУБД должна
обеспечивать поиск, модификацию и сохранность данных, а также оперативный
доступ (время отклика), защиту целостности данных от аппаратных сбоев и
программных ошибок, разграничение прав и защита от несанкционированного
доступа, поддержка совместной работы нескольких пользователей с данными.
При работе с СУБД можно выделить несколько уровней представления данных:
- Внешний уровень (уровень конечного пользователя). В некотором смысле это
самый главный уровень. Именно с ним работает конечный пользователь или
конечная программа. Пользователь воспринимает данные как совокупность
некоторых взаимосвязанных полей в удобном виде, позволяющих ему решать
свою задачу.
- Концептуальный уровень (уровень программиста и администратора) – это
обобщенное представление обо всех данных, хранящихся в базе или
совокупность внешних представлений. На этом уровне работают программист,
создающий прикладные программы, и администратор, разрабатывающий
структуру (схему) базы данных. Администратору доступна вся схема, вся
информация, а конкретному программисту - только ее часть, ограниченная
его привилегиями.
- Физический уровень (уровень реализации). На физическом уровне
определяются способы хранения данных с учетом подробностей (вплоть до
физического адреса) и доступа к ним. Сервер СУБД реализует именно этот
уровень.
По логическому представлению структуры данных СУБД делятся на несколько
типов: реляционные, сетевые и иерархические. Главная характеристика,
определяющая тип – это используемое представление данных.
Основной структурой в иерархических моделях данных является «дерево».
Особенности такого представления в наличии корня – единственной точки входа
в дерево, и что каждый порожденный узел имеет только одного родителя.
Недостатком этой системы является высокая избыточность. Одна запись БД –
это совокупность деревьев. Через эту структуру нельзя построить отношение
N:N (многие ко многим).
Основной структурой в сетевых моделях данных является «сеть». При таком
представлении существует несколько входов в сеть – неоднозначность доступа
к данным. Особенности такого представления: один или несколько узлов могут
иметь больше одного родителя; время доступа изменяется в зависимости от
исходного входа. Время доступа в сетевой структуре может быть больше, чем в
иерархической структуре.
Недостатком обеих этих структур является то, что при добавлении новых
вершин или установлении новых связей возникают проблемы выгрузки данных из
базы, перегенерации полностью структуры, загрузка данных обратно в базу.
При этом возникает вероятность потерять данные при обратной загрузке.
В основе структуры данных реляционной модели лежит мощный аппарат
реляционной алгебры, реляционного исчисления и теории нормализации. При
проектировании реляционной модели БД используется понятия ER-модели:
сущность – объект, атрибут – свойства и связь. Связи бывают нескольких
типов: 1:1, 1:N (N:1), N:N. У реляционной модели есть ряд ограничений:
невозможность существования двух одинаковых записей; задание типа столбца,
области значений атрибута. Достоинство реляционных СУБД, обеспечившее
высокую популярность, заключается в не функциональности языка запросов. Это
означает, что формулируете запрос не то, как надо найти данные, а что надо
найти.
Сегодня основы современной информационной технологии составляют базы
данных (БД) и системы управления базами данных (СУБД), роль которых как
единого средства хранения, обработки и доступа к большим объемам информации
постоянно возрастает. При этом существенным является постоянное повышение
объемов информации, хранимой в БД, что влечет за собой требование
увеличения производительности таких систем. Резко возрастает также в
разнообразных применениях спрос на интеллектуальный доступ к информации.
Это особенно проявляется при организации логической обработки информации в
системах баз знаний, на основе которых создаются современные экспертные
системы. Быстрое развитие потребностей применений БД выдвигает новые
требования к СУБД: поддержка широкого спектра типов представляемых данных и
операций над ними (включая фактографические, документальные, картинно-
графические данные); естественные и эффективные представления в БД
разнообразных отношений между объектами предметных областей (например,
пространственно-временных с обеспечением визуализации данных); поддержка
непротиворечивости данных и реализация дедуктивных БД; обеспечение
целостности БД в широком диапазоне разнообразных предметных областей и
операционных обстановок; управление распределенными БД, интеграция
неоднородных баз данных; существенное повышение надежности функционирования
БД.
На российском рынке наиболее популярны СУБД Progress (Progress software),
Oracle RDBMS v7 (Oracle), Microsoft SQL Server v6.5 (Microsoft), DB2 (IBM),
Sybase System 11 (Sybase).

1.1.1 Sybase System 11

Фирма Sybase - один из ведущих производителей промышленных СУБД, средств
разработки приложений и других продуктов, реализующих технологию клиент-
сервер. В конце 1995 года фирма выпустила Sybase System 11. Сейчас Sybase
System 11 выпущена для Intel и основных UNIX-платформ. На Intel-платфорах
работает СУБД для рабочих групп Sybase SQL Anywhere 5.0 - новая версия СУБД
Watcom SQL, которая теперь имеет режим совместимости с Sybase SQL Server на
уровне языка и интерфейсов.
Серверные продукты Sybase System 11 обладают архитектурой, построенной на
основе продуктов и библиотек Sybase Open Client/Server. Среди основных
серверных продуктов Sybase System 11:
- Sybase SQL Server - реляционная СУБД;
- Sybase MPP - расширение архитектуры Sybase SQL Server, разработанное и
оптимизированное для массовой параллельной обработки. Оно обладает
открытой параллельной архитектурой, предназначенной для поддержки очень
больших баз данных (VLDB);
- Sybase IQ - серверный механизм построения битовых индексов для
высокоскоростного выполнения сложных запросов к большим объемам данных;
- Sybase SQL Anywhere - "легкая" полнофункциональная СУБД на Intel-
платформах для мобильных пользователей и небольших групп;
- Sybase Replication Server - репликационный сервер для построения
распределенных систем на основе тиражирования данных;
- Sybase OmniConnect - сервер, обеспечивающий работу приложений-клиентов в
"прозрачном" режиме с несколькими серверами так, как будто работа идет с
одним сервером; при этом в распределенную систему могут включаться СУБД
различных производителей - Sybase, Oracle, IBM и т.д.
Вспомогательные серверные продукты Sybase System 11 включают:
- Sybase Backup Server - специальный сервер для выгрузки и загрузки баз
данных, не требующий остановки SQL Server и не снижающий его
производительности;
- Sybase Monitor Server - в сочетании с графической клиентской частью
выполняет мониторинг различных параметров состояния SQL Server;
- Sybase Replication Agent - специальные компоненты, отслеживающие
изменения в данных через журналы транзакций различных СУБД для включения
их в систему репликации. Replication Agent существуют, в частности, для
Sybase SQL Server, Oracle, DB2, Sybase SQL Anywhere.
- Sybase Audit Server - записывает информацию о действиях пользователей в
специальную базу данных, доступную для анализа.
К инструментальным средствам фирмы Sybase относятся средство быстрой
разработки приложений PowerBuilder и CASE-система S-Designor, выпускаемые
подразделением Powersoft. Эти средства работают со всеми основными СУБД.
Создание Sybase SQL Server 11 основывается на опыте работы предыдущих
версий и содержит ряд новых возможностей:
- Масштабируемость, производительность и эффективность SQL Server 11
основывается на следующих факторах:
. SQL Server 11 работает на множестве платформ, от персональных компьютеров
до многопроцессорных суперсерверов;
. обеспечена высокая производительность на каждой платформе благодаря
тесному взаимодействию с производителями аппаратуры и оптимизации
характеристик;
. полностью симметричная многопотоковая СУБД достигает высокой пропускной
способности и поддерживает большое количество пользователей.
- SQL Server обеспечивает надежность и целостность данных:
. SQL Server содержит механизмы триггеров и процедур, декларативной
ссылочной целостности, транзакций и т.д.;
. СУБД соответствует уровню безопасности C2 NCSA (National Computer
Security Council).
. Доступность данных повышает производительность систем:
. Sybase SQL Server программно поддерживает зеркальный журнал и зеркальную
базу данных;
. высокоскоростные средства загрузки/восстановления минимизируют влияние
этих операций на работу системы.
- Открытость и соответствие стандартам:
. SQL Server соответствует стандартам ANSI/ ISO SQL-89 и entry-level ANSI/
ISO SQL-92;
. поддерживаются приложения в стандарте ODBC и X/Open XA;
. SQL Server может использовать различные сетевые протоколы, что позволяет
соединить клиент и сервер практически на каждой платформе.
- Управление и поддержка:
. наличие многопотоковой архитектуры означает, что на компьютере
запускается и требует управления только один процесс - СУБД;
. для симметричной мультипроцессорной обработки можно конфигурировать
количество процессоров, распределенных для СУБД;
. имеется набор продуктов для конфигурирования областей памяти,
пользователей, контроля доступа и производительности - от одной базы
данных до множества сетей в масштабах предприятия.
Рассмотрим основные характеристики Sybase SQL Server.
Работа SQL Server с кэшами в памяти. Запись в журнал из кэша теперь
происходит пакетами. Это снижает уровень конкуренции за доступ к ресурсу
журнала и, соответственно, повышает производительность. Системный
администратор может разделить кэш SQL Server на несколько именованных
областей и приписать эти области различным базам данных и объектам баз
данных. Имеется возможность группировать именованные области кэша так,
чтобы более эффективно проходил обмен с диском большими блоками. Связывание
именованных кэшей и объектов баз данных осуществляется при помощи вызова
системных процедур.
При создании таблицы или индекса можно указать максимальное число строк,
хранимых на странице данных или странице индекса. Эта возможность позволяет
оптимизировать блокировки для часто обновляемых таблиц. SQL Server
использует установленное значение при добавлении и удалении строк.
Проверка взаимных блокировок. SQL Server использует алгоритм выявления
взаимных блокировок транзакций. Имеется возможность сконфигурировать то
время, через которое выполняется такая проверка. Цель конфигурирования
этого параметра - повышение производительности. Проверка взаимоблокировок -
это достаточно длительная операция для сервера. Так как проверка
запускается не сразу, выше вероятность освобождения ресурса к моменту
запуска проверки. С другой стороны, излишнее увеличение времени задержки
может привести к увеличенному времени реакции для приложения, выдавшего
взаимоблокирующий запрос.
Несколько процессов, работающих с сетевыми соединениями. В предыдущей
версии Sybase System 10 сетевым обменом занимался только один процессор в
SMP-архитектуре. Это ограничивало масштабируемость сервера на симметричной
мультипроцессорной архитектуре, так как было "узким местом" при увеличении
числа процессоров. В версии Sybase System 11 сетевым обменом могут
заниматься все процессоры.
Протокольные службы. Библиотеки Sybase обеспечивают работу серверных и
клиентских компонент со множеством сетевых протоколов от разных
производителей, в том числе TCP/IP, SPX/IPX, Named Pipes, DECNet и другие.
Архитектура Sybase позволяет как приложению-клиенту, так и серверу
одновременно работать с несколькими интерфейсами. Например, SQL Server для
Novell NetWare или Windows NT может одновременно допускать соединения через
SPX и TCP/IP.
Управление транзакциями. Архитектура Sybase System 11 поддерживает как
синхронную, так и асинхронную модель управления транзакциями. Модель
выбирается в соответствии с требованиями предметной области.
Централизованное хранение данных и доступ к центральной БД в условиях
географически распределенной системы приводят к необходимости установления
соединений между центральным сервером, хранящим данные, и компьютерами-
клиентами. Большинство компьютеров-клиентов отделены от центрального
сервера медленными и недостаточно надежными линиями связи, поэтому работа в
режиме удаленного клиента становится почти невозможной. Обмен данными на
практике часто реализуется регламентной передачей файлов, либо через
модемное соединение, либо "с курьером". То, что данные доставляются к месту
назначения не системными средствами, а путем экспорта/импорта файлов,
приводит к необходимости участия человека в процессе обмена, что влечет за
собой неоперативность поступления данных и необходимость реализации внешних
механизмов контроля целостности и непротиворечивости. Результатом является
высокая вероятность ошибок. Кроме того, реализация всех алгоритмов обмена
данными и контроля в этом случае возлагается на прикладных программистов,
проектирующих АРМ. Объем работ по программированию и отладке подпрограмм
обмена соответствует числу различных АРМ. Это также приводит к повышению
вероятности ошибок в системе.
В современной технологии АРМ объединены в локальную сеть. АРМ-клиент
выдает запросы на выборку и обновление данных, а СУБД исполняет их. Запросы
клиента в соответствии с требованиями задачи сгруппированы в транзакции.
Если все операции с базой данных, содержащиеся внутри транзакции, выполнены
успешно, транзакция в целом выполняется успешно (фиксируется). Если хотя бы
одна из операций с БД внутри транзакции не выполнилась успешно, то все
изменения в БД, произведенные к этому моменту из транзакции, отменяются
(происходит откат транзакции). Такое функционирование обеспечивает
логическую целостность данных в базе данных.
При распределенной обработке изменения, проводимые приложением-клиентом,
могут затрагивать более чем один сервер СУБД. В этом случае для поддержания
целостности необходимо применение транзакционного механизма, реализуемого
системными средствами, а не прикладной программой.
Производители современных промышленных СУБД обеспечивают поддержку
распределенной обработки транзакций. Распределенная обработка данных
основывается на синхронных или асинхронных механизмах обработки
распределенных транзакций. Эти механизмы могут использоваться совместно.
Выбор того или иного механизма зависит от требований конкретной подзадачи,
так как каждый механизм обладает сильными и слабыми сторонами.
Фиксация. Исторически первым появился метод синхронного внесения
изменений в несколько БД, называемый двухфазной фиксацией (2PC - two-phase
commit). Этот механизм реализован сейчас практически у всех производителей
СУБД.
Метод двухфазной фиксации состоит в том, что при завершении транзакции
серверы БД, участвующие в ней, получают команду "приготовиться к фиксации
транзакции". После получении подтверждений от всех серверов транзакция
фиксируется на каждом из них. Все ресурсы, используемые в транзакции,
остаются блокированными до тех пор, пока все компоненты транзакции могут
быть атомарно завершены успешно, либо все отменены. Таким образом, в любой
момент времени обеспечивается целостность данных в распределенной системе.
Платой за это является требование доступности всех участвующих серверов и
линий связи во время проведения транзакции и невозможность работы
приложений-клиентов при недоступности, например, удаленного сервера. Кроме
того, требуется высокое быстродействие линий связи для обеспечения
приемлемого времени реакции у приложения-клиента.
В распределенной системе идеальным являлось бы состояние, когда каждая
программа-клиент обращается только к тем серверам, которые находятся в
пределах ее локальной сети, а передача данных и обеспечение целостности
осуществляется системными средствами и не требуют специальных действий со
стороны прикладной программы. Такое распределение функций возможно и
реализуется на практике с помощью механизма асинхронного тиражирования
транзакций.
Асинхронная репликация не делает линии связи более надежными или
скоростными. Она перекладывает передачу данных, обеспечение их целостности
и ожидание при передаче данных с прикладной программы и пользователя на
системный уровень.
Асинхронная репликация, в отличие от 2РС, не обеспечивает полной
синхронности информации на всех серверах в любой момент времени.
Синхронизация происходит через некоторый, обычно небольшой, интервал
времени, величина которого определяется быстродействием соответствующего
канала связи. Для большинства задач кратковременное наличие устаревших
данных в удаленных узлах вполне допустимо. Вместе с тем асинхронная
репликация транзакций принципиально обеспечивает целостность данных, так
как объектом обмена данными здесь является логическая единица работы -
транзакция, а не просто данные из измененных таблиц.
Репликационный сервер Sybase Replication Server, входящий в состав Sybase
System 11, использует асинхронную модель репликации транзакций. При
разработке модели данных проектируются и правила репликации. Затем
проводится конфигурирование системы. При работе прикладной программы
изменения данных отслеживаются системными средствами и в соответствии с
конфигурацией требуемые данные передаются в удаленную СУБД.
Репликационный сервер представляет собой отдельную задачу, запускаемую
одновременно с СУБД. Он имеет свой входной язык и стандартный для продуктов
Sybase сетевой интерфейс Open Server. Такое разделение снижает нагрузку на
СУБД и делает систему в целом более открытой.
Транзакция может вносить изменения в одну или несколько таблиц базы
данных. Выбранные для репликации таблицы специальным образом помечаются.
Для каждой такой таблицы или группы ее строк, выбранной по заданному
условию, определяется один узел, в котором данные таблицы являются
первичными. Это тот узел, в котором происходит наиболее активное обновление
данных. Репликационному серверу, обслуживающему БД с первичными данными,
задается описание тиражирования (replication definition). В этом описании,
в частности, могут быть заданы интервалы значений первичного ключа таблицы
(или другое условие на первичный ключ), при выполнении которого измененные
данные будут тиражироваться из этого узла к подписчикам. Если условие не
задано, то описание тиражирования действует для всех записей таблицы.
Возможность тиражирования группы записей таблицы означает, в частности,
что часть записей таблицы может быть первичными данными в одном узле, а
часть - в других. В одном или нескольких узлах (СУБД), которым нужны
измененные данные, в обслуживающем его репликационном сервере создается
подписка (subscription) на соответствующее описание тиражирования.
В узле, содержащем первичные данные, для каждой тиражируемой базы данных
запускается специальная компонента - репликационный агент (Replication
Agent - RA). Он подключается к серверу БД и получает от него уведомления о
завершении транзакций. Измененные данные передаются репликационному
серверу, обслуживающему этот узел. Репликационный сервер в соответствии с
описанием тиражирования и подписками отправляет данные в специальном
эффективном протоколе по месту назначения - соответствующим репликационным
серверам в удаленных узлах.
Именно в этом месте - между репликационными серверами - связь может быть
медленной или недостаточно надежной. Передаваемые данные в составе
транзакции при недоступности узла-получателя записываются в стабильные
очереди на диске и затем передаются по мере возможности. Данные могут
передаваться в удаленный узел по маршруту, содержащему несколько
репликационных серверов. Данная возможность лежит в основе построения
иерархических систем репликации.
СУБД, хранящая вторичные данные, может быть любой СУБД, доступной через
шлюз, в том числе Oracle, Informix, Ingres, DB2, RMS, ISAM, или даже
приложение Open Server. СУБД, хранящая первичные данные, требует наличия
для нее RA. Сейчас RA имеется для Sybase SQL Server, Oracle, DB2, Sybase
SQL Anywhere. Готовятся RA и для других СУБД. Интерфейс RA открыт и
возможно создание RA для нестандартных источников данных.
Важно, что репликационный сервер тиражирует транзакции, а не отдельные
изменения в базе данных. Метод тиражирования транзакций гарантирует
целостность внутри транзакции, и, как следствие, невозможность нарушения
ссылочной целостности. Схема обновления первичных данных и копий данных
исключает возможность возникновения конфликтов (конфликты могут быть
вызваны только неправильным проектированием системы или сбоем).
В различных узлах предприятия используются базы данных от разных
производителей. Например, в системе принятия решений это может быть Sybase,
а в геоинформационной системе - Oracle.
Sybase OmniConnect осуществляет унифицированный доступ приложений к
разнородным источникам данных. Специальные шлюзовые компоненты организуют
работу в системе с любой промышленной СУБД, включая Oracle, Informix,
Ingres, DB/2, RMS, ISAM. Приложения-клиенты при этом работают только с
сервером OmniConnect на диалекте SQL фирмы Sybase (Transact-SQL), а
необходимая трансляция языка SQL и преобразование типов данных
автоматически осуществляется шлюзовыми модулями. Для работы с хранилищами
данных на "больших" ЭВМ (mainframe) Sybase поставляет также продукцию фирмы
Micro Decisionware (Sybase купила фирму MDI в начале 1994 года). MDI
предоставляет шлюзы в DB/2, SQL/DS, SQL/400, в том числе через IBM DRDA-
интерфейс.
OmniConnect хранит информацию о размещении таблиц на том или ином сервере
БД. Централизованно хранятся и исполняются глобальные хранимые процедуры.
Приложение-клиент может осуществлять транзакции, в которых участвуют
таблицы из различных БД, а также выполнять процедуры, которые OmniConnect
при работе с СУБД, отличными от Sybase, прозрачно преобразует к
соответствующему диалекту SQL.
Sybase MPP - это расширение архитектуры Sybase SQL Server, разработанное
и оптимизированное для массовой параллельной обработки. Он обладает
открытой параллельной архитектурой, предназначенной для поддержки очень
больших баз данных (VLDB). Sybase MPP использует стандартный SQL и открытые
интерфейсы. С ним работают те же приложения, что и с SQL Server, без
необходимости перепрограммирования.
Sybase MPP выполняет параллельно операции считывания (выборки),
добавления, обновления и удаления записей. Параллельно выполняются и
загрузка/восстановление, и создание индексов. Архитектура Sybase MPP не
содержит узких мест, связанных с разделяемой памятью или разделяемым
дисковым пространством. При выполнении параллельной выборки Sybase MPP
использует индексы.
Дополнительные процессоры и диски могут добавляться в систему постепенно,
достигая масштабируемости в сотни раз. Имеется возможность тиражировать и
перестартовать ключевые компоненты системы так, чтобы обеспечить быстрое
восстановление при сбоях.
С точки зрения приложений, пользователей и разработчиков Sybase MPP
выглядит как сервер с одной логической базой данных. Для этой базы данных
работает оптимизатор запросов. Поддерживаются хранимые процедуры и
глобальный репозитарий, где хранится информация о размещении данных. Для
управления системой имеются графические утилиты.
Sybase IQ. В системах поддержки принятия решений используется два типа
продуктов. Одни оптимизированы для предварительно известных запросов, а
другие - для запросов "на лету" (т.е. заранее неизвестных). Sybase IQ не
требует заранее определять "пути", то есть не требует использовать
предварительные знания о структуре запросов.
С использованием побитовой схемой индексации Sybase IQ практически все
данные в БД могут быть проиндексированы. Поэтому никакой запрос не приведет
к просмотру записей таблиц.
Sybase IQ не требует изменений в приложениях - любая программа,
работающая с SQL Server, будет работать с IQ. Собственно Sybase IQ не
выполняет отдельных обновлений данных. Он в прозрачном для клиента режиме
передает их для выполнения SQL Server. Sybase IQ очень эффективно выполняет
пакетные дополнения к базе данных. В отличие от технологий, основанных на B-
деревьях, при добавлении 10 миллионов строк в таблицу, где уже есть десятки
миллионов строк, Sybase IQ просто построит дополнительные страницы индекса
и не потребует перестраивать весь индекс целиком.
Sybase Backup Server - это специальный сервер для выгрузки и загрузки баз
данных, не требующий остановки SQL Server и не снижающий его
производительности.
Дамп базы данных и журнала производится без прекращения использования БД.
Поэтому имеется возможность выполнять дамп часто, что повышает надежность
системы. Backup Server выполняет весь необходимый ввод-вывод. Команды на
дамп или загрузку выдаются непосредственно для SQL Server, который
обращается к Backup Server.
Выгрузка производится в два этапа - сначала выгружается состояние данных
на момент начала дампа, а затем оно дополняется изменениями, произошедшими
за время дампа. Имеется возможность получения как полного дампа базы
данных, так и дампа изменений.
Для анализа функционирования сервера Sybase предоставляет компоненту SQL
Monitor, представляющую на любом компьютере-клиенте в графическом виде
данные по загрузке сервера, вводу/выводу, интенсивности транзакций,
использованию памяти сервером. SQL Monitor как клиент взаимодействует с SQL
Monitor-сервером, выполняющемся на том же компьютере, что и SQL Server. SQL
Monitor-сервер использует разделяемую память для доступа к информации о
работе SQL Server, и поэтому не загружает SQL Server.
Для управления конфигурацией сервера имеется как набор хранимых процедур
и set-команд, так и графическое средство. При работе с параметрами
конфигурации в командном режиме введено три уровня представления - базовый
уровень, служащий для управления основными параметрами, промежуточный
уровень и детальный уровень, на котором доступны все параметры тонкой
настройки (рис.10). Параметры организованы иерархически в соответствии с
группами функций SQL Server, которыми они управляют. Имеется возможность
создать несколько поименованных конфигураций и переключаться между ними.
Программные интерфейсы ко всем службам, предоставляемым архитектурой
Sybase, реализуются через API Open Client и Open Server. Программные
интерфейсы Open Client/Server независимы от платформы. Среди поддерживаемых
платформ DOS, Windows, MVS/CICS, Macintosh, NetWare, Windows NT, OS/2, UNIX
(все главные варианты), VMS и OpenVMS.
При разработке приложений-клиентов на языке 3-го поколения используются
библиотеки с Си-интерфейсом: DB-Library, CT-Library или ODBC (только под
Windows). При разработке приложений серверного типа используется библиотека
Open Server. Этот набор блоков для построения сервера может использоваться,
например, для доступа к нестандартному оборудованию или построения шлюзов.
ODBC API представляет собой набор вызовов функций. Доступ к базе данных в
нем задается операторами SQL, которые передаются соответствующим функциям в
виде строковых параметров. Спецификация ODBC, как и Embedded SQL,
поддерживает курсоры. Имеется возможность вызывать хранимые процедуры. Из
программы могут выдаваться любые операторы SQL, в том числе DDL-операторы.
ODBC-драйверы для Sybase выпускают несколько фирм. Такой драйвер входит в
состав Sybase Open Client.
Большинство приложений, связанных с обработкой данных в среде MS-Windows,
поддерживают ODBC-интерфейс или DB-Library, и, соответственно, имеют доступ
к СУБД Sybase. Среди таких приложений Microsoft Excel, Word, Access, Visual
Basic.
Технология и библиотеки OpenServer, входящие в состав Sybase System 11,
позволяют разрабатывать собственные приложения, использующие данные от
технологического оборудования. Другое применение Open Server - разработка
серверных компонент для математической или криптографической обработки
данных. Обработчик Open Server может быть использован как приложением-
клиентом, так и вызван из хранимой процедуры SQL Server.
SQL Anywhere 5.0 - составная часть Sybase System 11 (Sybase SQL Anywhere
- это новое название для пятой версии Watcom SQL). С объединением компаний
Sybase и Powersoft в феврале 1995 года фирма Watcom вошла в состав Sybase,
Inc. SQL Anywhere работает на платформах Windows 3.x, Windows NT и Windows
95, OS/2, DOS, Novell NetWare и QNX. Среди поддерживаемых сетевых
протоколов - TCP/IP, Named Pipes, IPX/SPX.
Приложения-клиенты могут разрабатываться с использованием ODBC, Embedded
SQL и собственного интерфейса Watcom HLI. Имеется собственный DDE-сервер
для интеграции, например, с Excel, Word или Visual Basic.
Включение SQL Anywhere в состав линии продуктов Sybase придало новые
качества продукту: собственная репликация данных (SQL Remote); поддержка
системы репликации (Sybase Replication Server); графический инструмент
администрирования (SQL Central); поддержка (Transact-SQL); поддержка
ODBC2.1; повышение производительности и мониторинг производительности;
расширения языка Watcom SQL; универсальный серверный интерфейс SQL Anywhere
Open Server.
База данных SQL Anywhere может участвовать в схеме репликации Sybase
Replication Server. Для интеграции с Replication Server используется
специальный шлюзовой компонент - Open Server Gateway для SQL Anywhere,
который "транслирует" стандартный для продуктов Sybase интерфейс Open
Client/Server в интерфейс SQL Anywhere. Для отслеживания изменений в базе
данных SQL Anywhere предусмотрен компонент Replication Agent.
Другой механизм репликации (SQL Remote) - это система репликации только
между базами данных SQL Anywhere. Это менее гибкая система, чем Replication
Server; например, в ней жестко требуется, чтобы имена объектов
тиражирования были одинаковыми во всех базах данных. Зато SQL Remote легко
администрируется, пригоден для широкого использования в том числе и в
случаях, когда базы данных не имеют прямого соединения друг с другом.
SQL Remote - это система репликации (тиражирования данных) между базами
данных SQL Anywhere, основанная на передаче сообщений. Эта система
администрируется из единого центра и наиболее подходит для обмена данными с
laptop-компьютерами и другими пользователями, связь с которыми есть от
случая к случаю. Система SQL Remote может использовать для репликации
средства электронной почты (MAPI, VIM, SMTP), файловый обмен и готовящийся
к выходу механизм Sybase Messaging Services.
SQL Remote реплицирует данные между "консолидированной" БД и одной или
несколькими "удаленными" БД. В качестве удаленных могут выступать как
сетевые серверы SQL Anywhere, так и локальные однопользовательские БД. SQL
Anywhere поддерживает иерархическую модель репликации.
SQL Central - графическое средство администрирования БД, работающее под
Windows 95 и Windows NT. Из SQL Central осуществляются все административные
действия от создания баз данных, загрузки/выгрузки до создания таблиц,
процедур и назначения полномочий. SQL Central также управляет системой
репликации SQL Remote, описанной выше. Для удобства предусмотрен drag-and-
drop интерфейс, контекстная подсказка и контекстное меню по правой кнопке
мыши.
SQL Anywhere 5.0 включает набор расширений языка Watcom SQL в сторону
диалекта Transact-SQL Sybase, используемого в Sybase SQL Server на
различных платформах. Диалект Transact-SQL сам по себе не является лучше
или хуже диалекта Watcom SQL. Достигнутая совместимость означает, что на
нижних уровнях распределенной информационной системы можно использовать
"легкую" по ресурсам, мощную по функциональности и дешевую СУБД SQL
Anywhere, а на уровне выше - промышленную высокопроизводительную СУБД
Sybase. При этом приложения, работающие с этими СУБД, окажутся инвариантны
к тому, с какой СУБД они работают.
Использование журнала транзакций в SQL Anywhere уменьшает время фиксации
каждой транзакции. Сервер SQL Anywhere является 32-разрядным (кроме
платформы Windows 3.X).
СУБД использует оптимизатор, который выбирает лучшую стратегию для
выполнения каждого запроса. Для этого оптимизатор определяет стоимость
каждой стратегии, оценивая требуемое количество считываний и записей на
диск. Выбранная стратегия задает, в каком порядке происходит доступ к
таблицам в запросе и следует ли использовать индекс для каждой таблицы.
Окно статистики в интерактивном средстве для формирования запросов (ISQL)
позволяет просмотреть выбранный план выполнения любого оператора SQL.
В SQL Anywhere предусмотрен набор статистической информации,
предназначенной для оценки производительности. Эта информация доступна из
инструмента администратора SQL Central и приложений-клиентов. В дополнение,
подобная информация предоставляется из SQL Anywhere в монитор
производительности Windows NT.
WSQL Dynamic Data Exchange (DDE) - это метод взаимодействия приложений.
DDE использует архитектуру клиент-сервер. Так, приложение-клиент может
запрашивать данные у приложения-сервера.
WSQL DDE-сервер - это Windows-приложение, которое позволяет выбирать и
изменять данные в БД SQL Anywhere. Получаемые данные могут передаваться
приложению-клиенту через буфер в памяти или через Clipboard.
Sybase System 11 - семейство интегрированных продуктов, нацеленных на
каждую область применения реляционной СУБД, от обработки данных в реальном
времени до задач принятия решений и хранилищ данных, от тысяч пользователей
и очень больших баз данных до "легкого" сервера для рабочих групп, который
работает на персональном компьютере.

1.1.2 IBM DB2

Фирма IBM является крупнейшей фирмой в мире, занимающейся компьютерной
техникой и информационными технологиями. Среди многочисленных аппаратных и
программных решений, предлагаемых IBM, весьма почетное место всегда
занимали компоненты для сохранения и использования данных. Семейство DB2
систем управления реляционными базами данных является ключевым программным
компонентом, предлагаемым фирмой IBM для хранения и интенсивного
использования больших объемов данных.
Прикладные системы, для которых используется DB2, - это стандартные OLTP
(on-line transaction processing) системы. Кроме того, DB2 широко
применяется для информационных систем различного назначения, для построения
информационных хранилищ данных и для систем поддержки принятия решений.
Еще некоторое время назад IBM рассматривала DB2, в первую очередь, как
необходимое средство поддержки для аппаратных платформ, производимых и
продаваемых IBM (DB2 для MVS, VM, VSE, AIX, OS/400, OS/2), и не выпускала
DB2 для серверных операционных систем других фирм. Бурное развитие
программного рынка в последние годы дало жизнь версиям DB2 для
разнообразных вариантов ОС Unix и Windows NT.
Появление работы E. Кодда в 1970 г. с предложением реляционного подхода
для создания баз данных положило начало исследовательской активности в
области реляционных баз данных в ряде лабораторий IBM. Первые проекты и
прототипы были консолидированы в лаборатории Санта-Тереза, Калифорния в
середине семидесятых годов и завершились созданием System R. Эта система во
многом определила архитектуру современных реляционных баз данных, в
частности использование непроцедурного языка запросов SQL. После
исследовательской стадии, в 1981 г. появился коммерческий продукт SQL/DS
для VM, а в 1983 г. - собственно DB2 для мэйнфреймов под MVS и MVS/ESA.
Другим интересным проектом, влияние которого ощутимо в DB2, был Starburst
на рубеже 80-90-x.
Многочисленные современные проекты, ведущиеся в настоящее время вокруг
семейства DB2 в Альмадене, Санта-Тереза и Торонто позволяют судить о том, в
каких направлениях видят развитие баз данных разработчики DB2.
Значительная часть ведущихся проектов касается расширения сферы
применения реляционных баз данных для новых задач, связанных с хранением и
использованием новых сложных типов данных, поддержки объектно-
ориентированных расширений и реализаций новых методов поиска и анализа
данных. Другая часть исследований касается вопросов повышения
производительности и масштабируемости, использования методов
распараллеливания в работе серверов баз данных. Часть результатов этих
проектов уже воплотилась в текущей версии DB2, другие проекты должны
получить развитие в следующей DB2 Universal Server (DB2 версия 5, согласно
новой унифицированной нумерации).
Программные решения IBM, наряду с DB2, включают и другие программные
средства, например: транзакционные продукты CICS, Encina, MQSeries, которые
вместе с DB2 могут образовывать более гибкую и подходящую для конкретного
случая архитектуру, чем основанное только на использовании СУБД решение.
Продукты семейства DB2. DB2 Parallel Edition ориентирована на технологию
распараллеливания запросов к очень большим базам данных (VLDB), размещенным
на системах с массовым параллелизмом (MPP). Серверы из семейства DB2 Common
Server представляют общее решение для рабочих групп, малых и средних
организаций, переносимое и масштабируемое на серверах, работающих под
управлением OS/2, Windows NT, AIX, HP-UX, Sun Solaris, SCO, SINIX.
Существуют также более специализированные серверные продукты типа
DataJoiner, который предоставляет клиентам-приложениям оптимизированный
доступ к распределенным данным, управляемым Oracle, Sybase, MS SQL Server,
DB2, и предлагает единую базу-образ гетерогенной среды.
Поддержка существующих международных отраслевых стандартов, таких как SQL
92 Entry Level, ODBC, XA, JDBC, новых версий SQL и корпоративных стандартов
фирмы IBM, является необходимым качеством семейства DB2, обеспечивающим
взаимодействие разнообразных программных и аппаратных средств.
Вокруг базовой группы продуктов существует разнообразная инфраструктура
комплектующих и дополнительных продуктов, предназначенных для
администрирования баз данных – DataHub и компоненты Tivoli, для репликации
данных - DataPropagator, семейство средств разработки VisualAge для
различных языков программирования (С++, Smalltalk, 4GL, Java, Basic) с CASE-
средствами IBM DataAtlas и VisualAge PackBase, пакеты средств формирования
запросов и создания отчетов Intelligent Decision Server и QMF, комплексное
решение для построения локальных информационных хранилищ данных - Visual
Warehouse, средства анализа и поиска информации в базах данных Intelligent
Miner, средство для работы с метаданными и построения каталога
информационных ресурсов DataGuide, решения для поддержки OLAP-приложений -
DB2 OLAP Server and IDS, и так далее.
DB2 как сервер поддержки OLTP. На сегодняшний момент большинство
реляционных баз данных занято хранением операционных данных, полученных от
OLTP (OnLine Transaction Processing) приложений. Такие приложения
предназначены для поддержки текущей деловой активности финансовых,
административных и промышленных организаций, где данные, в основном,
числовые и символьные.
OLTP-приложения оперируют с критически-важными данными, которые требуют
защиты от несанкционированного доступа, от нарушений целостности, от
аппаратных и программных сбоев. Типичной является ситуация, когда система
должна поддерживать быстрый доступ к данным большого числа пользователей,
выполняющих относительно несложные запросы на поиск и обновление данных.
Критическим показателем для OLTP является время ожидания выполнения
типичных запросов, которое не должно превышать нескольких секунд.
В условиях постоянного роста объема хранимых данных, необходимым
требованием к DB2 становится возможность масштабировать систему при
увеличении объемов данных, при увеличении потока транзакций и количества
пользователей, в первую очередь, путем наращивания аппаратных ресурсов, при
сохранении времени отклика системы в допустимых пределах.
До появления реляционных СУБД задачи поддержки OLTP решались с
использованием дополнительного программного обеспечения - мониторов
транзакций, например CICS. Однако практика внедрения архитектуры клиент-
сервер без применения промежуточного монитора транзакций потребовала
универсализации сервера баз данных и оснащения его некоторыми свойствами
мониторов транзакций для внешнего взаимодействия и повышения
производительности.
Наглядными примерами тенденции преобразования многих СУБД и, в частности,
DB2 в легкие мониторы транзакций могут служить появившиеся у СУБД функции
поддержки хранимых процедур и компонентов для координации изменений в
распределенной базе данных.
DB2 для OS/390 как корпоративный сервер. DB2 для мэйнфреймов появилась в
эпоху вычислительных центров и с самого своего появления была ориентирована
на поддержку очень крупных централизованных систем, для которых главными
требованиями являлись производительность и очень высокая надежность.
DB2 предназначалась для взаимодействия с приложениями, работающими под
MVS-TSO, транзакционными продуктами CICS, IMS, и поддержки пакетной
обработки больших объемов данных. Последующие версии DB2 стали поддерживать
архитектуру клиент-сервер.
Более высокая надежность платформы OS/390 по сравнению с вычислительными
системами других типов вместе с развитием и удешевлением технологий
хранения данных и высокопроизводительных коммуникаций определяет
использование DB2 для OS/390 как корпоративного сервера баз данных и центра
массивной обработки данных.
Для DB2/390 основными тенденциями развития являются, с одной стороны,
стремление к наращиванию производительности, что связано с тенденцией
физического роста корпоративных баз данных, а с другой стороны, укрепление
интеграции с прочими программными средствами на различных платформах.
DB2 для MVS версии 3, появившаяся в 1992 году, обладала серьезными
улучшениями в области производительности, на основе распараллеливания
операций ввода/вывода и работы с независимыми разделами дисковых устройств,
использования возможностей аппаратного обеспечения и операционной системы,
например методов компрессии данных и аппаратной поддержки сортировки.
В DB2 для MVS версии 4 важные добавления были сделаны в поддержку
архитектуры клиент-сервер, использования DB2 в масштабируемой архитектуре
Parallel Sysplex, возможности распараллеленного исполнения запросов.
Появились также хранимые процедуры как важное средство снижения сетевого
трафика и перенесения бизнес-логики приложений на сервер баз данных. Также
увеличились возможности DB2 по поддержке клиентов до 25 тысяч на один
сервер, а с учетом возможности параллельной работы в группе до 32 узлов DB2
в Parallel Sysplex - до 800 тысяч клиентов.
Для архитектуры клиент-сервер наиболее важные улучшения связаны с
поддержкой клиентов в сетях TCP/IP, хранения данных в ASCII-форматах, более
развитых механизмов хранимых процедур, стандартизацией DB2 SQL и появлением
продукта DB2 WWW Connection для доступа к данным из Internet.
Архитектура DRDA. При изначальной ориентации DB2 на платформах MVS, VM,
VSE на централизованные приложения впоследствии, в условиях распространения
архитектуры клиент-сервер, потребовалась дополнительная поддержка
удаленного доступа для PC- и Unix-рабочих станций к базам данных на
мэйнфреймах и на системах типа AS/400.
Решая проблему поддержки архитектуры клиент-сервер, IBM предложила
архитектуру DRDA (Distributed Relational Database Architecture) в виде
открытой спецификации, описывающей протоколы взаимодействия удаленного
клиента с базами данных. Реализация DRDA должна была позволить продуктам от
разных производителей баз данных прозрачно взаимодействовать и, в
частности, образовывать единую распределенную базу данных.
Подход DRDA позволяет решить многочисленные проблемы кросс-платформенного
взаимодействия, в частности конвертацию ASCII- и EBCDIC-данных, различия в
диалектах SQL, командах, типах данных, строении каталогов. В настоящее
время архитектуру DRDA поддерживают прежде всего все серверы семейства DB2;
остальные производители реализовали продукты типа DRDA-реквесторов, которые
позволяют прикладным программам-клиентам иметь доступ к базам DB2, например
к DB2/390.
Типичный пример такого DRDA-реквестора производства IBM - продукт DDСS,
работающий на OS/2, AIX, Windows, Windows NT, служащий
многопользовательским шлюзом к DB2 для пользователей локальной сети или, в
случае однопользовательского варианта, работающий на компьютере клиента.
Реализация поддержки DRDA по протоколам TCP/IP, в добавление к традиционной
поддержке протоколов SNA, в новых версиях серверов DB2 и шлюзов DDCS
значительно упрощает многочисленным пользователям доступ к базам данных DB2
на мэйнфреймах и AS/400.
DB2 Common Server. Эксплуатация реляционных баз данных поставила перед
разработчиками практические задачи по дополнению СУБД новыми возможностями
и привела к появлению нового поколения систем управления базами данных, так
называемых расширенных реляционных (extended relational) СУБД. К этому
классу относят системы управления базами данных, поддерживающие ряд
дополнительных возможностей, которые выходят за рамки реляционной алгебры,
- триггеры, хранимые процедуры, контроль целостности и т. д.
На сегодняшний день практически все системы управления реляционными
базами данных ведущих производителей, в том числе DB2, можно отнести к
категории расширенных.
Целью проекта IBM Starburst в конце восьмидесятых годов было создание
такой расширяемой системы управления реляционными базами данных.
Практическим результатом проекта Starburst и его продолжения проекта
Starwings было появление семейства DB2 Common Server в 1993 г.
Для поддержки OLTP-приложений в DB2 Common Server реализовано большое
число механизмов, улучшающих производительность, включая разнообразные
алгоритмы буферизации, алгоритмы контроля ресурсов и методы мониторинга,
конфигурации и настройки параметров системы, использующие статистику
системы.
Система управления буферизацией использует алгоритмы распараллеливания
операций ввода/вывода, предварительного чтения данных и индексов,
асинхронной записи на диск и многие другие. DB2 Performance Monitor,
поставляемый вместе с DB2, предоставляет широкие возможности для сбора и
анализа данных о производительности системы, включая информацию о событиях
и периодические срезы параметров производительности.
Оптимизатор DB2 является одним из наиболее важных компонентов,
обеспечивающих DB2 высокую производительность и адаптацию к различным
задачам. DB2 строит так называемую QGM (Query Graph Model) для внутреннего
представления запросов и использует ее на этапах проверки семантики
запросов, преобразования запросов к оптимальному виду и построения плана
исполнения запроса. Расширяемость QGM позволяет легко добавлять к SQL DB2
новые конструкции.
При анализе плана исполнения запроса оптимизатор, используя статистику
каталогов и параметры аппаратной части, оценивает эффективность того или
иного плана исполнения запроса и выбирает наилучший. Один из
административных компонентов DB2, Visual Explain, позволяет наглядно
представить выбранный план исполнения запроса и даже оценить его
эффективность при изменении параметров системы.
Объектно-реляционные свойства DB2. В настоящее время существует множество
приложений, оперирующих с данными, которые имеют гораздо более сложную и
чаще изменяемую структуру, чем традиционно используемая в реляционных базах
данных. Стремительно растет число мультимедийных приложений. Кроме того,
актуальна более гибкая поддержка серверами баз данных бизнес-логики
приложений.
DB2 Common Server, появившаяся в 1995 году, уже содержит инфраструктуру
для реализации объектно-ориентированных функций, на основании которой
построены реляционные расширения DB2 (relational extenders). Расширения
позволяют определять структуру, атрибуты и поведение новых типов данных,
сохранять эти данные в таблицах DB2 и затем использовать их в SQL-
выражениях. В общем случае при создании новых типов данных используется UDT
(User Defined Type - определяемые пользователем типы данных) DB2, часто
основанные на применении больших объектов DB2, поведение новых типов данных
определяется с помощью нескольких UDF (User Defined Function - определяемая
пользователем функция). При этом механизмы триггеров (triggers) и
ограничений (constrains), предлагаемые DB2, оснащающие базу данных
возможностями хранить правила поведения данных, могут использоваться для
управления внутренней структурой новых сложных типов данных.
Подобно некоторым другим базам данных, DB2 Common Server позволяет
хранить данные в больших бинарных (BLOB) и символьных (CLOB) объектах.
Размер объекта может достигать 2 Гбайт.
Поскольку размер таких объектов сильно отличается от традиционных данных,
на обработку которых настроены серверы реляционных баз данных, то DB2
содержат ряд функций помогающих обеспечить нормальную производительность:
переменные типа локаторов, ссылки, специальные режимы при журналировании.
Кроме того, IBM предлагает специализированные программные и аппаратные
решения, такие как Digital Library, ориентированные на хранение и
высокопроизводительную обработку мультимедийных данных и на взаимодействие
с DB2.
Постоянно растущие объемы текущих операционных данных представляют собой
значительную ценность для решения разнообразных задач управления, поскольку
являются объективным отражением происходящих деловых процессов.
На сегодняшний день задача построения информационных хранилищ
представляет весьма сложный комплекс проблем и решений, касающихся
пополнения хранилищ информацией, трансформации, хранения, представления и
использования информации. Причем важнейшую роль в этом комплексе играют
весьма сложные инструментальные средства. Качественное изменение характера
данных в информационных хранилищах и изменение характера работ,
производимых над базой данных, требуют определенных технологических
изменений в ядре самой СУБД, в частности поддержания новых методов хранения
и размещения данных и новых методов поиска.
DB2 кроме естественной роли быть источником операционных данных для
пополнения хранилищ обеспечивает хранение самих информационных данных и
эффективное выполнение сложных запросов, включающих многочисленные
соединения таблиц, вычисления и методы группировки данных. В частности, уже
сейчас оптимизатор DB2 Common Server поддерживает оптимизацию запросов к
базам данных, смоделированным по принципу звезды (Star Schema), широко
используемым дл

Новинки рефератов ::

Реферат: Регулирование бюджетного дефицита (Финансы)


Реферат: Социальная политика в сфере занятости населения (Социология)


Реферат: Оборотные средства предприятия (Финансы)


Реферат: Защита права собственности (Гражданское право и процесс)


Реферат: Гаргантюа и Пантагрюэль (Литература : зарубежная)


Реферат: Метод наблюдения (Социология)


Реферат: Мартин Иден (Литература : зарубежная)


Реферат: Французская философия XVIII века (Философия)


Реферат: Статистика (Математика)


Реферат: Гораций (Искусство и культура)


Реферат: Амортизация основних фондов (Амортизація основних фондів) (Аудит)


Реферат: Арбат в культуре и литературе второй половины ХХ века (Искусство и культура)


Реферат: Питирим Сорокин (Культурология)


Реферат: Маркетинговая деятельность на основе технологий Интернет (Маркетинг)


Реферат: Засоби захисту права власностi (Гражданское право и процесс)


Реферат: А. Вампилов. "Утиная охота" (Литература : русская)


Реферат: Сирия (География)


Реферат: Атомные пули (Физика)


Реферат: Проблема эффективности урока графики (Педагогика)


Реферат: Малый бизнес характерные черты, преимущества и проблемы с социально-культурой сфере (Право)



Copyright © GeoRUS, Геологические сайты альтруист