сравнивая базы данных и их блокировки - PullRequest
4 голосов
/ 28 февраля 2011

У меня много транзакций, и я хотел бы получить информацию о том, как блокировки реализованы в текущих базах данных.Работая с нулевым бюджетом, мой выбор ограничен mysql 5.5 и postgres 9.0.

Есть ли сайт, где сравниваются блокировки?

Из литературы я знаю, что у вас могут быть блокировки только на чтение и чтение и запись, и что хороший способ обработки блокировок - заблокировать путь к данным.Это означает блокирование частей btree.Но я не могу найти подробности о том, как эти базы данных работают.

Большое спасибо.

Ответы [ 3 ]

2 голосов
/ 28 февраля 2011

Вот обзор для PostgreSQL

http://www.postgresql.org/docs/current/static/explicit-locking.html
http://www.postgresql.org/docs/current/static/locking-indexes.html

Не уверен, что вы имеете в виду под «блокировкой только для чтения», но в PostgreSQL единственный способ «заблокировать» таблицу от чтения - это вручную заблокировать ее в режиме ACCESS EXCLUSIVE, что не происходит с обычными операторами DML , Только оператор DDL (такой как ALTER TABLE) может достичь этого.

0 голосов
/ 28 февраля 2011

Проверьте это: Блокировка SQL Server 2008.

0 голосов
/ 28 февраля 2011

Возможно, вы найдете эту книгу полезной: Внутри Microsoft SQL Server 2005: механизм хранения.Прочтите главы «Ведение журнала и восстановление» и «Блокировка и параллелизм».Много информации из этой книги применяется ко многим современным системам баз данных.Это действительно хорошая книга.

Предлагаю вам прочитать о контроле параллелизма.Вы можете начать с Concurrency_control wiki , особенно в разделе «Транзакция базы данных и правила ACID» *

Если вы хотите сравнить блокировки, сначала я прочту о проблемах, возникающих в транзакциях, и об уровнях изоляции транзакций..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...