Oracle - технології створення розподілених інформаційних систем

2.3.1. Дослідження моделей інформаційного представлення даних в сучасних СУБД.

Дослідження різних методів ис засобів представлення та управління даними в інформаційних системах проведемо на прикладі інтерактивної бази даних патентного забезпечення (ПО) конструкторсько-технологічного проектування (КТП). Патент - це документ, який свідчить про право винахідника на його винахід. Для стандартизації і полегшення пошуку інформації були введені різні класифікації патентів: (Національна Класифікація Патентів (МКІ), Універсальна Десяткова Класифікація (УДК), Міжнародної класифікації винаходів (МКІ)). Всі ці класифікації покликані служити інструментом для упорядкованого збереження патентних документів, що полегшує доступ до міститься в них інформації, бути основою для виборчого розподілу інформації серед споживачів патентної інформації і для отримання систематичних даних в галузі промислового відповідності, що в свою чергу, визначає рівень розвитку різних областей техніки.

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

Міжнародна Класифікація Винаходів (МКІ) має ієрархічну структуру (представлену на рис.1) і складається з наступних відділів: 1 - Розділ, 2 - Клас, 3 - Підклас, 4 - Група, 5 - Підгрупа. Ієрархічна структура класифікації МКІ представлена ​​на рис.31.

Мал. 31. Ієрархічна структура класифікації МКІ - як основа АІС патентного забезпечення КТП.

Перехід від функціональної моделі до логічної здійснюється за допомогою реляційних методів, при цьому ієрархічна структура функціональної моделі реалізується з використанням відносин один - до -Багато і рекурсивних рис. 27. Реалізацією цієї логічної моделі є сукупністю таблиць, об'єднаних в єдиний модуль - патентну інформаційну базу даних (PIB - Patent Information dateBase).

Ядром логічної моделі є таблиця PIB_MKI (МКІ), що зв'язує таблиці PIB_PART (Розділ), PIB_CLASS (Клас), PIB_SUBCLASS (Підклас), PIB_GROUP (Група), PIB_SUB-GROUP (Підгрупа) в єдину структуру, визначальну реалізацію Міжнародної Класифікації Винаходів (МКІ) вінформаціонной системі патентного забезпечення технологічного проектування. Таблиця PIB_MKI (МКІ) в свою чергу пов'язана з таблицею PIB_PATENT (Патент), що відповідає за зв'язок з таблицями PIB_GRATHDOC (Графічні документи) і PIB_UDK (УДК) .Таблиця PIB_UDK (УДК) реалізує Універсальну Десяткову Класифікацію (УДК). Структура таблиць модуля PIB представлена ​​в таблиці 1.

Таблиця 1. Інформаційно-логічна Структура модуля Міжнародної Класифікації Винаходів.

img src = "/ images / oracletexnologiisozdaniyaraspredelennixi_51AE6C56.gif" border = 0 WIDTH = 424 height = 208>

Рис 32. Логічна модель

Дослідження архітектур програмно-технологічної реалізації АІС

В даний час існує безліч архітектур, службовців для розробки інформаційних систем, ядром яких є СУБД. Клієнт в типовій конфігурації клієнт / сервер - це автоматизоване робоче місце, що використовує графічний інтерфейс (Graphical User Interface - GUI), зазвичай Microsoft Windows, Macintosh.

Сервер ж, в основному, призначений для зберігання, передачі і розподілу інформації між клієнтами. У клієнт / серверної конфігурації програмні засоби мають поділ на клієнтську і серверну частину, однак, часті звернення клієнта до сервера знижують продуктивність роботи мережі і обумовлюють складність настройки системи.

Розглянемо варіанти розподілу функцій СУБД в клієнт / серверної системи. СУБД виконує три основні функції:

  1. доступ до даних;
  2. надання даних;
  3. бізнес - функції.

Сервер СУБД може бути реалізований на різних платформах, під управлінням операційних систем UNIX, NetWare, Windows NT, OS / 2 та ін.

До появи технології клієнт / сервер більшість додатків функціонувало на одній ЕОМ. Одна система відповідала не тільки за всю обробку даних, але також і за виконання логіки додатка. Крім того, та ж система обробляла весь обмін з кожним терміналом; всі натискання клавіш і елементи відображення обслуговувалися тим же процесором, який обробляв запити до бази даних і логіку програми.

Oracle надає такі можливості, як збережені процедури, підтримка обмежень цілісності, функції, визначені користувачем, тригери бази даних і ряд інших. Все це дозволяє додатку зберігати велику кількість бізнес-правил (або семантику моделі даних) на рівні бази даних. В результаті додаток звільняється для виконання більш тонких завдань обробки. Як показано на рис.28, така СУБД є набагато стійкішою.

Програмні продукти Oracle охоплюють всі основні компоненти архітектури клієнт / сервер, показаної на рис. 29:

1) повнофункціональний високопродуктивний сервер RDBMS (система управління реляційної базою даних), що масштабується, від портативних ЕОМ до мейнфреймів;

  1. засоби для розробки та запуску клієнтських додатків, що підтримують кілька середовищ GUI;
  2. програмний компонент для організації зв'язку між БД на різних ЕОМ, який забезпечує ефективну і безпечну зв'язок за допомогою широкого набору мережевих протоколів.

Мал. 33. Взаємодія основних компонентів в архітектурі Oracle.

Oracle використовує пам'ять системи (як реальну, так і віртуальну) для виконання призначених для користувача процесів і самого програмного забезпечення СУБД, і для кешування об'єктів даних. У простій конфігурації Oracle файли бази даних, структури пам'яті, фонові і призначені для користувача процеси розташовуються на одній машині без використання мережі. Однак, набагато частіше зустрічається конфігурація, коли БД розташована на машині-сервері, а інструментальні засоби Oracle - на іншій машині (наприклад, РС з Microsoft Windows). При такій клієнт / серверної конфігурації машини зв'язуються за допомогою деякого мережевого програмного забезпечення, яке дозволяє двом машинам підтримувати зв'язок. Для організації взаємодії клієнт / сервер або сервер-сервер необхідно використовувати програмний продукт Oracle SQL * Net, який дозволяє СУБД Oracle взаємодіяти з мережевим протоколом. SQL * Net і підтримує більшість мережевих протоколів для локальних обчислювальних мереж (таких як TCP / IP, IPX / SPX) і для мейнфреймів (наприклад, SNA). По суті, SQL * Net є проміжною програмної прошарком між Oracle і мережевим ПЗ, що забезпечує зв'язок між клієнтської машиною Oracle (на якій працює, наприклад, SQL * Plus) і сервером бази даних або між серверами баз даних. Опції SQL * Net дозволяють одній машині працювати з одним мережевим протоколом, повідомляючи із іншою машиною, що працює з іншим протоколом.

Мал. 34. SQL * NET як засіб забезпечення взаємодії між СУБД та мережею.

2.3.2 Компоненти системи управління реляційної базою даних (RDBMS).

2.3.2.1 Ядро системи управління реляційної базою даних (RDBMS).

Дві важливі частини архітектури RDBMS - ядро. яке є програмним забезпеченням, і словник даних, який складається з структур даних системного рівня, використовуваних ядром, керуючим базою даних.

RDBMS можна розглядати як операційну систему (або підсистему), розроблену спеціально для управління доступом до даних; її основні функції - зберігання, вибірка і забезпечення безпеки даних. Подібно операційній системі, СУБД Oracle управляє доступом одночасно працюючих користувачів бази даних до деякого набору ресурсів. Підсистеми RDBMS дуже схожі з відповідними підсистемами ОС і сильно інтегровані з наданими базової ОС сервісними функціями доступу на машинному рівні до таких ресурсів, як пам'ять, центральний процесор, пристрої та файлові структури.

На рис.31. показані основні підсистеми ядра Oracle, керуючого базою даних.

Рис.31. Структура ядра СУБД Oracle.

Отже, база даних - збори даних, між якими існують (смислові) зв'язку. Фізичне розташування і реалізація бази даних прозорі для прикладних програм; фізичну базу даних можна переміщати і реорганізовувати і це не вплине на працездатність програм.

Фізично база даних Oracle - не більше ніж набір файлів десь на диску. Розташування цих файлів несуттєво для функціонування (хоча важливо для продуктивності) бази даних.

Логічно база даних - це безліч користувальницьких розділів Oracle, кожен з яких ідентифікується ім'ям користувача (з паролем), унікальним в даній БД. На рис.29. показана архітектура Oracle.

Існують три основні групи файлів на диску. що є основою даних.

  1. Файли бази даних
  2. Контрольні файли
  3. журнальні файли

Найбільш важливі з них - файли бази даних. де розташовуються власне дані. Керуючі і журнальні файли підтримують функціонування архітектури. Для доступу до даних БД все три набори файлів повинні бути присутніми, бути відкритими і доступними Oracle. Якщо ці файли відсутні, звернутися до бази даних не можна, і адміністратор бази даних повинен буде відновлювати частину або всю БД, використовуючи файли резервних копій (якщо їх зробили!). Всі ці файли виконавчі.

Після інсталяції СУБД (про етапи установки детально написано в []) адміністратор має можливість увійти в СУБД використовуючи облікові записи SYS або SYSTEM, з парролем: master або manager, для створення облікових записів інших пользовтаелей, при цьому паролі облікових записів SYS і SYSTEM необхідно відразу ж змінити.

Для роботи з файлами бази даних на машині повинні існувати системні процеси Oracle і один (або більше) призначений для користувача процес.

Системні процеси Oracle (їх називають фоновими) забезпечують функціонування призначених для користувача процесів - виконують функції, які інакше довелося б виконувати призначеним для користувача процесів безпосередньо.

Додатково до фонових процесів Oracle в найпростішому випадку на одне підключення до бази даних повинен існувати один призначений для користувача процес. Користувач повинен підключитися до бази даних перш ніж він зможе звернутися до будь-якого об'єкта. Якщо один користувач реєструється в Oracle, використовуючи SQL * Plus, інший користувач вибирає Oracle Forms, а ще один користувач відкриває електронну таблицю Excel, значить є три користувальницьких процесу для роботи з цією базою даних - по одному для кожного підключення.

Oracle використовує пам'ять системи (як реальну, так і віртуальну) для виконання призначених для користувача процесів і самого програмного забезпечення СУБД, і для кешування об'єктів даних. Існують дві головні області пам'яті Oracle:

  1. Колективна пам'ять. яка використовується всіма процесами, які працюють з базою даних,
  2. локальна пам'ять для кожного користувача процесу.

Системна пам'ять. Oracle для всієї бази даних називається SGA (system global агеа - системна глобальна область або shared global агеа - колективна глобальна область). Дані та керуючі структури в SGA є розділяються, і все фонові процеси Oracle і призначені для користувача процеси можуть до них звертатися.

Пам'ять для користувача процесу. Для кожного підключення до бази даних Oracle виділяє PGA (process global агеа - глобальну область процесу або program global агеа - глобальну область програми) в пам'яті машини і, крім того, - PGA для фонових процесів. Ця область пам'яті містить дані і керуючу інформацію одного процесу і між процесами не поділяється.

2.3.2.2 Типи оброблюваних даних

Типи даних оброблюваних СУБД Oracle представлені в таблиці.

Таблиця 2. Типи оброблюваних даних.