WikiDer > Согласованность (системы баз данных)

Consistency (database systems)

Последовательность в системы баз данных относится к требованию, чтобы любое данное транзакция базы данных должны изменять затронутые данные только разрешенными способами. Любые данные, записанные в базу данных, должны быть действительными согласно всем определенным правилам, включая ограничения, каскады, триггерыи любые их комбинации. Это не гарантирует правильность транзакции всеми способами, которые мог бы пожелать программист приложения (это ответственность кода уровня приложения), а просто то, что любые ошибки программирования не могут привести к нарушению каких-либо определенных ограничений базы данных.[1]

Как гарантия ACID

Последовательность - одна из четырех гарантий, определяющих КИСЛОТА сделки; однако существует значительная двусмысленность в отношении характера этой гарантии. Это определяется по-разному:

  • Гарантия того, что любые транзакции, начатые в будущем, обязательно будут иметь эффект от других транзакций, совершенных в прошлом.[2][3]
  • Гарантия того, что ограничения базы данных не нарушаются, особенно после фиксации транзакции[4][5][6][7]
  • Гарантия того, что операции в транзакциях выполняются точно, правильно и достоверно с учетом семантики приложения.[8]

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

Как компромисс CAP

В CAP теорема основан на трех компромиссах, один из которых - «атомарная согласованность» (сокращенно до «согласованности» для аббревиатуры), о которой авторы отмечают: «Обсуждение атомарной согласованности несколько отличается от разговора о базе данных ACID, поскольку согласованность базы данных относится к транзакциям, в то время как атомарная согласованность относится только к свойству одной последовательности операций запрос / ответ. И имеет другое значение, чем атомарный в ACID, так как он включает в себя понятия атомарной и согласованной базы данных ».[2] В теореме CAP у вас может быть только два из следующих трех свойств: согласованность, доступность или допуск разделения. Следовательно, в некоторых системах баз данных, возможно, придется отказаться от согласованности.

Смотрите также

Рекомендации

  1. ^ К. Дж. Дэйт, "SQL и теория отношений: как писать точный код SQL, 2-е издание", O'reilly Media, Inc., 2012, стр. 180.
  2. ^ а б http://www.glassbeam.com/sites/all/themes/glassbeam/images/blog/10.1.1.67.6951.pdf «Гипотеза Брюера и возможность создания согласованных, доступных и устойчивых к разделам веб-сервисов»
  3. ^ Порты, D.R.K; Clements, A.T; Чжан, я; Мэдден, S; Лисков, Б. «Согласованность транзакций и автоматическое управление в кэше данных приложения» (PDF). Мит Чайл.
  4. ^ Haerder, T; Рейтер, А. (декабрь 1983 г.). «Принципы транзакционно-ориентированного восстановления базы данных» (PDF). Вычислительные опросы. 15 (4): 287–317. Дои:10.1145/289.291. S2CID 207235758.
  5. ^ Майк Чаппл. "Модель ACID". О.
  6. ^ «КИСЛОТНЫЕ свойства».
  7. ^ Кори Янссен. «Что такое ACID в базах данных? - Определение из Техопедии». Techopedia.com.
  8. ^ «ISO / IEC 10026-1: 1998 - Информационные технологии - Взаимодействие открытых систем - Распределенная обработка транзакций - Часть 1: Модель OSI TP».