Системи оперативної обробки транзакцій, контент-платформа

Системи оперативної обробки транзакцій.

Проблема цілісності - в забезпеченні правильності даних БД в будь-який момент часу. Вона може бути порушена в слід випадках: 1. при введенні і оновленні, коли подаються невірні відомості. 2. коли даними користуються одночасно кілька userов. 3. при збоях АПС.

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

1. обмеження на значення поля: (заборона введення 0, заборона на діапазон, заборона список).

2. обмеження на сукупність атрибутів рядка. (Посада - розрядні ставки, краю - міста).

3. обмеження одночасно на безліч рядків.

Всі ці обмеження статистичні, але при переході БД з 1 стану в інше необхідно задовольняти обмеженням цілісності до початку всіх змін і після закінчення всіх, а не кожного. Такі обмеження називаються відкладеними і щодо їх вводиться поняття транзакцій. Транзакція - закінчене з точки зору userа дію над БД. У той же час, це логічна одиниця роботи системи. Транзакція реалізує деяку прикладну функцію, наприклад, переказ грошей з одного рахунку на інший в банківській системі.

Повинна володіти 4 властивостями: 1. Атомарність (неподільність): виконується як одинарна операція доступу до БД, повинна виконуватися повністю або виконуватися зовсім. 2. Узгодженість - гарантує взаємну цілісність даних після закінчення обробки транзакцій. 3. Ізольованість (кожна транзакція може змінювати дане, яке тимчасово перебуває в неузгоджену стані). При цьому доступ інших транзакцій до цих даних заборонений, поки транзакція не завершиться. 4. довговічності - якщо транзакція пройшла успішно, то зміни не будуть втрачені. Результатом виконання транзакції може бути її фіксація (дія по фіксації змін в БД) або відкат (скасування транзакції і повернення БД в стан до початку її). Механізм фіксації і відкат заснований на використанні журналу транзакцій, де зберігається стан ДО (в декількох ітераціях) і ПІСЛЯ. Деякі діалекти SQL включають оператори проміжної фіксації (відкат від точки до точки).

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

На сучасному ринку моніторів транзакцій основними "діючими особами" є такі системи, як ACMS (DEC), CICS (IBM), TOP END (NCR), TUXEDO Sytem (Novell).

Спільне використання даних

OLTP - системи оперативної обробки транзакцій, характеризуються великою кількістю змін, одночасним зверненням безлічі користувачів до одних і тих же даних для виконання різноманітних операцій - читання, записи, видалення або модифікації даних. Для нормальної роботи безлічі користувачів застосовуються блокування і транзакції. Ефективна обробка транзакцій і підтримка блокувань входять в число найважливіших вимог до систем оперативної обробки транзакцій.

Сучасні технології БД висувають певні вимоги в галузі архітектури. До недавнього часу виділялося три класи завдань:

· Завдання оперативної обробки транзакцій;

· Завдання пакетної обробки;

· Завдання прийняття рішень.

OLTP-системи - системи оперативної обробки транзакцій. Основна функція подібних систем полягає в одночасному виконанні великої кількості коротких транзакцій від великого числа користувачів. Самі транзакції виглядають відносно просто, наприклад, "зняти суму грошей з рахунку А, додати цю суму на рахунок В". Історично такі системи виникли в першу чергу, оскільки реалізовували потреби в обліку, швидкості обслуговування, зборі даних та ін.

Системи OLTP характеризуються:

· Підтримкою великого числа users;

· Малим часом відгуку на запит;

· Відносно короткими запитами;

· Участь в запитах невеликого числа таблиць.

Практично всі запити до бази даних в OLTP-системах складаються з команд вставки, оновлення, видалення. Запити на вибірку в основному призначені для надання користувачам можливості вибору з різних довідників. Велика частина запитів, таким чином, відома заздалегідь ще на етапі проектування системи. Таким чином, критичним для OLTP-додатків є швидкість і надійність виконання коротких операцій оновлення даних.

Сервер оперативної обробки транзакцій будується в припущенні:

· OLTP - операції підтримують велику кількість user;

· Найбільш часто використовуються короткі прості транзакції;

· Зазвичай транзакції не використовую однакові дані;

· Оператори зазвичай зачіпають невелике число рядків;

· Час відгуку - частки секунди;

· Тільки кілька таблиць мають великі розміри або можуть бути змінені.

Реалізація такого сервера спирається на:

· Фізичні методики скорочень операцій з дисками;

· Обробку невеликих обсягів даних в пам'яті;

· Примітивний оптимізатор запитів;

вимога до додатків - виключити конкуренцію запитів у використанні ресурсів і даних.