Журнал транзакций часть сервера или базы данных?

На практике (и вообще) является ли журнал транзакций частью сервера базы данных или частью самой базы данных? Я не смог найти информацию в этом домене нигде. Мне нужна информация для модели, которую я собираю...

Если это сильно зависит от реализации, я смотрю на SQL Server 2005/2008, MySQL и SQLite. Но я бы предпочел остаться как можно более общим.

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

2 ответа

Решение

Чтобы добавить к комментарию Джо, когда изменение базы данных передается на сервер базы данных, оно "направлено" на одну конкретную базу данных. Однако изменение не происходит непосредственно в базе данных. Он сохраняется в памяти (RAM) и затем записывается в журнал транзакций. Журналы транзакций затем записываются (фиксируются) в фактические базы данных. Когда это происходит, меняется в зависимости от программного обеспечения базы данных (MySQL, SQL Server и т. Д.), Настроек механизма базы данных и других переменных.

Все это говорит: журналы транзакций, вообще говоря, являются компонентом отдельных баз данных. Теоретически вы можете иметь сотни (тысячи?!) журналов транзакций на одном сервере. Some exceptions exist, such as Exchange servers where the transaction logs are a component of the Storage Group which may have multiple databases... but I won't mention that since it would muddy the waters. знак равно

В Microsoft SQL Server журнал транзакций является компонентом базы данных.

Другие вопросы по тегам