Этот перевод статьи с другого языка требует улучшения (см. Рекомендации по переводу). |
Эта статья должна быть полностью переписана. |
Теневой механизм или механизм теневых страниц — это метод, предоставляющий атомарность и надёжность (два из четырёх требований ACID) в системах баз данных.
Под «страницей» в этом контексте подразумевается участок памяти в физическом хранилище (на внешней памяти), обычно размером от 210 до 216 байт.
Механизм теневых страниц — это метод для предотвращения локального обновления страниц. Во время редактирования некоторой страницы выделяется память под теневую страницу. Поскольку на теневую страницу нет ссылок с других страниц на диске, она может быть отредактирована без опасений за соблюдение ограничений, связанных с согласованностью данных. Когда страница готова приобрести свойство «долговечности» (англ. durability), то все страницы, которые обращаются к оригиналу, должны быть обновлены, чтобы ссылаться на новую страницу.
Если ссылающиеся страницы должны также быть обновлены через теневое оповещение, эта процедура может повторяться много раз, приводя к существенным затратам времени. Единственное решение, произведенное WAFL — файловая система облегчает создание страниц. (кэширование «write-behind»). Это увеличивает производительность, избегая множества записей на горячих точках и выше ссылочной иерархии (суперблок файловой системы) совершают за счет высокой латентности.
WAL — более популярное решение, которое использует локальные обновления.
Механизм теневых страниц «old master-new master», использован в системах базы данных центрального процессора. В этих системах, продукция каждого batch пробега (возможно работа дня) была написана двум отдельным дискам или другой форме носителя данных. Один из них хранится для резервного копирования, а другой был использован в качестве отправной точки для работы на следующий день.
Механизм теневых страниц также сходен с чисто функциональной структурой данных, в том, что избегает локальных обновлений.