Уровень детализации
–
это размер элементов данных, выбранных в
качестве
защищаемой единицы для протокола управления параллельно-
стью.
Во всех обсуждавшихся выше протоколах управления параллельно-
стью предполагалось, что БД состоит из некоторого количества «элемен-
тов данных», причем дополнительно не уточнялось, что означает этот
термин. Как правило, в качестве элемента данных выбирается один из
перечисленных ниже объектов, размеры которых варьируются от очень
крупных до мельчайших:
• вся база данных;
• отдельный файл;
• отдельная страница данных (иногда называемая областью или бло-
ком – сектор на физическом диске, используемом для хранения таблиц);
• отдельная запись;
• отдельное поле в записи.
Размер, или уровень детализации, элемента данных, который может
быть заблокирован отдельной операцией транзакции, оказывает силь-
нейшее влияние на общую производительность системы и эффектив-
ность работы протокола управления параллельностью, что следует учи-
тывать при выборе размера элемента данных в системе. Было предложе-
но несколько методов динамической установки размера блокируемого
элемента данных. В соответствии с этими методами размер элемента
данных зависит от типа выполняемых в данный момент транзакций и ус-
танавливается из соображений оптимального соответствия их требовани-
ям. В идеале СУБД должна поддерживать смешанный уровень детализа-
ции, позволяющий блокировать отдельные записи, страницы и целые
файлы. Некоторые системы автоматически повышают уровень детализа-
ции от отдельных записей или страниц до уровня файла, если опреде-
ленная транзакция блокирует больше установленного процента записей
или страниц некоторого файла.
Достарыңызбен бөлісу: