Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 5 6 7 8 9 10 11 12 13 [14]
 Re: Версионники и блокировочники  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
pkarklin
Гм... И к чему Вы привели эти цитаты?!

А к тому, что тема топика не "MS SQL vs firebird ", а "Версионники и блокировочники ". Вот и получается, что без версионности нельзя получить snapshot с "человеческим лицом"

pkarklin
Кмк, отличная возможность!

Не спорю. Только вот интересно, какова цена этой возможности?
23 июл 08, 10:12    [5972297]     Ответить | Цитировать Сообщить модератору
 Re: Версионники и блокировочники  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
FreemanZAV
А к тому, что тема топика не "MS SQL vs firebird ", а "Версионники и блокировочники ". Вот и получается, что без версионности нельзя получить snapshot с "человеческим лицом"


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


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


А никакая! Охи и ахи злопыхателей на счет "проблем с tempdb", оказались опровергнуты практическим опытом промышленного использования,
23 июл 08, 10:15    [5972321]     Ответить | Цитировать Сообщить модератору
 Re: Версионники и блокировочники  [new]
Микросекунда
Member

Откуда: Из предыдущего мгновения
Сообщений: 1905
pkarklin
Чистых версионников ... не бывает
А что такое "чистый версионник" ?

Posted via ActualForum NNTP Server 1.4

23 июл 08, 10:20    [5972347]     Ответить | Цитировать Сообщить модератору
 Re: Версионники и блокировочники  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34710

softwarer пишет:

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

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


P.S. Вот уж никогда не думал, что буду защищать стандарт ANSI SQL.

Posted via ActualForum NNTP Server 1.4

23 июл 08, 10:27    [5972392]     Ответить | Цитировать Сообщить модератору
 Re: Версионники и блокировочники  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34710

Зл0й пишет:

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

Вообще-то key range lock - частный случай предикативных блокировок.
Более жизнеспособный, естественно.

Posted via ActualForum NNTP Server 1.4

23 июл 08, 10:29    [5972399]     Ответить | Цитировать Сообщить модератору
 Re: Версионники и блокировочники  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34710


Это ответ всем.

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

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

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

    СУБД, реализующая данный уровень изоляции,
  • ОБЯЗАНА обеспечить невозможность появления негативных феноменов
  • НЕ ОБЯЗАНА обеспечивать появление допустимых феноменов.

    Т.е. в принципе СУБД, реально работающая, например, в режиме
    сериализации всех транзакций (уровень 3), будет соответствовать
    стандарту. То, что при этом она, возможно, будет терять
    в производительности, стандарт не оговаривает.

    Posted via ActualForum NNTP Server 1.4

  • 23 июл 08, 10:41    [5972493]     Ответить | Цитировать Сообщить модератору
     Re: Версионники и блокировочники  [new]
    pavelvp
    Member

    Откуда:
    Сообщений: 673
    ппм
    И только в следующем году обещают доступ к last commited данным строки.

    В Informix уже сделали afaik.
    23 июл 08, 11:22    [5972865]     Ответить | Цитировать Сообщить модератору
     Re: Версионники и блокировочники  [new]
    pavelvp
    Member

    Откуда:
    Сообщений: 673
    Зл0й
    А зачем городить блокировку предикатов, если можно делать блокировку индексов? Ну а если разработчик не построил индекс - тады лочить таблицу целиком (криворукому разработчику по шее, масштабируемость при кривых руках всегда будет хреновая).

    Городить нужно за тем, что предикатная блокировка - единственый способ обеспечить сериализуемость. Ведь блокировка индексов всего лишь потуги реализации предикатной хоть в каком-то виде, за неимением других возможностей.
    Не смотря на большое количество трудов, в том числе фундаментальных работ (Грей), для исследований и разработок тут все ещё поле непаханое.
    Кто откроет эффективный алгоритм предикатной блокировки станет самым богатым человеком на планете IMHO :-)
    23 июл 08, 11:45    [5973091]     Ответить | Цитировать Сообщить модератору
     Re: Версионники и блокировочники  [new]
    Зл0й
    Member

    Откуда: Северная Калифорния
    Сообщений: 686
    pavelvp

    Городить нужно за тем, что предикатная блокировка - единственый способ обеспечить сериализуемость.

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

    pavelvp

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

    На мой взгляд блокировка индексов (а в их остутствие таблицы) - решение практичное. СУБД то нам нужна сегодня, а не когда-нибудь когда кто-то изобретет практически реализуемый с приемлемой производительностью алгоритм предикатной блокировки.
    25 июл 08, 06:54    [5983851]     Ответить | Цитировать Сообщить модератору
     Re: Версионники и блокировочники  [new]
    Ёш
    Member

    Откуда:
    Сообщений: 2892
    MasterZiv
    Кто это такие бредовые примеры приводит ?
    почему бредовые ? желание сделать межтабличную проверку целостности - иногда возникает :)
    MasterZiv
    На любой СУБД (версионник или блокировочник)
    обеспечивается т.н. изоляция -0 (repeatable write) или согласованная запись.
    две транзакции пишут в _разные_ таблицы - нечего согласовывать.
    MasterZiv
    Грубо говоря, записываемые (изменяемые) записи транзакции блокируются эксклюзивно.
    это называется - блокировочник :) блокируется и читатель и писатель, а в версионике - блокируются, но только для писателя. другими словами - если не блокировать принудительно (тобишь не становиться блокировочником) - читатель успешно прочитает заблокированную 'for update' запись.
    begin; --- (А)
    select * from a for update;
    a
    ---
    1
    update a set a = 5;
    select * from a;
    a
    ---
    5
    begin; --- (Б)
    select * from a;
    a
    ---
    1
    данные (А) не закомичены, соответсвено для (Б) они не видны. Всё ок. Так как версионик - читатель не блокируется. Всё ок. (Б) думает что в а ещё единичка - оопс... :)
    31 июл 08, 04:08    [6007644]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: Ctrl  назад   1 .. 5 6 7 8 9 10 11 12 13 [14]
    Все форумы / Сравнение СУБД Ответить