stringtranslate.com

Блокировка индекса

В базах данных индекс это структура данных, часть базы данных, используемая системой базы данных для эффективного доступа к пользовательским данным . Индексные данные — это системные данные, отличные от пользовательских данных, и в основном состоят из указателей . Изменения в базе данных (путем операций вставки, удаления или изменения) могут потребовать обновления индексов для поддержания точного доступа к пользовательским данным. [1] Блокировка индекса — это метод, используемый для поддержания целостности индекса. Часть индекса блокируется во время транзакции базы данных, когда эта часть обращается к транзакции в результате попытки доступа к связанным пользовательским данным. Кроме того, специальные транзакции системы базы данных (не вызываемые пользователем транзакции) могут вызываться для поддержания и изменения индекса в рамках деятельности по самообслуживанию системы. Когда часть индекса блокируется транзакцией, другие транзакции могут быть заблокированы от доступа к этой части индекса (заблокированы от изменения и даже от чтения, в зависимости от типа блокировки и необходимой операции). Протокол блокировки индекса гарантирует, что явление фантомного чтения не возникнет. Протокол блокировки индекса гласит:

[1]

Существуют специализированные методы управления параллелизмом для доступа к индексам. Эти методы зависят от типа индекса и используют его структуру. Они, как правило, намного эффективнее, чем применение к индексам общих методов управления параллелизмом, применяемых к пользовательским данным. Известными и широко исследованными являются специализированные методы для B-деревьев (управление параллелизмом B-Tree [2] ), которые регулярно используются в качестве индексов базы данных.

Блокировки индексов используются для координации потоков, одновременно обращающихся к индексам, и обычно они короче обычных блокировок транзакций на пользовательских данных. В профессиональной литературе их часто называют защелками . [2]

Смотрите также

Ссылки

  1. ^ аб Герхард Вейкум , Готфрид Воссен (2001): Глава 9 транзакционных информационных систем, Elsevier, ISBN  1-55860-508-8
  2. ^ ab Goetz Graefe (2010): «Обзор методов блокировки B-дерева» ACM Transactions on Database Systems (TODS), том 35, выпуск 3, июль 2010 г. (также HPL-2010-9, архивировано 16 марта 2012 г. в Wayback Machine , HP Laboratories).