Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

При онлайн-обработке транзакций ( OLTP ) информационные системы обычно упрощают работу с приложениями, ориентированными на транзакции, и управляют ими.

Термин «транзакция» может иметь два разных значения, оба из которых могут применяться: в сфере компьютеров или транзакций с базами данных он означает атомарное изменение состояния, тогда как в сфере бизнеса или финансов этот термин обычно означает обмен экономическими сущности (используемые, например, Советом по производительности обработки транзакций или коммерческими транзакциями . [1] ) : 50 OLTP может использовать транзакции первого типа для записи транзакций второго типа.

OLTP также используется для обозначения обработки, при которой система немедленно отвечает на запросы пользователей. Банкомат (АТМ) для банка является примером приложения коммерческой обработки транзакций. Приложения для онлайн-обработки транзакций обладают высокой пропускной способностью и требуют большого количества вставок или обновлений при управлении базами данных. Эти приложения используются одновременно сотнями пользователей. Ключевыми целями приложений 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 может максимально эффективно и быстро максимизировать свою производительность.

Ссылки [ править ]

  1. ^ a b Bog, Аня (2013). Бенчмаркинг транзакций и аналитических систем обработки: создание эталонного теста смешанной рабочей нагрузки и его применение . Берлин: Springer Science & Business Media. ISBN 3642380700.
  2. ^ a b «Характеристики производительности приложений и системы» . Oracle.com . Проверено 2 мая 2018 .
  3. ^ «Обработка событий онлайн - очередь ACM» . queue.acm.org . Проверено 30 мая 2019 .
  4. ^ "База данных VLDB и руководство по разметке" . Oracle.com . Проверено 2 мая 2018 .
  5. ^ «Обработка онлайн-транзакций против поддержки принятия решений» . Microsoft.com . Проверено 7 мая 2018 .
  6. ^ «Управление сегментами отката» . Oracle.com . Проверено 7 мая 2018 .
  7. ^ "Архивная копия" . Архивировано из оригинала на 2014-05-14 . Проверено 14 мая 2014 .CS1 maint: archived copy as title (link)
  8. ^ «Режимы транзакций» . Oracle.com . Проверено 7 мая 2018 .
  9. ^ «Блоки данных, экстенты и сегменты» . Oracle.com . Проверено 7 мая 2018 .
  10. ^ «Настройка кэша буфера базы данных» . Oracle.com . Проверено 7 мая 2018 .
  11. ^ «Монитор обработки транзакций» . C2.com . Проверено 7 мая 2018 .

Внешние ссылки [ править ]

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