Каково различие между блокировкой и фиксатором в контексте параллельного доступа к базе данных?

Я пытаюсь понять статью о параллельном B-дереве, в котором автор упомянул фиксатор по сравнению с блокировкой, и как фиксаторам не нужен "Менеджер блокировок". Я пытался выяснить то, что является различиями между теми двумя в течение двух дней.

Google, приводящий к:

"блокировки гарантируют логическую непротиворечивость данных. Они реализованы через таблицу блокировки, сохраненную в течение долгого времени (например, 2PL), и часть механизма обнаружения мертвой блокировки.

фиксаторы похожи на семафоры. Они гарантируют физическую непротиворечивость данных и ресурсов, которые не видимы на уровне транзакций"

Однако я все еще довольно смущен. Кто-то может уточнить это? и что точно менеджер блокировок делает?

Заранее спасибо.

34
задан Viele 5 July 2019 в 14:24
поделиться

1 ответ

Это действительно зависит от вашей СУБД, но вот хорошее объяснение для Oracle.

http://www.dba-oracle.com/t_lru_latches.htm

Защелки подобны замкам для оперативной памяти. структуры для предотвращения одновременного доступ и обеспечение последовательного выполнения код ядра. LRU (по крайней мере недавно б / у) при поиске используются защелки, добавление или удаление буфера из буферный кеш, действие, которое может только выполняться по одному процессу за раз.

10
ответ дан 27 November 2019 в 17:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: