Анотація p>
Ця робота присвячена перенесення бази даних на нову технологію зстворенням клієнтських частин під сучасні операційні системи Windows'95і Windows NT для SQL бази даних. У пояснювальній записці розглядаютьсявідмітні особливості технології «клієнт-сервер», у порівнянні зтехнологією попереднього покоління «файл-сервер". Проводиться описпроцесу розробки клієнтських частин під операційні системи Windows'95 і
Windows NT для SQL бази даних. Описуються процес розробки інтерфейсукористувача під 32-розрядні операційні системи Windows'95 і Windows NT
Workstation. Розробляється алгоритм перенесення даних зі старої бази данихв нову систему. Так само представлені результати налагодження і роботирозробленої програми. p>
ЗМІСТ p>
Вступ 3
1. Теоретична частина p>
1. Огляд СУБД 5 p>
1. Sybase System 11 8 p>
2. IBM DB2 17 p>
3. RDMS Oracle 25 p>
4. Microsoft SQL Server 6.5 36 p>
2. Дослідження предметної області 49
2. Практична частина 62 p>
1. Аналіз існуючої програми 62 p>
2. Вибір платформи і програмних засобів 64 p>
3. Розробка структури нової БД 78 p>
4. Передача даних в нову базу даних 80 p>
5. Розробка програми 83
3. Налагодження 88
Висновок 92
Література 93
Додаток А. Опис Бази даних.
Додаток В. Лістинг налагоджених програм. P>
ВСТУП p>
Для більшості середніх і дрібних російських підприємств інформаційнірішення з використанням мереж персональних комп'ютерів єфактичним стандартом. У той же час, прикладне програмне забезпечення,використовуване цими підприємствами (таке як автоматизовані системидокументообігу, системи управління промисловими і торговимипідприємствами, бухгалтерські системи тощо), створене за допомогоюінструментарію попереднього покоління, і не здатний ефективно використовуватиресурси, що надаються новими технологіями. До сучасних інформаційнихсистем рівня підприємства пред'являються дуже високі вимогипродуктивності, надійності, забезпечення цілісності та безпекиданих (особливо при сьогоднішньому розвитку Internet), захисту від системних іапаратних збоїв, масштабованості, можливості взаємодії з іншимисистемами, роботи в гетерогенних розподілених обчислювальних мережах.
Протягом останнього часу велике поширення набула новатехнологія побудови баз даних - технологія «клієнт-сервер». Цятехнологія дає ряд незаперечних переваг, у порівнянні з технологієюпопереднього покоління - технологією «файл-сервер". Зокрема, вонанадає великі можливості по захисту даних від несанкціонованогодоступу і розмежування прав доступу на рівні окремих записів і полів,дає можливість роботи з великими мультимедійними і нестандартнимиданими. Також нова технологія дозволяє працювати як в локальних мережах,так і в глобальних та Internet, і багато іншого. Системи, побудовані нанової технології «клієнт-сервер», відрізняються високим рівнем безпеки,територіально незалежності і не вимогливості до апаратної потужностіклієнтських станцій.
В даний час, в області баз даних і проектуванні систем, звикористанням нової технології «клієнт-сервер», ведуться роботи в різнихнапрямках. По-перше, продовжують вестися роботи з удосконаленнятехнології та зменшення вимог до апаратного і програмногозабезпечення, з одночасним збільшенням продуктивності. По-друге,ведуться роботи в напрямі перенесення всіх програм, що використовуютьтехнологію попереднього покоління «файл-сервер», на нову ісучасну технологію «клієнт-сервер».
Дуже актуальним є проблема перенесення бухгалтерських програм,розрахованих на малі та середні підприємства і фірми, на нову технологію.
Це обумовлено тим, що область даних програм залишилася майже не торкнутановою технологією. До того ж, все більше користувачів переводять своїперсональні комп'ютери під управління 32-розрядними операційнимисистемами. 32-розрядні операційні системи клієнтів, такі як Windows'95і Windows NT Workstation, використовують зручний в роботі графічнийпризначений для користувача інтерфейс і надають все необхідне для ефективноїроботи в розподіленій середовищі. p>
1.1 Огляд СУБД p>
Незважаючи на те, що технології баз даних стають все більшпоширеними у практиці, багато розробників прикладних систем,адміністратори баз даних і кінцеві користувачі недостатньо добрерозуміють, що таке сучасні бази даних та системи управління базамиданих (СУБД). Дається взнаки відсутність або поверхневий рівеньвідповідних курсів у вищих навчальних закладах, практичну відсутністьлітератури українською мовою і, нарешті, залучення до діяльності,пов'язаної з використанням баз даних, фахівців, які раніше працювалив інших областях. Навчання, що проводиться комерційними компаніями, звичайноорієнтується на конкретні програмні продукти і не може компенсувативідсутність базової підготовки.
У всій історії обчислювальної техніки можна простежити два основнихобласті її використання. Перша область - застосування обчислювальноїтехніки для виконання чисельних розрахунків, які занадто довго або взагалінеможливо робити вручну. Розвиток цієї області сприялоінтенсифікації методів чисельного розв'язання складних математичних задач,розвитку класу мов програмування, орієнтованих на зручний записчисельних алгоритмів, становленню зворотного зв'язку з розробниками новихархітектур ЕОМ.
Друга область - це використання засобів обчислювальної техніки вавтоматичних чи автоматизованих інформаційних системах. У самомуширокому сенсі інформаційна система являє собою програмно -апаратний комплекс, функції якого полягають у надійному зберіганніінформації в пам'яті комп'ютера, виконання специфічних для даногопрограми перетворень інформації та/або обчислень, наданнікористувачам зручного і легко освоюється інтерфейсу. Зазвичай такісистеми мають справу з великими обсягами інформації, і ця інформація маєдосить складну структуру.
Друга область використання обчислювальної техніки виникла кількапізніше першого. Це пов'язано з тим, що на зорі обчислювальної технікиможливості комп'ютерів зі зберігання інформації були дуже обмеженими.
Але оскільки в інформаційних системах потрібна підтримка складнихструктур даних, ці індивідуальні засоби керування даними становилиістотну частину інформаційних систем, практично повторюючись (якпрограмні компоненти) від однієї системи до іншої. Прагнення виділитизагальну частина інформаційних систем, відповідальну за управління складноструктурованими даними з'явилося перше спонукальної причиною створення
СУБД, яка, можливо, могла б представляти деяку загальну бібліотекупрограм, що доступна кожній інформаційній системі.
Однак дуже скоро стало зрозуміло, що неможливо обійтися такий загальноїбібліотекою програм, що реалізує над стандартної базової файловою системоюбільш складні методи зберігання даними.
Взагалі, узгодженість даних є ключовим поняттям баз даних. НаНасправді, якщо інформаційна система підтримує узгоджене зберіганняінформації в декількох файлах, можна говорити про те, що вона підтримуєбазу даних. Якщо ж деяка допоміжна система керування данимидозволяє працювати з декількома файлами, забезпечуючи їх узгодженість,можна назвати її системою керування базами даних. Вже тільки вимогапідтримки узгодженості даних в декількох файлах не дозволяєобійтися бібліотекою функцій: така система повинна володіти деякимивласними даними (мета-даними) і навіть знаннями, що визначаютьцілісність даних.
Перш ніж приступити до конкретного огляду Систем Управління Базами
Даних (СУБД), необхідно дати низку визначень термінів, що використовується дляопису СУБД.
Дані - це інформація, зафіксована в певній
(структурованої) формі, придатній для наступної обробки, зберігання тапередачі. До даних необхідний «прозорий» доступ відразу декількохкористувачів, тобто будь-який користувач повинен мати можливість отримуватинеобхідну йому інформацію, модернізувати її, заносити нову і видалятистару, причому кінцевий користувач може про всі ці операції і незнати. Банк Даних (БНД) - це інформаційна система, що включає в себеінформаційні, математичні (алгоритмічні), програмні, мовні,організаційні та технічні засоби (апаратна платформа і операційнасистема) забезпечують в сукупності централізовану підтримку іколективне використання даних користувачем БНД. Мовні засоби --мови, за допомогою яких описується структура даних (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). P>
1.1.1 Sybase System 11 p>
Фірма 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 - сервер, що забезпечує роботу програм-клієнтів у p >
"прозорому" режимі з декількома серверами так, як ніби робота йде з одним сервером; при цьому в розподілену систему можуть включатися СУБД різних виробників - Sybase, Oracle, IBM і т.д.
Допоміжні серверні продукти Sybase System 11 включають:
- Sybase Backup Server - спеціальний сервер для розвантаження і завантаження баз даних, що не вимагає зупинки SQL Server і не знижує його продуктивності;
- Sybase Monitor Server - у поєднанні з графічною клієнтською частиною виконує моніторинг різних параметрів стану SQL Server;
- Sybase Replication Agent - спеціальні компоненти, які відстежують зміни в даних через журнали транзакцій різних СУБД для включення їх в систему реплікації. Replication Agent існують, зокрема, для p>
Sybase SQL Server, Oracle, DB2, Sybase SQL Anywhere.
- Sybase Audit Server - записує інформацію про дії користувачів в спеціальну базу даних, доступну для аналізу. < br> На інструментальним засобам фірми Sybase відносяться засіб швидкоїрозробки додатків PowerBuilder і CASE-система S-Designor, що випускаютьсяпідрозділом Powersoft. Ці кошти працюють з усіма основними СУБД.
Створення Sybase SQL Server11 грунтується на досвіді роботи попередніхверсій і містить ряд нових можливостей:
- Масштабованість, продуктивність і ефективність 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 може використовувати різні мережні протоколи, що дозволяє поєднати клієнт і сервер практично на кожній платформі.
- Управління та підтримка: p>
. наявність багатопотокової архітектури означає, що на комп'ютері запускається і вимагає управління тільки один процес - СУБД;
. для симетричної мультипроцесорної обробки можна конфігурувати кількість процесорів, розподілених для СУБД;
. є набір продуктів для конфігурації областей пам'яті, користувачів, контролю доступу та продуктивності - від однієї бази даних до безлічі мереж у масштабах підприємства.
Розглянемо основні характеристики 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-phasecommit). Цей механізм реалізований зараз практично у всіх виробників
СУБД.
Метод двофазної фіксації полягає в тому, що при завершенні транзакціїсервери БД, що беруть участь у ній, отримують команду "приготуватися до фіксаціїтранзакцію ". Після отримання підтверджень від всіх серверів транзакціяфіксується на кожному з них. Всі ресурси, що використовуються в транзакції,залишаються блокованими до тих пір, поки всі компоненти транзакції можутьбути атомарному завершені успішно, або всі скасовані. Таким чином, в будь-якіймомент часу забезпечується цілісність даних в розподіленій системі.
Платою за це є вимога доступності всіх що беруть участь серверів іліній зв'язку під час проведення транзакції і неможливість роботипрограм-клієнтів при недоступності, наприклад, віддаленого сервера. Крімтого, потрібна висока швидкодія ліній зв'язку для забезпеченняприйнятного часу реакції у програми-клієнта.
У розподіленої системі ідеальним було б стан, коли кожнапрограма-клієнт звертається тільки до тих серверів, які знаходяться вмежах її локальної мережі, а передача даних і забезпечення цілісностіздійснюється системними засобами і не вимагають спеціальних дій збоку прикладної програми. Такий розподіл функцій можливо іреалізується на практиці за допомогою механізму асинхронного тиражуваннятранзакцій.
Асинхронна реплікація не робить лінії зв'язку більш надійними абошвидкісними. Вона перекладає передачу даних, забезпечення їх цілісностіі очікування при передачі даних з прикладної програми та користувача насистемний рівень.
Асинхронна реплікація, на відміну від 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. Серед таких пр