powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Snapshot-транзакции
25 сообщений из 27, страница 1 из 2
Snapshot-транзакции
    #38634274
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда приложение создаёт транзакцию уровня snapshot, другие транзакции начинают плодить версии.
С другой стороны, шансы зафиксировать изменения в snapshot-транзакции - близки к нулю.
Возникает вопрос - насколько сложно возложить бремя версионности на эту самую snapshot-транзакцию?
А именно: все остальные транзакции работают так, как будто snapshot-транзакции не существует, а сервер трудолюбиво складывает старые данные в отдельный временный файл из которого их, при необходимости, и будет читать snapshot-транзакция?
Или у такого варианта "нет будущего"?
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634285
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovКогда приложение создаёт транзакцию уровня snapshot, другие транзакции начинают плодить версии.
открою тебе глаза, но версии "плодятся" независимо от наличия снапшот-транзакций

Basil A. SidorovС другой стороны, шансы зафиксировать изменения в snapshot-транзакции - близки к нулю.
а мужики-то и не знают! Тут полфорума, наверное, изменяют данные в снапшотах.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634289
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovКогда приложение создаёт транзакцию уровня snapshot, другие транзакции начинают плодить версии.
Насколько я понимаю, "транзакции" всегда плодят версии (если конечно они не только читают), независимо от наличия отсутствия
"других транзакций" и тем более их уровня изоляции
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634295
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Речь о вполне конкретном сценарии: стартовала snapshot-транзакция, стартовала ещё одна транзакция, поменяла данные в "совпадающем" наборе и зафиксировала изменения.
Насколько я понимаю, зафиксировать изменения в snapshot-транзакции после этого невозможно.
С другой стороны, поскольку snapshot-траназкция ещё не завершена - все остальные транзакции на "совпадающем" наборе данных будут порождать версии, хотя это, в общем-то, и не нужно.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634308
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovа сервер трудолюбиво складывает старые данные в отдельный временный файл из которого их, при необходимости, и будет читать snapshot-транзакция?Что это даст ?

PS не забывай, что версии ещё и заменяют журнал тр-ций (для undo)
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634324
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovНасколько я понимаю, зафиксировать изменения в snapshot-транзакции
после этого невозможно.
Даже хуже: их (изменения) невозможно сделать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634336
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЧто это даст ?Сборщик мусора может собрать то, что сейчас "держит" снимок.
Данные для самой snapshot-транзакции можно складывать "тёмное прохладное место" тем же механизмом, который сейчас делает дельту для nbackup.
Сливать обратно, если изменения снимка, таки, можно фиксировать и "повезло" - тоже постранично.
Но вопрос как раз и состоит в целесообразности такого поведения.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634341
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДаже хуже: их (изменения) невозможно сделатьВ предложенном варианте - можно. Появляется копия, которую можно невозбранно менять.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634351
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

то что чужие изменения нельзя затереть это благо
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634355
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovВ предложенном варианте - можно. Появляется копия, которую можно
невозбранно менять.
А что делать потом, когда этот твой снапшот решит-таки закоммититься?

Если ты не собираешься коммитить изменения - просто не делай их. Вот и не будет проблем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634367
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА что делать потом, когда этот твой снапшот решит-таки закоммититься?Получит облом.
Лучше такой вариант или хуже - сказать сложно, но то, что он нарушает обратную совместимость - вполне очевидно.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634381
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисто что чужие изменения нельзя затереть это благоИх и в новом варианте нельзя затереть.
Весь вопрос в том, когда должен возникать конфликт версий: сразу "по факту изменения" или только при попытке зафиксировать изменения в "опоздавшей" транзакции.
Реализовать можно оба варианта.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634389
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovВесь вопрос в том, когда должен возникать конфликт версий: сразу
"по факту изменения" или только при попытке зафиксировать изменения в "опоздавшей"
транзакции.
Голосую за "сразу".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634417
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

а какой смысл человеку что то делать, делать... а потом вдруг узнать что его послали. Лучше уж это узнать сразу в тот момент когда уже ничего нельзя делать.

Хотя от отложенных ограничений в ряде случаев я бы не отказался, но это немного из другой оперы.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634446
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovГолосую за "сразу"Рановато
Непонятно стОит ли вообще овчинка выделки?
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634468
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovРановато
Непонятно стОит ли вообще овчинка выделки?
В самый раз. Именно этот вариант уже реализован и работает от сотворения мира. Переделать
всё так чтобы несколько незакоммиченных версий одной записи могли существовать
одновременно будет весьма суровой задачей, меняющей само основание архитектуры движка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634482
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПеределать
всё так чтобы несколько незакоммиченных версий одной записи могли существовать
одновременно будет весьма суровой задачей, меняющей само основание архитектуры движка.От сотворения у движка не было возможности работать в независимой копии страницы.
Если это имеет смысл и реализуемо, то вопрос потрясения основ переходит в более практическую плоскость.
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634500
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovОт сотворения у движка не было возможности работать в независимой
копии страницы.
Нет и необходимости. Для каждой записи может существовать ровно одна незакоммиченная
версия. Вынос её на отдельную страницу или в отдельный файл создаст геморрой при выборках
и хаос при согласовании с другими транзакциями.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634590
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovBasil A. SidorovОт сотворения у движка не было возможности работать в независимой
копии страницы.
Нет и необходимости. Для каждой записи может существовать ровно одна незакоммиченная
версия.
Если снапшот пытается менять закоммиченную в процессе существования снапшота версию, то тут имхо в зависимости от задачи можно бы и не кидать update conflict. Иногда в таком случае хочется получить ошибку, а иногда хочется заапдейтить. Причём в ряде случаев указать действие хочется на уровне sql-оператора, а не на уровне транзакции.

off: что-то подумалось про вложенность транзакций... типа пускаем RC, потом в её контексте пускаем снапшот, коммитим его, пускаем ещё один, откатываем, пускаем ещё один, коммитим, потом коммитим или откатываем ту RC... и всё работает в рамках здравого смысла :)
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634605
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeи всё работает в рамках здравого смысла :)Еще бы доку про автономные транзакции кто почитал...
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634612
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

а что автономные транзакции научились использовать уровень изоляции отличный от родительской?
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634620
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyNickDeeи всё работает в рамках здравого смысла :)Еще бы доку про автономные транзакции кто почитал...
автономные транзакции не сохраняют родительский контекст. Они автономные по сути, а не только по названию :)
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634707
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovhvladЧто это даст ?Сборщик мусора может собрать то, что сейчас "держит" снимок.Он и сейчас это может. Где профит ?
Basil A. SidorovДанные для самой snapshot-транзакции можно складывать "тёмное прохладное место" тем же механизмом, который сейчас делает дельту для nbackup.Не вижу связи, объясни
Basil A. SidorovСливать обратно, если изменения снимка, таки, можно фиксировать и "повезло" - тоже постранично.Ничего не понял
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634730
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

стоило мне уехать в деревню, как туча людей забыли содержимое статей на сайте про транзакции и версионность :-)
...
Рейтинг: 0 / 0
Snapshot-транзакции
    #38634864
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvстоило мне уехать в деревню, как туча людей забыли содержимое статей на сайте про транзакции и версионность :-)
Т.е. если ты нам расскажешь что тебя побудило поехать в деревню, то мы сможем понять настоящие причины забывчивости, и попытаться их устранить? :)
Или ты предлагаешь сразу с тобой порешать, чтобы не быть зависимыми от твоих побуждений? :)
С точки зрения здравого смысла лучше порешать прям с тобой, и чем быстрей - тем лучше. Особенно раз ты сам пришёл и стыдливо намекаешь, мол "пацаны, это мой косяк" :)
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Snapshot-транзакции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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