ними по сетімаксімальную для своїх обчислювальних установок продуктивність. Програмне забезпечення СУБД для реалізації такого підходу відповідно доповнюється функціями тиражування (реплицирования) баз даних, включаючи тиражування як самих даних та їх структури, так і системного каталогу з інформацією про розміщення реплік, інакше кажучи, з інформацією про конфігуруванні побудованої таким чином розподіленої системи [4 ].
2.1 Основоположний принцип побудови і функціонування розподілених систем
комп'ютерний математичний моделювання дані
При цьому, однак, виникають дві проблеми забезпечення одного з основоположних принципів побудови і функціонування розподілених систем, а саме - безперервності узгодженого стану даних:
забезпечення узгодженого стану у всіх репліках кількості і значень загальних даних;
забезпечення узгодженого стану у всіх репліках структури даних.
Забезпечення узгодженого стану загальних даних, у свою чергу, грунтується на реалізації одного з двох принципів:
принципу безперервного розмноження оновлень (будь-яке оновлення даних в будь репліці має бути негайно розмножено);
принципу відкладених оновлень (поновлення реплік можуть бути відкладені до спеціальної команди або ситуації).
Принцип безперервного розмноження оновлень є основоположним при побудові так званих «систем реального часу», таких, наприклад, як системи управління повітряним рухом, системи бронювання квитків пасажирського транспорту і т. п., де потрібно безперервне і точне відповідність реплік або інших розтиражованих даних у всіх вузлах і компонентах подібних розподілених систем.
Реалізація принципу безперервного розмноження оновлень полягає в тому, що будь-яка транзакція вважається успішно завершеною, якщо вона успішно завершена на всіх репліках системи. На практиці реалізація цього принципу зустрічає істотні труднощі, пов'язані з тупиками, як і в технологіях синхронізаційних захоплень систем «Клієнт-сервер». Припустимо, що на одній обчислювальній установці користувач оновлює дані в своїй репліці [2]. На час здійснення транзакції (транзакцій) відповідні записи в базі даних цієї репліки ядром локальної СУБД заблоковані від зміни іншими користувачами. Разом з тим транзакція може бути зафіксована і, отже, розблоковані відповідні дані тільки тоді, коли дана транзакція послана і також завершена на інших репліках системи. Припустимо також, що в іншій репліці системи, що перебуває на іншому комп'ютері мережі, в цей же час інший користувач проводить свої оновлення (транзакції) з тими ж записами, які, природно, в цей момент також заблоковані від змін для інших користувачів [5]. Так утворюється безвихідь. Одна транзакція не може бути зафіксована в своїй репліці, бо заблоковані відповідні записи в іншій репліці. А розблокування цих записів в іншій репліці також неможлива доти, поки не розблоковуються відповідні записи в першій репліці, т. Е. Коли завершиться транзакція в першій репліці. Створюється тупикова ситуація.
. 2 Алгоритм «Клієнт-сервер»
Для виявлення (розпізнавання) тупиків в реплікованих системах застосовуються такі ж алгоритми, які були розроблені в моніторах транзакцій централізованих систем «Клієнт-сервер», - будується і підтримується аналогічний граф очікування транзакцій і застосовуються аналогічні алгоритми розпізнавання і руйнування тупиків, засновані в основному на техніці пріоритетів.
У цілому ряді предметних областей розподілених інформаційних систем режим реального часу з погляду безперервності узгодження даних не потрібно. Такі системи автоматизують ті організаційно-технологічні структури, в яких інформаційні процеси не настільки динамічні. Якщо взяти, наприклад, автоматизовану інформаційну систему документообігу, то традиційна «швидкість» переміщення і руху службових документів відповідає робочому дню або в кращому випадку робочим годинах. У цьому випадку оновлення реплік розподіленої інформаційної системи, якщо вона буде побудована на технології реплицирования, потрібно, скажімо, тільки лише один раз за кожен робочий час, або за кожен робочий день [6].
Такого роду інформаційні системи можна будувати на основі принципу відкладених оновлень. Накопичені в якій-небудь репліці зміни даних спеціальної командою користувача направляються для поновлення всіх інших реплік систем. Така операція називається синхронізацією реплік. Можливість конфліктів і тупиків в цьому випадку при синхронізації реплік істотно знижується, а нечисленні подібні конфліктні ситуації легко вирішити організаційними заходами.
Рішення другої проблеми узгодженості даних, а саме - узгодженості структури даних, здійснюється через частко...