Обработка онлайн-транзакций
Онлайн-обработка транзакций ( OLTP ) — это тип системы баз данных , используемый в транзакционно-ориентированных приложениях, таких как многие операционные системы. «Онлайн» означает, что такие системы должны отвечать на запросы пользователей и обрабатывать их в режиме реального времени (обрабатывать транзакции). Этот термин противопоставляется онлайн-аналитической обработке (OLAP), которая вместо этого фокусируется на анализе данных (например, в системах планирования и управления ).
Значение термина транзакция [ править ]
Термин «транзакция» может иметь два разных значения, оба из которых могут применяться: в сфере компьютеров или транзакций баз данных он обозначает атомарное изменение состояния, тогда как в сфере бизнеса или финансов этот термин обычно обозначает обмен экономическими субъекты (используемые, например, Советом по эффективности обработки транзакций или коммерческими транзакциями . [1] ) : 50 OLTP может использовать транзакции первого типа для записи транзакций второго типа.
По сравнению с OLAP [ править ]
OLTP обычно противопоставляют онлайн-аналитической обработке (OLAP), которая обычно характеризуется гораздо более сложными запросами в меньшем объеме, предназначенными для бизнес-аналитики или отчетности, а не для обработки транзакций. В то время как OLTP-системы обрабатывают все виды запросов (чтение, вставка, обновление и удаление), OLAP обычно оптимизирован только для чтения и может даже не поддерживать другие типы запросов. OLTP также работает иначе, чем пакетная обработка и грид-вычисления . [1] : 15
Кроме того, OLTP часто противопоставляют онлайн-обработке событий (OLEP), которая основана на распределенных журналах событий и обеспечивает строгую согласованность в крупномасштабных гетерогенных системах. [2] В то время как OLTP связан с короткими атомарными транзакциями, OLEP допускает более гибкие шаблоны распределения и более высокую масштабируемость, но с увеличенной задержкой и без гарантированной верхней границы времени обработки.
Используйте [ править ]
OLTP также используется для обозначения обработки, при которой система немедленно отвечает на запросы пользователя. Банкомат ( банкомат ) для банка является примером приложения для обработки коммерческих транзакций. [3] Приложения для онлайн-обработки транзакций имеют высокую пропускную способность и требуют большого количества операций вставки или обновления при управлении базами данных. Этими приложениями одновременно пользуются сотни пользователей. Ключевыми целями OLTP-приложений являются доступность, скорость, параллелизм и возможность восстановления ( долговечность ). [4] Сокращение бумажной документации, а также более быстрый и точный прогноз доходов и расходов — примеры того, как OLTP упрощает работу бизнеса. Однако, как и многие современные онлайн-решения в области информационных технологий, некоторые системы требуют автономного обслуживания, что еще больше влияет на анализ затрат и выгод системы онлайн-обработки транзакций.
Обзор [ править ]
OLTP-система — это доступная система обработки данных на современных предприятиях. Некоторые примеры систем OLTP включают системы ввода заказов, розничных продаж и финансовых транзакций. [5] Системы онлайн-обработки транзакций все чаще требуют поддержки транзакций, которые охватывают сеть и могут включать более одной компании. По этой причине современное программное обеспечение для обработки онлайн-транзакций использует клиентское или серверное программное обеспечение для обработки и посредничества, которое позволяет транзакциям выполняться на разных компьютерных платформах в сети.
В больших приложениях эффективность OLTP может зависеть от сложного программного обеспечения для управления транзакциями (например, IBM CICS ) и/или тактики оптимизации базы данных , чтобы облегчить обработку большого количества одновременных обновлений в базе данных, ориентированной на OLTP.
Для еще более требовательных децентрализованных систем баз данных брокерские программы OLTP могут распределять обработку транзакций между несколькими компьютерами в сети . OLTP часто интегрируется в сервис-ориентированную архитектуру (SOA) и веб-сервисы .
Обработка онлайн-транзакций (OLTP) включает сбор входной информации, обработку данных и обновление существующих данных для отражения собранной и обработанной информации. На сегодняшний день большинство организаций используют системы управления базами данных для поддержки OLTP. OLTP осуществляется в системе клиент-сервер.
Процесс онлайн-транзакций касается параллелизма и атомарности. Средства управления параллелизмом гарантируют, что два пользователя, обращающиеся к одним и тем же данным в системе базы данных, не смогут изменить эти данные или пользователю придется ждать, пока другой пользователь завершит обработку, прежде чем изменять этот фрагмент данных. Элементы управления атомарностью гарантируют, что все шаги транзакции выполняются успешно как группа. То есть, если какие-либо шаги между транзакциями завершатся неудачей, все остальные шаги также должны завершиться неудачей. [6]
Проектирование систем [ править ]
Чтобы построить OLTP-систему, проектировщик должен знать, что большое количество одновременных пользователей не влияет на производительность системы. Чтобы повысить производительность OLTP-системы, разработчик должен избегать чрезмерного использования индексов и кластеров.
Следующие элементы имеют решающее значение для производительности OLTP-систем: [4]
- Сегменты отката. Сегменты отката — это части базы данных, которые записывают действия транзакций в случае отката транзакции. Сегменты отката обеспечивают согласованность чтения, транзакции отката и восстановление базы данных. [7]
- Кластеры. Кластер — это схема , содержащая одну или несколько таблиц, имеющих один или несколько общих столбцов. Кластеризация таблиц в базе данных повышает производительность операций соединения . [8]
- Дискретные транзакции. Дискретная транзакция откладывает все изменения данных до тех пор, пока транзакция не будет зафиксирована. Это может улучшить производительность коротких нераспределенных транзакций. [9]
- Размер блока . Размер блока данных должен быть кратным размеру блока операционной системы в пределах максимального предела, чтобы избежать ненужного ввода-вывода. [10]
- буферного кэша Размер : операторы SQL должны быть настроены на использование буферного кэша базы данных, чтобы избежать ненужного потребления ресурсов. [11]
- Динамическое выделение пространства для таблиц и сегментов отката
- Мониторы обработки транзакций и многопоточный сервер. Монитор обработки транзакций используется для координации услуг. Это похоже на операционную систему, которая обеспечивает координацию на высоком уровне детализации и может охватывать несколько вычислительных устройств. [12]
- Раздел (база данных) . Использование раздела повышает производительность сайтов, на которых выполняются регулярные транзакции, сохраняя при этом доступность и безопасность.
- Настройка базы данных . Благодаря настройке базы данных OLTP-система может максимизировать свою производительность максимально эффективно и быстро.
Ссылки [ править ]
- ^ Jump up to: а б Бог, Аня (2013). Бенчмаркинг систем транзакций и аналитической обработки: создание эталонного теста для смешанной рабочей нагрузки и его применение . Берлин: Springer Science & Business Media. ISBN 978-3642380709 .
- ^ «Онлайн-обработка событий — очередь ACM» . Queue.acm.org . Проверено 30 мая 2019 г.
- ^ Хеллер, Мартин (18 февраля 2022 г.). «Что такое OLTP? Основа электронной коммерции» . Инфомир . Проверено 27 сентября 2022 г.
- ^ Jump up to: а б «Характеристики производительности приложений и систем» . Oracle.com . Проверено 2 мая 2018 г.
- ^ «Руководство по работе с базами данных VLDB и секционированием» . Oracle.com . Проверено 2 мая 2018 г.
- ^ «Онлайн-обработка транзакций и поддержка принятия решений» . Microsoft.com . Проверено 7 мая 2018 г.
- ^ «Управление сегментами отката» . Oracle.com . Проверено 7 мая 2018 г.
- ^ «ISelfSchooling — Что такое кластерная таблица — Индексный кластер и хэш-кластер» . Архивировано из оригинала 14 мая 2014 г. Проверено 14 мая 2014 г.
- ^ «Режимы транзакций» . Oracle.com . Проверено 7 мая 2018 г.
- ^ «Блоки данных, экстенты и сегменты» . Oracle.com . Проверено 7 мая 2018 г.
- ^ «Настройка буферного кэша базы данных» . Oracle.com . Проверено 7 мая 2018 г.
- ^ «Монитор обработки транзакций» . C2.com . Проверено 7 мая 2018 г.
Внешние ссылки [ править ]

- Проект H-Store (изменения в архитектуре и приложениях, влияющие на производительность OLTP)
- Официальный сайт IBM CICS
- Совет по производительности обработки транзакций
- OLTP-схема
- Обработка транзакций: концепции и методы управления
- HPE NonStop