@mtrue

Какие многопользовательские субд с последовательным доступом вы знаете?

На этом сайте нашел в классификации многопользовательские субд с последовательным и параллельным доступом.

Не могу понять, как многопользовательская субд может быть с последовательным доступом - для всех авторизованных пользователей операции выполняются последовательно в порядке очереди (по сути с блокировками) или как?

MySQL или Postgre - получается последовательные или таки параллельные?

И если они последовательные, то какие тогда параллельные?

Гуглить пробовал. Гуглится что-то не то :(

В MyISAM, например, одну таблицу одновременно могут читать несколько пользователей. Но при записи она блокируется полностью. В InnoDB тоже есть блокировки, от них никуда не уйти, иначе не будет соблюдаться ACID.
  • Вопрос задан
  • 798 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
почитай лучше это:

08303560_cover-pdf-kniga-dzhim-r-uilson-

расширит горизонты до безграничности.

Если очень хочется удариться в как устроено СУБД - тогда вот это
fallabs.com/tokyocabinet

А так можешь считать, что SQLIte типа последовательная, ибо это один файл. Но то что ты спрашиваешь - абсолютно бесполезно на практике.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Prk11
От блокировок можно уйти, и наверно многие современные базы данных от них ушли. Мне известно два вида транзакций (может их и больше): блокировочный механизм и версионный. С первым думаю вопросов не возникает, а второй это когда всем разрешено писать в БД, но при этом для каждой записи указывается версия (скорее всего просто идентификатор транзакции). А потом при коммите указывают какую-то одну - что вот эта транзакция подтверждена. Таким образом если селект выполняется внутри транзакции он видит только записи своей транзакции (или ранее подтвержденные), если за пределами транзакции то только последние подтвержденные.
В первые такой механизм стали кажется использовать в Interbase, потом распространилось на многие промышленные базы данных.
В MySQL - до сих пор используют блокировки, из - за этого куча проблем с триггерами и хранимыми процедурами. Как дела обстоят в Postgresql - не знаю.
По поводу последовательного и параллельного доступа не знаю - может отсюда ноги растут, а может автор статьи придумал что то от себя. Была правда когда то проблемка в оракле, что то ли с одного клиента, то ли с одного пользователя нельзя было открыть больше одной транзакции. Но кажется это больше зависело от драйвера доступа.
Ответ написан
Комментировать
Читать про следующее:
1) Изоляция транзакций
2) MVCC
3) Snapshot isolation

И какую-нибудь книжку по БД. Сейчас вы ничего не понимаете в работе многопользовательской БД.
Сайт вы нашли совершенно невероятный. Задумайтесь о поисках других источников.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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