Разница между транзакционной и нетранзакционной

Проще говоря: в чем разница между "транзакционным" и "нетранзакционным"?

В моем случае я задал этот вопрос, читая следующее определение для "MDM":

"В вычислениях управление основными данными" (MDM) включает в себя набор процессов и инструментов, которые последовательно определяют и управляют нетранзакционными объектами данных организации (которые могут включать в себя справочные данные) ".

5 ответов

Я думаю, что лучший способ понять разницу между транзакционными и нетранзакционными данными - это примеры

Нетранзакционные (эта информация актуальна для предприятия в течение более длительного периода времени, чем транзакционные данные.)

  • Заказчик: имя, настройки
  • Продукт: Имя, Иерархия
  • Сайт / Расположение: Адреса
  • Аккаунт: Контракт Детали

Транзакционный (имеет временное измерение и становится историческим после завершения транзакции)

  • Финансовый: заказы, счета, платежи

Когда вы собираете и объединяете набор операций в одну, тогда ваша группа операций является атомарной, и любой сбой подоперации приводит к откату целого, что делает набор операций надежным. Свойство такого рода структуры операций называется транзакционным.

Привести пример о транзакции;

Подумайте о том, что у вас есть база данных, которая занимается заказами клиентов, платежами и другими платежными материалами, поэтому эти данные очень важны. Вы предоставляете веб-интерфейс, а веб-интерфейс вызывает классы и методы бизнес-пакетов. И эти методы также, после завершения задания bi, будут вызывать классы dao (обозначает объект доступа к данным), чтобы обрабатывать операции crud. Таким образом, внутренний сервер строится с использованием n-уровневой модели приложения, и есть объекты dom (расшифровывается как объектная модель домена), которые передают данные обоими способами из конечной точки службы в базу данных вверх и вниз.

В случае, если пользователь хочет обновить некоторую информацию, скажем, номер телефона, тип оплаты и кредитную карту. Пока сервер обновляет три из этих данных, что, если проблема возникла на одном из них? Допустим, тип платежа и номер телефона обновлены, но при обновлении кредитной карты произошла ошибка? Вы закончите день или месяц неудачной попыткой выставления счета.

Но если у вас есть механизм, который объединит все обновления информации в группу обновлений информации, то в случае ошибки все обновление будет отменено. Это пример транзакции.

Если нет механизма транзакций, допустим, вы храните всю информацию в пользовательском файле, который обрабатывает механизм io, тогда вашему приложению придется обрабатывать все возможные сценарии ошибок.

для получения дополнительной информации, вы должны проверить эти полезные статьи Википедии;

По сути, транзакция - это одно или несколько добавлений, обновлений, удалений, изменений в базе данных, которые должны быть выполнены полностью, или ни один из шагов не должен быть выполнен. Транзакционные базы данных полезны, когда важна целостность данных. Если один из шагов в транзакции завершился неудачей, то эти шаги необходимо откатить до состояния, когда в базу данных не было внесено никаких изменений.

Пример того, когда вам понадобится транзакция, - это когда вы совершаете банковскую транзакцию, чтобы перевести деньги с одного счета на другой. Сделка состоит из двух действий.

1) Взять деньги со счета А

2) Положите деньги на счет Б.

Если вам не удастся снять деньги со счета A, то транзакция завершится неудачно, и деньги не будут удалены со счета A, и деньги не будут зачислены на счет B.

Если вы успешно удалили деньги со счета A, но не смогли добавить деньги на счет B, транзакция завершается неудачно, и транзакция должна быть откатана, чтобы деньги не были взяты со счета A.

Только если деньги будут удалены со счета А и добавлены к счету Б, транзакция зафиксирует изменения в базе данных.

Вот ссылка на пример кода для использования объекта SQLTransaction для начала транзакции, ее фиксации и отката при сбое: /questions/34293/kak-ispolzovat-sqltransaction-v-c/34297#34297

Нетранзакционная база данных, вероятно, будет иметь лучшую производительность, потому что ей не придется беспокоиться об откате изменений. Отдельные данные в нетранзакционной базе данных могут не требовать транзакционной обработки, как при управлении деньгами между банковскими счетами.

Примеры возможных нетранзакционных списков включают: списки клиентов, контактную информацию, информацию о поставщиках, списки местоположений и списки деталей.

Master Data Services был разработан для поддержки нетранзакционных данных, которыми вы хотите поделиться с несколькими приложениями.

Например, вы можете использовать один основной список контактной информации о членах компании и сделать ее доступной для различных приложений. Если у вас много приложений, которым требуется эта же информация, это гораздо лучше, чем пытаться поддерживать разные списки контактов для каждого приложения.

Дополнительные источники: https://en.wikipedia.org/wiki/Database_transaction

https://dba.stackexchange.com/questions/17246/diff-in-transactional-and-non-transactional-tables

Транзакция в общих словах означает, что ДАННЫЕ получены в процессе транзакции, например, когда вы регистрируете продажу или тикет.

Когда он говорит, что нетранзакционный, я полагаю, что это означает, что данные не имеют прямого доступа к системам OLTP (Online Transaction Processing), они хранятся в центральном хранилище, где все системы отправляют и публикуют обновления один раз каждые X часов (включено). заранее установленный интервал)

Другие вопросы по тегам