Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
 Re: Postgresql или firebird  [new]
Yo.!
Guest
Симонов Денис
ну так это про то, что прежде чем говорить о каких нибудь особенностях или багах неплохо бы узнать а не исправлены ли они. А то получается что не предложение то мимо.

год или два назад мы тут перетирали этот барьер, ничего на тот момент не изменилось и планов не было. давай, ты покажешь, где и что исправлено.
кстати посмотрел релиз ноты к 3.0 беты, на тему cursor stability коротенький абзац и речь о неком undo log. что это за лог ?
26 янв 15, 13:32    [17170524]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Yo.!,

тот что внутри файла. Ты о нём знаешь. В FB есть UNDO лог. И он там всегда был, иначе как бы он откатывал транзакции. А вот REDO лога там нет.

Исправлено чувствительность курсора к своим изменениям. В запросах типа

INSERT INTO table1
SELECT * FROM table1

delete from table where col 
in (select col first 5 from table);


кроме того стабильность сделали и в PSQL курсорах

т.е. вот это

FOR SELECT Field1 FROM Table1 INTO :Field1 DO
  INSERT INTO Table1(Field1) VALUES(:Field1);


не зациклится.

Если конечно не втыкать в цикл оператор SUSPEND, потому что он разрывает севпойнт. И об этом в релизнотах сказано.
26 янв 15, 13:41    [17170613]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Yo.!
Guest
Симонов Денис
Yo.!,
тот что внутри файла. Ты о нём знаешь.

в датафайле просто записи с номером транзакции, теперь это за undo log выдают ? забавно.

Симонов Денис
Исправлено чувствительность курсора к своим изменениям.

ну а где почитать подробности ? у меня честно говоря стойкое ощущение, что тот кто писал релиз ноты, как и в прошлый раз, слегка не понимает в чем проблема. на уровне snapshot и так все в "undo log" смотрят.
у запроса типа
delete from test where test.ID in (select id from test GROUP BY id HAVING count(id)>1);


была проблема в том, что он перезапускался в цикле, а не в том что видел свои изменения.
26 янв 15, 15:43    [17171614]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Yo.!,

писал тот кто исправлял. Проблема там действительно исправлена. Я это проверял. Смысл в том что записи курсора как бы помечаются изменёнными. Потом когда на них наступают по ундо логу отыскивается как эта запись выглядела до изменения. Это как я понял. Подробней может сказать разве что hvlad (если захочет).
26 янв 15, 15:50    [17171675]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Симонов Денис
тот что внутри файла. Ты о нём знаешь. В FB есть UNDO лог. И он там всегда был, иначе как бы он откатывал транзакции.

транзакции откатить можно и без undo, через TIP. Использования undo при rollback в некоторых случаях - это всего лишь оптимизация. А вот сейвпойнты - без undo никак. И undo не хранится внутри файла, строго говоря это сочетание версий в базе, версий в temp space и управляющих структур в памяти.
26 янв 15, 15:52    [17171693]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Yo.!
у меня честно говоря стойкое ощущение, что тот кто писал релиз ноты, как и в прошлый раз, слегка не понимает в чем проблема. на уровне snapshot и так все в "undo log" смотрят.
...
была проблема в том, что он перезапускался в цикле, а не в том что видел свои изменения.

а у меня стойкое ощущение, что проблему не понимаешь ты. Ну или не хочешь понимать.
26 янв 15, 15:55    [17171726]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
dimitr,

для Yo.! пойдёт и в таком виде. А то он не успокоится пока не услышит что undo лог существует
26 янв 15, 15:56    [17171732]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Dimitry Sibiryakov
Member

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

Симонов Денис
он не успокоится пока не услышит что undo лог существует

Он всё равно не успокоится, пока не услышит, что undo log совпадает с оракуловским вплоть
до бинарного формата. А то как это можно, чтобы этот лог был компактнее и быстрее чем у
великого и ужасного?..

Posted via ActualForum NNTP Server 1.5

26 янв 15, 16:11    [17171849]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Dimitry Sibiryakov
Он всё равно не успокоится, пока...

продолжать фразу не обязательно :-)
26 янв 15, 16:15    [17171874]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Yo.!
Guest
dimitr
транзакции откатить можно и без undo, через TIP. Использования undo при rollback в некоторых случаях - это всего лишь оптимизация. А вот сейвпойнты - без undo никак. И undo не хранится внутри файла, строго говоря это сочетание версий в базе, версий в temp space и управляющих структур в памяти.

т.е. в релиз нотах снова пишут люди не понимающие чего пишут. не везучие у вас рилиз ноты на тему cursor stability

на счет delete from test where test.ID in (select id from test GROUP BY id HAVING count(id)>1);
можете внятно пояснить, что там происходит и чем там может помочь заглядывание в мифический undo log ? уровень изолированности snapshot/serializable
26 янв 15, 16:30    [17172017]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Yo.!,

не неси пургу. Я тебе сказал что эту часть релиз нотов писал тот кто делал исправление стабильности курсора. И уж поверь понимает он поболе тебя и причины и следствия. Чем тебя мой ответ не устроил?
26 янв 15, 17:00    [17172275]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Yo.!,

http://www.slideshare.net/mindthebird/fb2014whatsnew30en начиная с 20 страницы
26 янв 15, 17:12    [17172359]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Yo.!
т.е. в релиз нотах снова пишут люди не понимающие чего пишут. не везучие у вас рилиз ноты на тему cursor stability

какие конкретно претензии к релизным нотам? Пересмотрел еще раз, вроде все верно написано.

Yo.!
на счет delete from test where test.ID in (select id from test GROUP BY id HAVING count(id)>1);
можете внятно пояснить, что там происходит и чем там может помочь заглядывание в мифический undo log ? уровень изолированности snapshot/serializable

транзакция всегда видит свои собственные изменения, будь она хоть трижды снапшотом. Раньше, если курсор натыкался на измененные внутри него же записи, он их считал видимыми. Сейчас не считает (путем проверки посредством undo-лога). А какие именно формы имел курсор - пофиг. Undo-лог это изменения не только текущей транзакции, но и текущего сейвпойнта. По нему легко выполняется проверка текущей версии записи и при необходимости чтение предыдущей. Вот и вся кухня за словами cursor stability.
26 янв 15, 17:19    [17172410]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Dimitry Sibiryakov
Member

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

Автономные транзакции в PostgreSQL, о необходимости которых говорят уже десять лет, в
какой версии будут?..

Posted via ActualForum NNTP Server 1.5

26 янв 15, 19:34    [17173238]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
сизиф и мартышки
Guest
Симонов Денис
сизиф и мартышки,

слив засчитан
щиталку не поломай, северный варвар
27 янв 15, 08:10    [17174556]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
сизиф и мартышки
Guest
Dimitry Sibiryakov
Автономные транзакции в PostgreSQL, о необходимости которых говорят уже десять лет, в
какой версии будут?..
в виде встроенного клиента dblink они есть уже хз сколько времени

т.е. артель "сизиф и мартышки" вполне себе может организовать и автономию, и десять параллельных автономий, и синхронизовать в них снепшоты. а вот "искаропки" автономий действительно ждёмс -- чтобы в дерево локов были включены, значится, иначе ногу себе легко прострелить.

а у вас таки есть ? и дедлоки родителей через[/с] автономии разрешаются в дереве ?
27 янв 15, 08:16    [17174567]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
сизиф и мартышки
щиталку не поломай, северный варвар


Болтать попусту не чего. Уж если сказал, то приводи доказательства, а то получается пустое бла бла бла.

И таки да автономки у нас есть. А вот dblink увы нету.
27 янв 15, 08:41    [17174615]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
сизиф и мартышки
Guest
Симонов Денис
И таки да автономки у нас есть. А вот dblink увы нету.
нужны не автономки self, а их отслеживание в дереве блокировок, чтобы не защелкнуться через них в неразрешимый дедлок.

дблинк (если в автономках выставить одну очередь на ресурс, а в породивших -- обратную очередь на [возможно другой] ресурс) -- не позволяет автоматом отследить дедлок по дереву (блокировка, считай, клиентская) -- т.ч. там надо тщательно следить за логикой.

Ну а параллельное выполнение вычислительно сложных сверток в несколько смычков я на нем делал. Правда на синхронизацию снепшотов забил (вернее была версия до этой фичи, а потом не переписывал).
27 янв 15, 10:07    [17174872]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
сизиф и мартышки,

1) dblink-и уже перешли из контрибов в ядро? Я надеюсь, что они относятся к "they address a limited audience", а не к "too experimental to be part of the main source tree"?

2) Предлагаю таки почитать про автономные транзакции - в википедии или в оракловой доке, например. После чего предложить реальный сценарий возникновения в них дедлоков с родительской транзакцией.
27 янв 15, 11:00    [17175164]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
dimitr
2) Предлагаю таки почитать про автономные транзакции - в википедии или в оракловой доке, например. После чего предложить реальный сценарий возникновения в них дедлоков с родительской транзакцией.

Обе транзакции хотят вставить в одну таблицу id1 - автономка будет ждать, что основная транзакция освободит блокировку, а основная, что закончится автономка. Если в анализе замыканий есть зависимость окончание автономки, то можно определить deadlock, если только по блокировкам записей, то основная может и не ждать никаких блокировок от автономки.
27 янв 15, 11:12    [17175253]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
hvlad
Member

Откуда:
Сообщений: 11555
Сергей Арсеньев,

в Firebird:
а) нет никаких блокировок записей
б) есть блокировки, связанные с тр-циями и использующиеся для определения статуса активности т-ции
в) т.к. автономные тр-ции действительно автономны, то они абсолютно равноправны с "родительскими" и
для них действуют те же самые "правила игры".

Так что обнаружение дедлоков для автономок работает точно так же, как и для всех других тр-ций в БД.
27 янв 15, 11:29    [17175421]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Сергей Арсеньев,

принято, дедлок возможен при WAIT-режиме транзакций. Тем не менее:

SQL> create table t (id int primary key);
SQL> insert into t (id) values (1);
SQL> set term ^;
SQL> execute block as begin in autonomous transaction do insert into t values (1); end^
-- пауза в DeadlockTimeout секунд
Statement failed, SQLSTATE = 23000
violation of PRIMARY or UNIQUE KEY constraint "INTEG_2" on table "T"
-Problematic key value is ("ID" = 1)
27 янв 15, 11:32    [17175453]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
hvlad
Member

Откуда:
Сообщений: 11555
dimitr,

ты заодно объясни, что наличие PK в твоём примере принципиально.
А то завтра местные "эксперты" будут рассказывать, что параллельная вставка в таблицу не возможна...
27 янв 15, 11:37    [17175494]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
hvlad,

дык без PK и дедлока не будет, оффтопик нам не нужен :-)
27 янв 15, 11:39    [17175515]     Ответить | Цитировать Сообщить модератору
 Re: Postgresql или firebird  [new]
Dimitry Sibiryakov
Member

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

сизиф и мартышки
нужны не автономки self, а их отслеживание в дереве блокировок,
чтобы не защелкнуться через них в неразрешимый дедлок.

О, так PostgreSQL, оказывается, блокировочник, а не версионник... Вот так и развеиваются мифы.

Posted via ActualForum NNTP Server 1.5

27 янв 15, 12:28    [17175919]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить