2013-09-19 3 views
9

Проще говоря: В чем разница между «Транзакционные» и «Не трансакционные»?Разница между транзакционными и не транзакционными

В моем случае я пришел с этим вопросом, читая следующее определение для «МДМ»:

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

ответ

0

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

+0

Спасибо за ваш ответ Диего. Это имеет немного больше смысла. Я также нашел некоторые другие ссылки в Интернете [здесь] (http://blogs.gartner.com/andrew_white/2009/07/01/defining-mdm-again/) и [здесь] (http://datamanagement.manjeetss.com/что-это-мастер-данные). Но нет ничего по-настоящему четкого и прямого. На чем вы основали свой ответ? У вас есть ссылки? – philips

+0

Я был вовлечен в проект MDM, так вот что имело смысл для меня – Diego

16

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

Non -Transactional (Эти сведения имеют отношение к предприятию на более длительный срок, чем данные о транзакциях.)

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

TRANSACTIONAL (имеет измерение времени, и становится историческим только сделка будет завершена)

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

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

2

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

Образец цитирования: ;

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

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

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

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

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

0

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

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

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

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

Если вы не в состоянии удалить деньги со счета А, то сделка не удается, и никакие деньги не снимается со счета А и на счете нет денег.

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

Только в том случае, если деньги удалены со счета A И добавлены в Учетную запись B, транзакция фиксирует изменения в базе данных.

Вот ссылка на пример кода для использования объекта SqlTransaction, чтобы начать транзакцию, совершить его, и откат на провале: https://stackoverflow.com/a/21285747/311749

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

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

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

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

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

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

Смежные вопросы