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