Классика баз данных - статьи

       

С учетом версий должна строиться


С учетом версий должна строиться и журнализация. Более того, поскольку и журнал и версии содержат информацию о старом состоянии базы данных, возможно объединение этих сущностей.

Еще одной подсистема СУБД, которая существенным образом меняется при добавлении версий, является подсистема управления памятью. Поскольку много версий одного и того же элемента данных могут использоваться параллельно, необходимо эффективное размещение версий в основной памяти. Это требование трудно, если заранее неизвестно максимальное число версий, допустимых для одного элемента данных.

Все эти трудности проявляются различным образом в зависимости от выбора одного из рассмотренных нами алгоритмов. Такая зависимость объясняется тем, что эти алгоритмы фиксируют порядок создания и поддержания версий. Поэтому они влияют как на физическую сторону организации многоверсионной СУБД, так и на логическую.

На практике наиболее часто используются протоколы ROMV и 2V2PL. С одной стороны, эти протоколы достаточно просты в реализации, а с другой предоставляют пользователю большую часть выгод версионной СУБД. В случае протокола 2V2PL существенную роль также играет его сходство с обычным 2PL. Помимо этого, в 2V2PL решается проблема ограничения числа версий.

Сложность решения этой проблемы в случае протокола MVTO, по-видимому, служит одной из причин его малой распространенности. Можно предположить, что та же причина объясняет небольшое количество реализаций, использующих MV2PL. Автору также не известно о реализациях, применяющих MVSG-планировщики.


Содержание  Назад  Вперед