Они в некоторой степени связаны, но есть небольшая разница.
Атомарность означает, что ваша транзакция или происходит, или не происходит.
Согласованность означает, что такие вещи, как ссылочныецелостность обеспечивается.
Допустим, вы начинаете транзакцию, чтобы добавить две строки (кредит и дебет, который формирует одну банковскую транзакцию).Атомность этого не имеет ничего общего с согласованностью базы данных.Все это означает, что будут добавлены либо обе строки, либо ни одна строка.
На фронте согласованности, допустим, у вас есть ограничение внешнего ключа от orders
до products
.Если вы попытаетесь добавить заказ, относящийся к несуществующему продукту, это , когда сработает согласованность, чтобы помешать вам это сделать.отсюда их сходство.Первый пример будет гарантировать, что банк не потеряет деньги (или украдет их у вас), а второй будет гарантировать, что ваше приложение не будет удивлено заказами на продукты, о которых вы ничего не знаете.