Механизм теневых страниц

Теневой механизм или механизм теневых страниц — это метод, предоставляющий атомарность и надёжность (два из четырёх требований ACID) в системах баз данных.

Под «страницей» в этом контексте подразумевается участок памяти в физическом хранилище (на внешней памяти), обычно размером от 210 до 216 байт.

Механизм теневых страниц — это метод для предотвращения локального обновления страниц. Во время редактирования некоторой страницы выделяется память под теневую страницу. Поскольку на теневую страницу нет ссылок с других страниц на диске, она может быть отредактирована без опасений за соблюдение ограничений, связанных с согласованностью данных. Когда страница готова приобрести свойство «долговечности» (англ. durability), то все страницы, которые обращаются к оригиналу, должны быть обновлены, чтобы ссылаться на новую страницу.

Если ссылающиеся страницы должны также быть обновлены через теневое оповещение, эта процедура может повторяться много раз, приводя к существенным затратам времени. Единственное решение, произведенное WAFL — файловая система облегчает создание страниц. (кэширование «write-behind»). Это увеличивает производительность, избегая множества записей на горячих точках и выше ссылочной иерархии (суперблок файловой системы) совершают за счет высокой латентности.

WAL — более популярное решение, которое использует локальные обновления.

Механизм теневых страниц «old master-new master», использован в системах базы данных центрального процессора. В этих системах, продукция каждого batch пробега (возможно работа дня) была написана двум отдельным дискам или другой форме носителя данных. Один из них хранится для резервного копирования, а другой был использован в качестве отправной точки для работы на следующий день.

Механизм теневых страниц также сходен с чисто функциональной структурой данных, в том, что избегает локальных обновлений.

Литература

[править | править код]
  • Ricardo, C. Databases Illuminated. — Jones \& Bartlett Learning, 2011. — ISBN 9781449606008.
  • Sumathi, S. and Esakkirajan, S. Fundamentals of Relational Database Management Systems. — Springer, 2007. — ISBN 9783540483977.
  • ITL Education Solutions Limited. Introduction to Database Systems. — Pearson Education, 2010. — ISBN 9788131731925.
  • Hailperin, M. Operating Systems and Middleware: Supporting Controlled Interaction. — Thomson Course Technology, 2007. — ISBN 9780534423698.