powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Версионники и блокировочники
10 сообщений из 335, страница 14 из 14
Версионники и блокировочники
    #35446268
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinГм... И к чему Вы привели эти цитаты?!
А к тому, что тема топика не "MS SQL vs firebird ", а "Версионники и блокировочники ". Вот и получается, что без версионности нельзя получить snapshot с "человеческим лицом"

pkarklinКмк, отличная возможность!
Не спорю. Только вот интересно, какова цена этой возможности?
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446277
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVА к тому, что тема топика не "MS SQL vs firebird ", а "Версионники и блокировочники ". Вот и получается, что без версионности нельзя получить snapshot с "человеческим лицом"

Чистых версионников, как и чистых блокировочников в природе не бывает.


FreemanZAVНе спорю. Только вот интересно, какова цена этой возможности?

А никакая! Охи и ахи злопыхателей на счет "проблем с tempdb", оказались опровергнуты практическим опытом промышленного использования,
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446289
Микросекунда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЧистых версионников ... не бываетА что такое "чистый версионник" ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446309
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer пишет:

> Ошибаешься, Дим. Этот феномен - прогиб стандарта под суровую реальность,
> в которой еще никто не додумался до способа организовать блокировку
> предикатов с устраивающей эффективностью. Стандарту приходится
> прогибаться и под чересчур "дубовые" блокировки, и под чересчур
> "оптимистичные" версии.

Что значит "прогиб" ? Это - определение. Плохое, хорошее - другое
дело, хоть какое-то - и то хорошо. Никто же не заставляет
конкретную СУБД реализовывать все уровни изоляции именно так,
как это описано в стандарте.


P.S. Вот уж никогда не думал, что буду защищать стандарт ANSI SQL.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446311
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зл0й пишет:

> А зачем городить блокировку предикатов, если можно делать блокировку
> индексов? Ну а если разработчик не построил индекс - тады лочить таблицу

Вообще-то key range lock - частный случай предикативных блокировок.
Более жизнеспособный, естественно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446363
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это ответ всем.

Я хочу напомнить или рассказать, что означает реализация
какой-то СУБД какого-то уровня изоляции.

На каждом уровне изоляции описываются феномены (явления,
если по-русски),

которые НИКОГДА НЕ ДОЛЖНЫ проявляться на этом уровне (негативные).

которые МОГУТ проявляться на этом уровне (допустимые)

СУБД, реализующая данный уровень изоляции,

ОБЯЗАНА обеспечить невозможность появления негативных феноменов

НЕ ОБЯЗАНА обеспечивать появление допустимых феноменов.

Т.е. в принципе СУБД, реально работающая, например, в режиме
сериализации всех транзакций (уровень 3), будет соответствовать
стандарту. То, что при этом она, возможно, будет терять
в производительности, стандарт не оговаривает.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446480
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппмИ только в следующем году обещают доступ к last commited данным строки.
В Informix уже сделали afaik.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446557
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зл0йА зачем городить блокировку предикатов, если можно делать блокировку индексов? Ну а если разработчик не построил индекс - тады лочить таблицу целиком (криворукому разработчику по шее, масштабируемость при кривых руках всегда будет хреновая).
Городить нужно за тем, что предикатная блокировка - единственый способ обеспечить сериализуемость. Ведь блокировка индексов всего лишь потуги реализации предикатной хоть в каком-то виде, за неимением других возможностей.
Не смотря на большое количество трудов, в том числе фундаментальных работ (Грей), для исследований и разработок тут все ещё поле непаханое.
Кто откроет эффективный алгоритм предикатной блокировки станет самым богатым человеком на планете IMHO :-)
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35451001
Зл0й
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelvp
Городить нужно за тем, что предикатная блокировка - единственый способ обеспечить сериализуемость.

Почему единственный? Наиболее правильный с точки зрения теории - да, без вопросов. Существуют решения, с точки зрения теории мягко говоря "ущербные", но практичные на сегодняшний день.

pavelvp
Ведь блокировка индексов всего лишь потуги реализации предикатной хоть в каком-то виде, за неимением других возможностей.
Не смотря на большое количество трудов, в том числе фундаментальных работ (Грей), для исследований и разработок тут все ещё поле непаханое.

На мой взгляд блокировка индексов (а в их остутствие таблицы) - решение практичное. СУБД то нам нужна сегодня, а не когда-нибудь когда кто-то изобретет практически реализуемый с приемлемой производительностью алгоритм предикатной блокировки.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35461760
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКто это такие бредовые примеры приводит ?почему бредовые ? желание сделать межтабличную проверку целостности - иногда возникает :) MasterZivНа любой СУБД (версионник или блокировочник)
обеспечивается т.н. изоляция -0 (repeatable write) или согласованная запись.две транзакции пишут в _разные_ таблицы - нечего согласовывать.
MasterZivГрубо говоря, записываемые (изменяемые) записи транзакции блокируются эксклюзивно.это называется - блокировочник :) блокируется и читатель и писатель, а в версионике - блокируются, но только для писателя. другими словами - если не блокировать принудительно (тобишь не становиться блокировочником) - читатель успешно прочитает заблокированную 'for update' запись.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
begin; --- (А)
select * from a for update;
 a
---
 1
update a set a = 5;
select * from a;
 a
---
 5
    begin; --- (Б)
    select * from a;
     a
    ---
     1
данные (А) не закомичены, соответсвено для (Б) они не видны. Всё ок. Так как версионик - читатель не блокируется. Всё ок. (Б) думает что в а ещё единичка - оопс... :)
...
Рейтинг: 0 / 0
10 сообщений из 335, страница 14 из 14
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Версионники и блокировочники
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]