Согласованность (системы баз данных) - 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».