Чем интересны серверу отмененнные транзакции?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
0leg
Сообщения: 12
Зарегистрирован: 11 июл 2007, 09:41

Чем интересны серверу отмененнные транзакции?

Сообщение 0leg » 06 авг 2007, 15:45

Прочитал все статьи по транзакциям на ibase.ru, прочитал две книги по Interbase и не нашел ответа на простой вопрос:

Почему старейшая заинтересованная транзакция (OIT) - это всегда rollback - транзакция??? Кому она блин так интересна??? Сборщику мусора? И всё??? Тогда возникают такие вопросы:

Зачем хранить отмененные версии записей, если их уже никто никогда использовать не будет, кроме сборщика мусора?

Почему они не помечаются на удаление вместе с подтвержденными (commit) версиями записей во время запросов на чтение данных?

Памагите, а то свихнусь... :cry:

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Чем интересны серверу отмененнные транзакции?

Сообщение hvlad » 06 авг 2007, 16:42

0leg писал(а):Прочитал все статьи по транзакциям на ibase.ru, прочитал две книги по Interbase
Сделай паузу на недельку и... перечитай всё опять ;)
0leg писал(а):не нашел ответа на простой вопрос:

Почему старейшая заинтересованная транзакция (OIT) - это всегда rollback - транзакция???
Это - не committed тр-ция. Чувствуешь разницу ?
0leg писал(а):Кому она блин так интересна???
Серверу.
Это нижний предел значимой части TIP. Другими словами - всё, что ниже OIT - однозначно committed
0leg писал(а):Тогда возникают такие вопросы:

Зачем хранить отмененные версии записей, если их уже никто никогда использовать не будет, кроме сборщика мусора?
В момент создания этих версий, тр-ция ещё не была отменена.
Далее. Они не хранятся, по мере возможности. Или ты хочешь, чтобы rollback большой тр-ции длился часами ?
0leg писал(а):Почему они не помечаются на удаление вместе с подтвержденными (commit) версиями записей во время запросов на чтение данных?
Потому что в этот момент они физически удаляются с диска

0leg
Сообщения: 12
Зарегистрирован: 11 июл 2007, 09:41

Re: Чем интересны серверу отмененнные транзакции?

Сообщение 0leg » 06 авг 2007, 17:03

Сделай паузу на недельку и... перечитай всё опять
застрелюсь
Это - не committed тр-ция. Чувствуешь разницу ?
не чувствую!!! есть четыре типа транзакций: активные, подтвержденные, отмененные и limbo. Типа "не-commited" нету. Прошу уточнить, что это за транзакция? активная? тогда это OAT, а не OIT :shock:
В момент создания этих версий, тр-ция ещё не была отменена.
Далее. Они не хранятся, по мере возможности. Или ты хочешь, чтобы rollback большой тр-ции длился часами ?
я имел ввиду случай застревания OIT.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 06 авг 2007, 17:25

...
Последний раз редактировалось WildSery 06 авг 2007, 18:24, всего редактировалось 1 раз.

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 06 авг 2007, 17:48

Доброго времени суток!
WildSery писал(а):Влад похоже тебя запутал.
OIT - это та транзакция, которая была OAT в момент старта текущей OAT.
А Вы часом не об OST?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 06 авг 2007, 18:22

Кузнецов Евгений писал(а):А Вы часом не об OST?
Тьфу. Уже сам в сокращениях запутался. Сейчас уберу тот бред что написал. Спасибо что поправил.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Re: Чем интересны серверу отмененнные транзакции?

Сообщение Merlin » 06 авг 2007, 18:42

0leg писал(а):
Это - не committed тр-ция. Чувствуешь разницу ?
не чувствую!!! есть четыре типа транзакций: активные, подтвержденные, отмененные и limbo. Типа "не-commited" нету.
Однако. Имеем множество [1,2,3,4]. Условие <>2 - значить, не определено что ли?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 06 авг 2007, 20:21

Кстати, OIT только уборщику для рассмотрения требуется или ещё зачем?
Или где почитать?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 06 авг 2007, 20:34

WildSery писал(а):Кстати, OIT только уборщику для рассмотрения требуется или ещё зачем?
Или где почитать?
А то ты не знаешь, где kdv Евангелия складывает :wink:

http://www.ibase.ru/devinfo/oitoat.htm
http://www.ibase.ru/devinfo/utl.htm

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 06 авг 2007, 20:44

Да знаю, знаю. Вот только там описание, что это такое, и как его использует уборщик, и как оно "застревает". А вот для чего оно ещё нужно - нет.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 06 авг 2007, 20:50

WildSery писал(а):Да знаю, знаю. Вот только там как раз кроме описания, что это такое, и как его использует уборщик, для чего оно ещё нужно - нет.
Этта... У меня вот прям сейчас next на боевой 2612720. Это с 26-го июня. Прикинь, сколька RAM под кеширование TIP каждому снапшоту понадобилось бы, если бы не было засечки "а все что раньше - пох". И как бы оно даже в RAM шустро ворочалось. И там есть, и Влад только что сказал.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 06 авг 2007, 23:24

WildSery писал(а):Кстати, OIT только уборщику для рассмотрения требуется или ещё зачем?
Наоборот - это свип OIT'у нужен, для продвижения по службе в случае долгого застревания. Сборщику мусора OIT не интересен
WildSery писал(а):Или где почитать?
tra.cpp и vio.cpp, всего 2 места :)

Так кто там где кого запутал куда ? :lol:

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 07 авг 2007, 09:39

hvlad писал(а):Так кто там где кого запутал куда ? :lol:
Я сам себя, конечно же.
Си читаю со словарём.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 09 авг 2007, 08:07


0leg
Сообщения: 12
Зарегистрирован: 11 июл 2007, 09:41

Сообщение 0leg » 09 авг 2007, 11:45

спасибо всем, помогли разобраться :D

Ответить