Обработка онлайн-транзакций - Online transaction processing
В Обработка онлайн-транзакций (OLTP) информационные системы обычно упрощают и управляют приложениями, ориентированными на транзакции.
Термин «транзакция» может иметь два разных значения, оба из которых могут применяться: в области компьютеров или транзакции базы данных он обозначает атомарное изменение состояния, тогда как в сфере бизнеса или финансов этот термин обычно обозначает обмен экономическими субъектами (как, например, Совет по производительности обработки транзакций или коммерческие сделки.[1]):50 OLTP может использовать транзакции первого типа для записи транзакций второго типа.
OLTP также используется для обозначения обработки, при которой система немедленно отвечает на запросы пользователей. An банкомат (ATM) для банка - это пример приложения для обработки коммерческих транзакций. Приложения для онлайн-обработки транзакций обладают высокой пропускной способностью и требуют большого количества вставок или обновлений при управлении базами данных. Эти приложения используются одновременно сотнями пользователей. Ключевые цели приложений OLTP - доступность, скорость, параллелизм и возможность восстановления.[2] Сокращение количества бумажных документов и более быстрый и точный прогноз доходов и расходов являются примерами того, как OLTP упрощает работу предприятий. Однако, как и многие современные онлайн-решения в области информационных технологий, некоторые системы требуют автономного обслуживания, что дополнительно влияет на анализ рентабельности системы обработки онлайн-транзакций.
OLTP обычно противопоставляется OLAP (онлайн-аналитическая обработка), которая обычно характеризуется гораздо более сложными запросами в меньшем объеме, для целей бизнес-аналитики или отчетности, а не для обработки транзакций. В то время как системы OLTP обрабатывают все виды запросов (чтение, вставка, обновление и удаление), OLAP обычно оптимизирован только для чтения и может даже не поддерживать другие типы запросов. OLTP также работает иначе, чем пакетная обработка и сеточные вычисления.[1]:15
Кроме того, OLTP часто противопоставляется OLEP (онлайн-обработка событий), которая основана на распределенной журналы событий чтобы обеспечить сильную согласованность в крупномасштабных гетерогенных системах.[3] В то время как OLTP связан с короткими атомарными транзакциями, OLEP позволяет использовать более гибкие шаблоны распределения и более высокую масштабируемость, но с увеличенной задержкой и без гарантированной верхней границы времени обработки.
Обзор
Система OLTP - это доступная система обработки данных на сегодняшних предприятиях. Некоторые примеры систем OLTP включают системы ввода заказов, розничных продаж и финансовых транзакций.[4] Системы обработки онлайн-транзакций все чаще требуют поддержки транзакций, которые охватывают сеть и могут включать более одной компании. По этой причине современное программное обеспечение для обработки онлайн-транзакций использует клиентское или серверное программное обеспечение для обработки и посредничества, которое позволяет транзакциям выполняться на различных компьютерных платформах в сети.
В больших приложениях эффективный OLTP может зависеть от сложного программного обеспечения для управления транзакциями (например, CICS ) и / или база данных тактика оптимизации для облегчения обработки большого количества одновременных обновлений базы данных, ориентированной на OLTP.
Для еще более требовательных децентрализованных систем баз данных брокерские программы OLTP могут распределять обработку транзакций между несколькими компьютерами на одной сеть. OLTP часто интегрируется в Сервис-Ориентированная Архитектура (SOA) и Веб-сервисы.
Онлайн-обработка транзакций (OLTP) включает в себя сбор входной информации, обработку данных и обновление существующих данных для отражения собранной и обработанной информации. На сегодняшний день большинство организаций используют систему управления базами данных для поддержки OLTP. OLTP осуществляется в системе клиент-сервер.
Проблемы, связанные с параллелизмом и атомарностью процесса онлайн-транзакций. Элементы управления параллелизмом гарантируют, что два пользователя, обращающиеся к одним и тем же данным в системе базы данных, не смогут изменить эти данные или пользователю придется ждать, пока другой пользователь закончит обработку, прежде чем изменять этот фрагмент данных. Контроль атомарности гарантирует, что все шаги транзакции будут успешно выполнены как группа. То есть, если какие-либо шаги между транзакцией завершились неудачно, все остальные шаги также должны завершиться неудачей.[5]
Системный дизайн
Чтобы построить систему OLTP, разработчик должен знать, что большое количество одновременно работающих пользователей не влияет на производительность системы. Чтобы повысить производительность системы OLTP, разработчик должен избегать чрезмерного использования индексов и кластеров.
Следующие элементы имеют решающее значение для производительности систем OLTP:[2]
- Сегменты отката
- Сегменты отката - это части базы данных, которые записывают действия транзакций в случае отката транзакции. Сегменты отката обеспечивают согласованность чтения, откат транзакций и восстановление базы данных.[6]
- Кластеры
- Кластер - это схема который содержит одну или несколько таблиц с одним или несколькими общими столбцами. Кластеризация таблиц в базе данных повышает производительность присоединиться операции.[7]
- Дискретные транзакции
- Дискретная транзакция откладывает все изменения данных до тех пор, пока транзакция не будет зафиксирована. Это может улучшить производительность коротких нераспределенных транзакций.[8]
- Блокировать размер
- Размер блока данных должен быть кратным размеру блока операционной системы в пределах максимального ограничения, чтобы избежать ненужного ввода-вывода.[9]
- Буферный кеш размер
- SQL операторы должны быть настроены на использование буферного кеша базы данных, чтобы избежать ненужного потребления ресурсов.[10]
- Динамическое размещение места для таблиц и сегментов отката
- Обработка транзакции мониторы и многопоточный сервер
- Монитор обработки транзакций используется для координации услуг. Он похож на операционную систему, обеспечивает координацию на высоком уровне детализации и может охватывать несколько вычислительных устройств.[11]
- Использование разделов увеличивает производительность сайтов, на которых выполняются регулярные транзакции, при сохранении доступности и безопасности.
- Благодаря настройке базы данных система OLTP может максимально эффективно и быстро максимизировать свою производительность.
использованная литература
- ^ а б Бог, Аня (2013). Бенчмаркинг транзакций и аналитических систем обработки: создание эталонного теста смешанной рабочей нагрузки и его применение. Берлин: Springer Science & Business Media. ISBN 3642380700.
- ^ а б «Характеристики производительности приложений и системы». Oracle.com. Получено 2018-05-02.
- ^ «Обработка онлайн-событий - очередь ACM». queue.acm.org. Получено 2019-05-30.
- ^ "База данных VLDB и руководство по разметке". Oracle.com. Получено 2018-05-02.
- ^ «Обработка онлайн-транзакций против поддержки принятия решений». Microsoft.com. Получено 2018-05-07.
- ^ «Управление сегментами отката». Oracle.com. Получено 2018-05-07.
- ^ «Архивная копия». Архивировано из оригинал на 2014-05-14. Получено 2014-05-14.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
- ^ «Режимы транзакций». Oracle.com. Получено 2018-05-07.
- ^ «Блоки данных, экстенты и сегменты». Oracle.com. Получено 2018-05-07.
- ^ «Настройка буферного кэша базы данных». Oracle.com. Получено 2018-05-07.
- ^ «Монитор обработки транзакций». C2.com. Получено 2018-05-07.
внешние ссылки
- Проект H-Store (архитектурные изменения и изменения приложений, влияющие на производительность OLTP)
- Официальный сайт IBM CICS
- Совет по производительности обработки транзакций
- Схема OLTP
- Обработка транзакций: управление концепциями и методами