stringtranslate.com

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

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

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

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

Согласованность — одна из четырех гарантий, определяющих транзакции ACID ; однако, существует значительная двусмысленность относительно природы этой гарантии. Она определяется по-разному:

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

В качестве компромисса CAP

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

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

Ссылки

  1. ^ CJ Date, «SQL и реляционная теория: как писать точный код SQL, 2-е издание», O'reilly Media, Inc. , 2012, стр. 180.
  2. ^ Haerder, T; Reuter, A. (декабрь 1983 г.). «Принципы восстановления баз данных, ориентированных на транзакции» (PDF) . Computing Surveys . 15 (4): 287–317. doi :10.1145/289.291. S2CID  207235758. Архивировано из оригинала (PDF) 2017-09-07.
  3. ^ Майк Чаппл. "Модель ACID". О . Архивировано из оригинала 29-12-2016 . Получено 23-07-2014 .
  4. ^ "Свойства КИСЛОТЫ".
  5. ^ Кори Янссен. «Что такое ACID в базах данных? — Определение из Techopedia». Techopedia.com .
  6. ^ "ISO/IEC 10026-1:1998 - Информационные технологии - Взаимосвязь открытых систем - Распределенная обработка транзакций - Часть 1: Модель OSI TP".
  7. ^ ab "Гипотеза Брюэра и осуществимость согласованных, доступных, устойчивых к разделению веб-сервисов" (PDF) . Архивировано из оригинала (PDF) 2019-06-29.
  8. ^ Портс, ДРК; Клементс, АТ; Чжан, И.; Мэдден, С.; Лисков, Б. «Транзакционная согласованность и автоматическое управление в кэше данных приложения» (PDF) . Mit Csail .