Організація багатокористувацького доступу до даних

Системи управління базами даних

Проблема багатокористувацького доступу і паралельної обробки даних в автоматизованих інформаційних системах

Природним наслідком розвитку СУБД є проблема організації спільної роботи декількох користувачів з однією і тією ж сукупністю даних, або, коротко, проблеми на багато користувачів доступу до даних.
Зупинимося детальніше на основних аспектах цієї проблеми. Перш за все ситуація поділу однієї і тієї ж сукупності даних між декількома користувачами може призводити до виникнення конфліктів (спроба одноразової зміни однієї і тієї ж записи, збіг операцій читання і видалення інформації і т. Д.). Окреме місце при роботі з СУБД займають
питання запобігання колізій, які можуть виникнути в разі неузгоджених змін структури таблиць, форм дли звітів одним користувачем, коли з ними працюють інші.
З точки зору організації спільного доступу до даних з боку декількох користувачів режими роботи з ними діляться на режим монопольного (ексклюзивного) доступу і режим загального (розділеного) доступу.
Режим монопольного доступу до бази даних передбачає, що тільки один з користувачів (програмних процесів) може працювати з нею, а можливість її відкриття іншими користувачами (процесами) блокується. Відкриття бази даних в монопольному режимі, як правило, використовується для виконання операцій зі зміни структури таблиць і зв'язків між ними, експорту великої кількості інформації, виконання службових операцій з даними (збереження, відновлення, стиснення) і т. П.
Відповідно, в режимі розділеного доступу відразу кілька користувачів можуть працювати з базою даних. Для запобігання можливих конфліктів при спробах з боку різних користувачів змінити одні й ті ж записи в СУБД використовується механізм блокувань. Блокування того чи іншого об'єкта в разі роботи з ним будь-якого користувача означає запобігання будь-яких інших спроб змінити цей об'єкт, але при цьому зберігається можливість його читання. Таким чином, механізм блокувань надає більш гнучкі можливості для маніпуляцій з даними в порівнянні з режимом монопольного доступу.
Для різних СУБД конкретні технічні рішення по реалізації апарату блокувань істотно розрізняються. У MS Access, зокрема, при зміні запису одним користувачем за замовчуванням відбувається її автоматичне блокування аж до моменту завершення операції. При створенні форм, звітів або запитів в Access передбачені можливості завдання параметрів режиму блокування. На рис. 7.34 показаний процес зміни властивості Блокування записів для форми.

Організація багатокористувацького доступу до даних

Мал. 7.34. Завдання режиму блокування для даних, доступних з форми

7.4.2. Основні напрямки розвитку технології клієнт-сервер
Робота щодо подолання недоліків, органічно властивих системам файл-ceрвер, привела до появи більш прогресивної технології, що отримала назву - сервер. Її принципові відмінності показані на рис. 7.35.

Організація багатокористувацького доступу до даних

Організація багатокористувацького доступу до даних

Мал. 7.35. Принципова схема технологій файл-сервер (a) і клієнт-сервер (b)

В системі клієнт-сервер процесор бази даних розміщується на центральному сервері вмієте зі сховищем даних. Він може обслуговувати одночасно кілька клієнтських додатків, керуючи сховищем і повертаючи запитану інформацію після обробки запитів її локального додатком. До теперішнього моменту можна назвати ряд етапів, які технологія клієнт-сервер пройшла в своєму розвитку: RD А-модёль, DBS-модель і AS-модель. У RDA-моделі клієнтську програму направляє запити (як правило, на мові SQL) до інформаційних ресурсів сервера, на якому функціонує ядро ​​СУБД. Ядро обробляє отримані запити і повертає клієнту результат, оформлений як блок даних. При такій схемі програми на комп'ютерах-кліетов є ініціаторами маніпуляцій з даними, а ядру СУБД відводиться я роль. Основна перевага RDA-моделі полягає в уніфікації інтерфейсу взаємодії з сервером за допомогою стандартного мови запитів.
Уніфікація дозволяє реалізовувати додаткові заходи щодо захисту інформації, що зберігається на рівні завдання системи прав по відношенню до тих йди іншим командам. У моделі також відбувається істотна розвантаження трафіку мережі за рахунок того, що між станціями мережі тепер передаються не частини файлу бази даних, а команди і відповіді на них.
Основу DBS-моделі становить механізм збережених процедур. Збережені процедури-це засіб програмування сервера баз даних. Вони зберігаються в словнику бази даних, можуть розділятися між різними клієнтами і виконуються на тому ж комп'ютері, де запущено програмний процес сервера баз даних. Як правило, мови, на яких створюються збережені процедури, є процедурні розширення мови SQL На даний момент не існує єдиного стандарту для таких мовних засобів; тому вони є специфічними для кожної конкретної СУБД. Серед достоїнств DBS-моделі можуть бути названі можливість централізованого адміністрування прикладних функцій, подальше зниження трафіку (замість SQL-запитів по мережі передаються виклики збережених процедур), економія ресурсів комп'ютера за рахунок використання одноразово розробленого плану виконання процедури. До традиційних проблем, пов'язаних з DBS-моделлю, відносять труднощі, супутні процесам створення, налагодження та тестування процедур. Про популярність і перспективність даної моделі свідчить насамперед те, що вона реалізована в таких широко використовуваних реляційних СУБД, як Oracle, Sybase, Informix, Ingres.
В AS-моделі процес, що виконується на комп'ютері-клієнті, називається клієнтом додатки (Application Client - А С) і відповідає за інтерфейс з користувачем. У разі необхідності виконати ті чи інші прикладні операції він звертається до сервера додатки (Application Server - AS). Всі операції над інформаційними ресурсами виконуються спеціальними програмними компонентами, по відношенню до яких AS грає роль клієнта. Як приклад прикладних компонентів можуть бути названі ресурси різних типів - бази даних, черги, поштові служби і ін.
Само по собі ядро ​​бази даних Jet, як уже згадувалося раніше, не є процесором, що підтримує технологію клієнт-сервер. Однак за допомогою Access можна створювати відповідні додатки, зв'язуючись з клієнт-серверними джерелами даних через ODBC.

7.4.3. Організація захисту даних в СУБД MS Access
Неодмінною функцією будь-якої розвиненої СУБД є забезпечення захисту даних від несанкціонованого доступу. Очевидно, що повноцінний з точки зору надійності і стійкості режим захисту може бути забезпечена тільки в рамках промислових систем управління за умови комплексної реалізації заходів програмного, апаратного та адміністративного характеру. Перед цим пунктом поставлена ​​більш скромна задача - на прикладі MS Access описати на принциповому рівні ті підходи, які застосовуються в СУБД Для забезпечення програмного захисту даних.
MS Access забезпечує два традиційні способи захисту бази даних:
- установка пароля, необхідного при відкритті бази даних;
- захист на рівні визначення прав користувачів, яка дозволяє обмежити можливість отримання або зміни тієї чи іншої інформації в базі даних для конкретного користувача.
Крім того, можна видалити змінну програму Visual Basic з бази даних, щоб запобігти змінам структури форм, звітів і модулів, зберігши базу даних як файл MDE.
Установка пароля на відкриття бази даних є простим спосіб захисту. Після того як пароль установлено (функція меню Сервіс> Захист> Визначити пароль бази даних), при кожному відкритті бази даних буде з'являтися діалогове вікно, в якому потрібно ввести пароль. Відкрити базу даних і отримати доступ до її ресурсів можуть отримати тільки ті користувачі, які введуть правильний пароль. Цей спосіб досить надійний (MS Access шифрує пароль, так що до нього немає прямого доступу при читанні файлу бази даних). Однак перевірка проводиться тільки при відкритті бази даних, після чого всі її об'єкти стають повністю доступними. В результаті, установка пароля зазвичай виявляється достатньою мірою захисту для баз даних, які спільно використовуються невеликою групою користувачів або встановлені на автономному комп'ютері.
Набагато більш надійним і гнучким способом організації захисту є захист на рівні користувачів. Він подібний до способам, використовуваним в більшості мережевих систем. Процес завдання захисту на рівні користувачів складається з двох принципових етапів:
- створення системи користувачів, об'єднаних в групи (Сервіс> Захист> Користувачі та групи);
- завдання прав доступу різних користувачів і груп по відношенню до об'єктів бази даних (Сервіс> Захист> Дозволи).

Організація багатокористувацького доступу до даних

Мал. 7.36. Завдання системи користувачів

Інформація про систему користувачів зберігається в спеціальному файлі, званому файлом робочих груп. За замовчуванням це файл System.mdw. Однак за допомогою спеціальної програми, що входить в поставку Access, різні бази даних можна асоціювати з різними файлами робочих груп. При запуску Access від користувачів потрібно ідентифікувати себе і ввести пароль. Окремі користувачі можуть об'єднуватися в групи, причому один і той же користувач може бути членом різних груп. Така організація системи користувачів дозволяє досить гнучко маніпулювати набором їх прав доступу, виходячи з функціональної специфіки предметної області. У файлі робочих груп Access за замовчуванням створюються дві групи: адміністратори (група Admins) і група Users, до якої включаються всі користувачі. Допускається також визначення інших груп. Процес створення системи користувачів і визначення їх приналежності до груп показаний на рис. 7.36.

Організація багатокористувацького доступу до даних

Мал. 7.37. Завдання прав користувачів

Як групам, так і користувачам надаються дозволи на доступ, що визначають допустимі для них дії по відношенню до кожного об'єкта бази даних. Набір можливих прав, очевидно, визначається специфікою об'єкта. Так, наприклад, список градацій дозволів на роботу з екранної формою показаний на рис. 7.37.
За замовчуванням члени групи Admins мають всі дозволи на доступ до всіх об'єктів бази даних. Оскільки група Users об'єднує всіх користувачів то їй має сенс привласнювати певний мінімальний набір прав. Далі є можливість встановити більш розгалужену структуру управління, створюючи власні облікові записи груп, надаючи цим групам відповідні дозволи і додаючи в них користувачів. Процес завдання прав доступу користувачів по роботі з формами бази даних TradeTest показаний на рис. 7.37. Закінчуючи розмову про системи захисту, ще раз підкреслимо, що її ефективна реалізація можлива тільки на основі детального вивчення функціональної структури об'єкта, що автоматизується і ретельного проектування системи управління даними.

Чи знаєте Ви, що електромагнітне та інші поля є різні типи коливань, деформацій і варіацій тиску в ефірі.

Поняття ж "фізичного вакууму" в релятивістської квантової теорії поля має на увазі, що по-перше, він не має фізичної природи, в ньому лише віртуальні частинки у яких немає фізичної системи відліку, це "фантоми", по-друге, "фізичний вакуум" - це найнижча стан поля, "нуль-точка", що суперечить реальним фактам, так як, насправді, вся енергія матерії міститься в ефірі і немає іншої енергії і іншого носія полів і речовини крім самого ефіру.

НОВИНИ ФОРУМУ
Лицарі теорії ефіру