Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: О консистентности отчетов на OLTP-сервере  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67464
Блог
pkarklin
А как же стандрат?

А кому он нафиг сдался?
26 апр 11, 13:48    [10567837]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
Yo.!
Guest
pkarklin
А как же стандрат?

стандарт писался под блокировочников, в современном мире он в таком виде мягко говоря не нужен.
26 апр 11, 13:54    [10567891]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
MasterZiv
Member

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

On 26.04.2011 14:10, kdv wrote:

> у "нас", то есть в IB/FB, есть snapshot, RepeatableRead нет. Собственно,
> "настоящий" RepeatableRead мало где есть, наверное только в DB2?

Он есть в стандарте ANSI/ISO SQL.

Posted via ActualForum NNTP Server 1.4

26 апр 11, 13:57    [10567926]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
MasterZiv
Member

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

On 26.04.2011 14:15, kdv wrote:

> это я к тому, что упоминая RepeatableRead уже никто не вспоминает ни про какие
> фантомы, и обычно подразумевает, что RepeatableRead=Snapshot.

Интересно, вот если тебе говорят "Он купил машину ВАЗ-21110" ты тоже
сразу же подразумеваешь, что он купил AUDI 6, потому что ВАЗ-ы всё
равно уже никто почти не покупает ?

Posted via ActualForum NNTP Server 1.4

26 апр 11, 13:59    [10567951]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Ну, не знаю, раз стандарты создают, значит это кому-то нужно. Другой вопрос, что есть СУБД, в которых действительно RR приравнивается к SNAPSHOT.
26 апр 11, 14:07    [10568021]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54798

MasterZiv
А как же фантомы ?

В природе не существуют.

Posted via ActualForum NNTP Server 1.4

26 апр 11, 14:07    [10568026]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
softwarer
ScareCrow
а в наше время еще остались таки блокировочники?

Штуки три я назову сходу.

я только сабейз Асе.
26 апр 11, 14:13    [10568082]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ScareCrow
Штуки три я назову сходу.

я только сабейз Асе.[/quot]

MS SQL без включенной версионности.
26 апр 11, 14:14    [10568087]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54798

pkarklin
раз стандарты создают, значит это кому-то нужно.

Стандарт допускает появление фантомов на уровне RR, но отнюдь не предписывает их иметь.
Поэтому их и нет ни у кого - гораздо проще реализовать RR без фантомов, чем с ними.

Posted via ActualForum NNTP Server 1.4

26 апр 11, 14:17    [10568116]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67464
Блог
ScareCrow
softwarer
Штуки три я назову сходу.

я только сабейз Асе.

Вот чёрт, про неё-то я и забыл
26 апр 11, 14:26    [10568225]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54798

softwarer
Вот чёрт, про неё-то я и забыл

Держу пари, ты и про FVMAS забыл...

Posted via ActualForum NNTP Server 1.4

26 апр 11, 14:32    [10568279]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
автор
Вот чёрт, про неё-то я и забыл

а что еще?
26 апр 11, 14:34    [10568305]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov,

Сам стандарт описывает IL посредством введения феноменов. Есть, конечно, и критики такого подхода.
26 апр 11, 14:40    [10568363]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54798

pkarklin
Сам стандарт описывает IL посредством введения феноменов.

Это старый стандарт. Создатели новых уже не так скоррумпированы некрософтом.

Posted via ActualForum NNTP Server 1.4

26 апр 11, 14:52    [10568439]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
beginner_dba
Member

Откуда: Киев
Сообщений: 331
pkarklin
ScareCrow
Штуки три я назову сходу.

я только сабейз Асе.


MS SQL без включенной версионности.[/quot]
Кстати можно как-то включить на конкретную БД версионность "наглухо".
Чтобы следующие инструкции не могли ее опять отключить.
26 апр 11, 15:05    [10568592]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
beginner_dba
Кстати можно как-то включить на конкретную БД версионность "наглухо".
Чтобы следующие инструкции не могли ее опять отключить.


Для выполнения ALTER DATABASE нужны определенные (высокого уровня) полномочия.
26 апр 11, 15:10    [10568638]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30257
MasterZiv
Интересно, вот если тебе говорят "Он купил машину ВАЗ-21110" ты тоже
сразу же подразумеваешь, что он купил AUDI 6, потому что ВАЗ-ы всё
равно уже никто почти не покупает ?

не понимаю, откуда такая агрессия и гиперболы.
Shapshot это фактически Repeatable Read без фантомов. Стандартом фантомы в RR ДОПУСКАЮТСЯ.
Поэтому ВАЗ-21110 не превращается в Ауди, как и наоборот. Просто более качественная отделка салона, только и всего.

И поэтому я еще раз задам вопрос - кто вообще живьем видел стандартный RepeatableRead с фантомами, кроме как в DB2 (якобы там оно соответствует, но возможно у меня склероз)?
26 апр 11, 15:23    [10568782]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
kdv
И поэтому я еще раз задам вопрос - кто вообще живьем видел стандартный RepeatableRead с фантомами


В MS SQL RR полностью соответствует стандарту.
26 апр 11, 15:44    [10568983]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
beginner_dba
Member

Откуда: Киев
Сообщений: 331
pkarklin
beginner_dba
Кстати можно как-то включить на конкретную БД версионность "наглухо".
Чтобы следующие инструкции не могли ее опять отключить.


Для выполнения ALTER DATABASE нужны определенные (высокого уровня) полномочия.


Да но если кто-то напишет
 set isolation level read uncommited 
перед инструкцией это "перекроет"
alter database set isolation level snapshot...
даже не обладая полномочиями, а будучи обычным пользователем, имеющим права на вставку, чтение, удаление таблицы?
26 апр 11, 15:45    [10568993]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
beginner_dba,

Что значит "перекроет"?! Изменения TIL никак не влияет на то, создаются версии или нет, если включена версионность. Явное изменение TIL сказывается только для той сессии, в которой он изменен.
26 апр 11, 15:50    [10569042]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
beginner_dba,

И, потом, вторая инструкция - это полная чушь. Нет такого:

alter database set isolation level snapshot

есть

ALTER DATABASE database_name SET READ_COMMITTED_SNAPSHOT ON

и

ALTER DATABASE database_name SET ALLOW_SNAPSHOT_ISOLATION ON

т.е. опции, которые позволяют:

1. Использовать RC с поддержкой версионности;
2. Использовать новый TIL SNAPSHOT.

Эти инструкции ни есть установка TIL для сессии, который по дефолту RC и может быть изменен по желанию разработчика.
26 апр 11, 15:55    [10569077]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54798

pkarklin
В MS SQL RR полностью соответствует стандарту.

Ты слова местами перепутал. Следует читать "стандарт полностью соответствует RR MS SQL".

Posted via ActualForum NNTP Server 1.4

26 апр 11, 16:04    [10569168]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30257
pkarklin
В MS SQL RR полностью соответствует стандарту.

для меня до сих пор является загадкой, как воспроизводимое (!) чтение может порождать какие-то фантомы.
Фантом по определению это характеристика ReadCommitted, то есть когда очередным перечитыванием мы видим данные, которые успели измениться и быть committed с момента предыдущего чтения.
Грубо говоря, определение Repeatable Read не стыкуется с фантомами никак. Да и вообще, определение феноменов P2 (fuzzy read) и P3 (phantom) отличаются только тем, что P2 читает данные "без условий", а P3 - с условиями.
Насколько я понимаю, когда-то подразумевалось, что phantom - это видимость части данных, измененных и committed другой транзакцией. То есть, как бы, одна транзакция изменяет некую совокупность данных, и мы эту совокупность должны видеть либо целиком, либо не видеть вообще. А если видим только часть - то это фантом.

И исходя из определения того же стандарта, если RR допускает фантомы, то это уже не RR, а RC. Потому что не является воспроизводимым чтением. Извиняюсь, если начал пересказ уже упоминаемого http://citforum.ru/database/classics/SQL_critiques/.

Возвращаясь к цитате - раз RR в MS SQL соответствует стандарту, значит он реально является RC?
26 апр 11, 16:04    [10569178]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
kdv,

автор
Фантом по определению это характеристика ReadCommitted, то есть когда очередным перечитыванием мы видим данные, которые успели измениться и быть committed с момента предыдущего чтения.


RR не допускает МОДИФИКАЦИИ прочитанных данных, но допускает ВСТАВКУ новых данных. Т.е. сколько бы раз не перечитывали данные, то то, что мы прочитали в первый раз будет неизменным и далее пока транзакция не закомиттится. В MS SQL это (RR) реализуется накладыванием шаред локов на ПРОЧИТАННЫЕ данные до конца транзакции, в отличии от RC, при котором локи удерживаются на короткий промежуток, необходимый для чтения данных. Но вот при следующих чтениях могут как раз появляться НОВЫЕ записи, которых не было при предыдущих чтениях.
26 апр 11, 16:11    [10569235]     Ответить | Цитировать Сообщить модератору
 Re: О консистентности отчетов на OLTP-сервере  [new]
beginner_dba
Member

Откуда: Киев
Сообщений: 331
pkarklin
beginner_dba,

И, потом, вторая инструкция - это полная чушь. Нет такого:

alter database set isolation level snapshot

есть

ALTER DATABASE database_name SET READ_COMMITTED_SNAPSHOT ON

и

ALTER DATABASE database_name SET ALLOW_SNAPSHOT_ISOLATION ON

т.е. опции, которые позволяют:

1. Использовать RC с поддержкой версионности;
2. Использовать новый TIL SNAPSHOT.

Эти инструкции ни есть установка TIL для сессии, который по дефолту RC и может быть изменен по желанию разработчика.

Дело в том, что например 1С 8.1 при старте каждой сесии на сервер посылает вот такое

-- network protocol: TCP/IP
set quoted_identifier on
set arithabort off
set numeric_roundabort off
set ansi_warnings on
set ansi_padding on
set ansi_nulls on
set concat_null_yields_null on
set cursor_close_on_commit off
set implicit_transactions off
set language русский
set dateformat dmy
set datefirst 1
set transaction isolation level read committed
А я хочу, чтобы была версионность (неблокирующее чтение (и неблокирующая вставка данных в ту же таблицу в рамках другой транзакции) больше нужно) независимо, от того, что посылает 1с для своего spid
26 апр 11, 16:14    [10569260]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить