Итак, я знаю, что autocommit фиксирует каждый оператор sql, но поступают ли обновления базы данных непосредственно на диск или они остаются в кеше до тех пор, пока не будут сброшены?
Я понимаю, что это зависит от реализации базы данных.
Означает ли автоматическая фиксация а) каждый оператор представляет собой полную транзакцию, И он отправляется прямо на диск или б) каждый оператор представляет собой завершенную транзакцию и может попасть в кеш, где он будет сброшен позже, или может пойти прямо на диск.
Разъяснения были бы замечательными.

Автоматическая фиксация просто означает, что каждый оператор находится в своей собственной транзакции, которая немедленно фиксируется. Это контрастирует с «нормальным» режимом, где вы должны явно BEGIN транзакции, а затем COMMIT, как только вы закончите (обычно после нескольких операторов).
Фраза «автоматическая фиксация» не имеет ничего общего с доступом к диску или кешированием. В качестве детали реализации большинство баз данных будут записывать на диск при фиксации, чтобы избежать потери данных, но это не обязательно в спецификации.
Для протоколов на основе ARIES фиксация транзакции включает в себя Ведение журнала всех модификаций, сделанных в этой транзакции. Изменения немедленно сбрасываются в лог-файл, но не обязательно в файл данных (это зависит от реализации). Этого достаточно, чтобы гарантировать, что изменения можно будет восстановить в случае сбоя. Итак, (б).
Невозможно гарантировать, что коммиты являются атомарными, поэтому современные базы данных используют стратегии двух- или трехфазной фиксации. См. Атомарная фиксация
Можно сказать, что ARIES представляет собой форму двухфазной фиксации, и она используется на отдельных серверах.
Можете ли вы предоставить надежный цитируемый источник? На момент написания статьи статья в Википедии - это всего лишь заготовка без цитат.
Это зависит от СУБД, которую вы используете. Например, Жар-птица имеет его как параметр в файле конфигурации. Если вы включите Принудительные записи, изменения попадут прямо на диск. В противном случае они отправляются в файловую систему, и фактическое время записи зависит от кэширования операционной системы.
Фиксация не гарантирует, что что-то было записано на диск, только то, что ваша транзакция была завершена и изменения теперь видны другим пользователям.
Постоянный не обязательно означает запись на диск (т.е. долговременный) ... Даже если «фиксация» ожидает завершения транзакции, это можно настроить с некоторыми базами данных.
Например, Oracle 10gR2 имеет несколько режимов фиксации, включая IMMEDIATE, WAIT, BATCH, NOWAIT. BATCH поставит изменения в очередь в буфер, а писатель запишет изменения на диск в будущем. NOWAIT вернется немедленно, независимо от ввода-вывода.
Точное поведение commmit очень зависит от базы данных и часто может быть настроено в зависимости от вашей терпимости к потере данных.
Если заявлено, что транзакция базы данных является ACID, то D (стойкость) требует, чтобы зафиксированная транзакция пережила сбой сразу после успешной фиксации. Для базы данных с одним сервером это означает, что она находится на диске (фиксация диска). Для некоторых современных многосерверных баз данных это также может означать, что транзакция отправляется на один или несколько серверов (сетевая фиксация, которая обычно намного быстрее, чем на диске), при условии, что вероятность сбоя нескольких серверов одновременно составляет значительно меньше.
Не точный. СУБД уделяют много внимания тому, чтобы коммиты были атомарными. Протоколы 2PC или 3PC используются, когда у вас работает несколько серверов, а не для одного сервера.