Що таке OLTP? визначення, Archiтектура, приклад

⚡ Розумний підсумок

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

  • 🧩 Основне визначення: OLTP адмініструє щоденні транзакції організації, вимірюючи ефективність кількістю транзакцій, оброблених за секунду.
  • Основні характеристики: Він використовує невеликі, індексовані, повністю нормалізовані транзакції з коротким часом відгуку для обслуговування великої кількості одночасних користувачів.
  • 🔄 Підтримувані запити: Системи OLTP в основному виконують операції вставки, оновлення та видалення, а також швидкий пошук окремих записів.
  • 🏛️ Archiтекстура: Багаторівневий потік переміщує дані з бізнес-стратегії та процесів через ETL до вітрин даних та сховищ даних.
  • 🔐 Надійність ACID: AtomІзоляція, узгодженість, ізоляція та довговічність захищають цілісність даних, коли багато транзакцій виконуються одночасно.
  • 🔁 OLTP проти OLAP: OLTP обробляє транзакції в режимі реального часу, тоді як OLAP аналізує великі історичні набори даних для прийняття рішень.
  • 🇧🇷 Переваги та обмеження: OLTP спрощує транзакції та підтримує більші бази даних, але залишається схильним до збоїв обладнання та ризиків безпеки.

Визначення та огляд архітектури OLTP (онлайн-обробки транзакцій)

Що таке OLTP?

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

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

Характеристики OLTP

Нижче наведено важливі характеристики OLTP-системи:

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

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

Типи запитів, які може обробляти OLTP-система

OLTP — це онлайн-система для зміни баз даних. Таким чином, вона підтримує запити до бази даних, такі як операції вставки, оновлення та видалення, а також швидкий пошук окремих записів.

POS-система як приклад обробки OLTP-запитів
POS система для OLTP

Розглянемо систему POS (термінали продажу) супермаркету. Нижче наведено приклади запитів, які ця система може обробляти:

  • Отримання опису конкретного товару.
  • Фільтрація всіх товарів, пов'язаних з постачальником.
  • Пошук запису клієнта.
  • Розміщення товарів, вартість яких нижча за очікувану.

Обробка цих запитів для багатьох клієнтів одночасно вимагає добре структурованого дизайну, і саме тут і з'являється архітектура OLTP.

Archiструктура OLTP

Архітектура типової OLTP-системи відповідає багаторівневому потоку, проілюстрованому нижче та поясненому через її основні компоненти:

Діаграма архітектури OLTP, що показує багаторівневий потік даних

OLTP Archiтектура
  1. Бізнес / Стратегія підприємства: Стратегія підприємства стосується питань, які впливають на організацію в цілому. В OLTP вона зазвичай розробляється на високому рівні всередині фірми, радою директорів або вищим керівництвом.
  2. Бізнес-процес: Бізнес-процес OLTP – це набір дій та завдань, після виконання яких буде досягнуто мети організації.
  3. Клієнти, замовлення та продукти: База даних OLTP зберігає інформацію про продукти, замовлення (транзакції), клієнтів (покупців), постачальників (продавців) та співробітників.
  4. Процеси ETL: Це колишнєtracобробляє дані з різних вихідних систем RDBMS, перетворює дані (застосовуючи конкатенації, обчислення тощо) та завантажує оброблені дані до системи сховища даних.
  5. Сховище даних та марина даних: A Data Mart — це структура або шаблон доступу, специфічний для середовищ сховищ даних. Він використовується OLAP для зберігання оброблених даних.
  6. Інтелектуальний аналіз даних, аналітика та прийняття рішень: Дані, що зберігаються у вітрині даних і сховищі даних, можна використовувати для видобуток даних, аналітика та прийняття рішень. Ці дані допомагають вам виявляти закономірності, аналізувати необроблені дані та приймати аналітичні рішення для розвитку вашої організації.

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

Властивості ACID в OLTP

Оскільки OLTP-системи обробляють багато одночасних транзакцій, вони залежать від Властивості КИСЛОТИ для захисту цілісності даних. ACID розшифровується як Atomнадійність, узгодженість, ізоляція та довговічність, і кожна надійна OLTP-транзакція повинна задовольняти всі чотири вимоги.

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

Реляційні бази даних, такі як MySQL, Oracle Database та Microsoft SQL Server забезпечити дотримання цих гарантій ACID, тому вони залишаються вибором за замовчуванням для OLTP-навантажень з великим обсягом транзакцій.

Приклад транзакції OLTP

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

Зняття готівки з банкомата як приклад OLTP-транзакції

OLTP для зображення банкомату

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

Інші поширені приклади OLTP-систем включають:

  • Інтернет-банкінг
  • Онлайн бронювання авіаквитків
  • Надсилання повідомлення
  • Замовлення вступу
  • Додавання книги до магазинуping cart

OLTP проти OLAP

Хоча OLTP та OLAP звучать схоже, вони виконують різні функції. У таблиці нижче пояснюються основні відмінності між OLTP та OLAP, включаючи те, як OLAP зазвичай спирається на сховище даних.

Порівняння OLTP та OLAP

OLTP OLAP
OLTP — це онлайнова транзакційна система. OLAP – це процес онлайн-аналізу та отримання даних.
Він характеризується великою кількістю коротких онлайн-транзакцій. Характеризується великим обсягом даних.
OLTP — це онлайнова система модифікації бази даних. OLAP — це онлайнова система керування запитами до бази даних.
OLTP використовує традиційну СУБД. OLAP використовує сховище даних.
Він вставляє, оновлює та видаляє інформацію в базі даних. Він здебільшого виконує вибрані операції.
OLTP і його транзакції є джерелами даних. Джерелом даних для OLAP стають різні бази даних OLTP.
База даних OLTP повинна підтримувати обмеження цілісності даних. База даних OLAP не часто змінюється, тому цілісність даних не є проблемою.
Час його відгуку вимірюється в мілісекундах. Час його реакції коливається від секунд до хвилин.
Дані в базі даних OLTP завжди деталізовані та організовані. Дані в процесі OLAP можуть бути неорганізованими.
Він дозволяє виконувати операції читання та запису. Він дозволяє лише операції читання та рідко операції запису.
Це ринково-орієнтований процес. Це клієнтоорієнтований процес.
Запити в цьому процесі стандартизовані та прості. Використовуються складні запити, що включають агрегації.
Потрібне повне резервне копіювання даних у поєднанні з інкрементним резервним копіюванням. OLAP потребує резервного копіювання лише час від часу; резервне копіювання не є важливим порівняно з OLTP.
Проектування баз даних орієнтоване на застосування. Приклад: проектування бази даних змінюється залежно від галузі, такої як роздрібна торгівля, авіакомпанії чи банківська справа. Проектування баз даних орієнтоване на конкретні теми. Наприклад: проектування бази даних змінюється залежно від таких тем, як продажі, маркетинг або закупівлі.
Його використовують критично важливі для даних користувачі, такі як клерки, адміністратори баз даних та фахівці з баз даних. Його використовують користувачі знань про дані, такі як працівники, менеджери та генеральні директори.
Він призначений для ведення бізнесу в режимі реального часу. Він призначений для аналізу бізнес-показників за категоріями та атрибутами.
Пропускна здатність транзакцій є показником продуктивності. Пропускна здатність запиту є показником продуктивності.
Така база даних дозволяє використовувати тисячі користувачів. Така база даних дозволяє роботу лише сотням користувачів.
Це допомагає підвищити самообслуговування та продуктивність користувача. Це допомагає підвищити продуктивність бізнес-аналітиків.
Сховища даних історично були проектом розробки, створення якого може виявитися дорогим. Куб OLAP не є відкритим сховищем даних SQL-сервера. Тому технічні знання та досвід є важливими для керування сервером OLAP.
Це забезпечує швидкий результат для щоденних даних. Це гарантує, що відповідь на запит буде послідовно швидшою.
Його легко створити та підтримувати. Це дозволяє користувачеві створювати подання за допомогою електронної таблиці.
OLTP розроблений таким чином, щоб мати швидкий час відгуку, низьку надмірність даних і нормалізований. Сховище даних створюється унікальним чином, щоб воно могло інтегрувати різні джерела даних для побудови консолідованої бази даних.

Коротше кажучи, OLTP забезпечує основу для транзакцій у режимі реального часу, тоді як OLAP використовує ці дані для масштабного аналізу.

Переваги OLTP

Нижче наведено ключові переваги OLTP-системи:

  • OLTP пропонує точний прогноз доходів і витрат.
  • Це забезпечує міцну основу для стабільного бізнесу чи організації завдяки своєчасній модифікації всіх транзакцій.
  • OLTP значно полегшує транзакції від імені клієнтів.
  • Це розширює клієнтську базу для організації, прискорюючи та спрощуючи окремі процеси.
  • OLTP забезпечує підтримку більших баз даних.
  • Розділення даних для маніпулювання ними є простим.
  • Нам потрібен OLTP для завдань, які часто виконує система.
  • Це корисно, коли нам потрібна лише невелика кількість записів.
  • Він обробляє завдання, що включають вставку, оновлення або видалення даних.
  • Він використовується, коли потрібна узгодженість та паралельність для виконання завдань, що забезпечують більшу доступність.

Недоліки OLTP

Ось основні недоліки OLTP-систем:

  • Якщо система OLTP стикається з апаратними збоями, онлайн-транзакції сильно постраждають.
  • OLTP-системи дозволяють кільком користувачам одночасно отримувати доступ до одних і тих самих даних та змінювати їх, що може створити безпрецедентну ситуацію.
  • Якщо сервер зависне навіть на кілька секунд, це може вплинути на велику кількість транзакцій.
  • OLTP вимагає великої кількості персоналу, який працює в групах для ведення інвентаризації.
  • Системи обробки онлайн-транзакцій не мають належних методів самостійної передачі товарів покупцям.
  • OLTP робить базу даних набагато більш вразливою для хакерів і зловмисників.
  • У транзакціях B2B існує ймовірність того, що як покупці, так і постачальники втратять переваги ефективності, які пропонує система.
  • Збій сервера може призвести до wiping витягувати великі обсяги даних з бази даних.
  • Ви можете виконувати лише обмежену кількість запитів та оновлень.

Проблеми системи OLTP

Незважаючи на свої переваги, OLTP-система також має деякі проблеми:

  • Це дозволяє кільком користувачам одночасно отримувати доступ до тих самих даних та змінювати їх. Тому потрібні методи контролю паралельності та відновлення, щоб уникнути будь-яких безпрецедентних ситуацій.
  • Дані OLTP-систем не підходять для прийняття рішень. Вам доведеться використовувати дані з OLAP-систем для аналізу «що, якщо» або прийняття рішень.

Поширені запитання

Звичайні OLTP-бази даних – це реляційні системи, створені для швидких, одночасних транзакцій, включаючи MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server та IBM Db2. Вони застосовують властивості ACID та нормалізовані схеми для надійної обробки частих вставок, оновлень та видалень для таких програм, як банківська справа та електронна комерція.

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

Системи OLTP використовують повністю нормалізовану схему для зменшення надлишковості даних та підтримки узгодженості. Нормалізація розділяє дані на пов'язані таблиці, тому кожен факт зберігається один раз. Це забезпечує швидку та надійну вставку, оновлення та видалення, запобігаючи аномаліям, коли тисячі користувачів одночасно змінюють дані.

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

Так. Гібридні системи транзакційної/аналітичної обробки (HTAP) виконують транзакції та аналітику в одній базі даних, уникаючи постійного переміщення даних. Сучасні платформи використовують сховище в пам'яті та окремі механізми для обслуговування обох. Однак багато організацій досі розділяють OLTP та OLAP для захисту транзакційної продуктивності.

Більшість баз даних OLTP використовують SQL (структуровану мову запитів) для виконання операцій вставки, оновлення, видалення та вибору. SQL обробляє короткі, чітко визначені транзакції, від яких залежить OLTP, тоді як базовий реляційний механізм забезпечує властивості ACID, індексацію та контроль паралельності, щоб забезпечити точність даних під великим навантаженням.

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

Так. ChatGPT та Копілот GitHub може створювати чернетки SQL-запитів OLTP, збережених процедур та визначень схем з короткого запиту. Вони пришвидшують рутинне кодування, але перед запуском у продакшені слід перевірити вихідні дані на правильність індексів, меж транзакцій та безпеку ACID.

Підсумуйте цей пост за допомогою: