|
|
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Когда приложение создаёт транзакцию уровня snapshot, другие транзакции начинают плодить версии. С другой стороны, шансы зафиксировать изменения в snapshot-транзакции - близки к нулю. Возникает вопрос - насколько сложно возложить бремя версионности на эту самую snapshot-транзакцию? А именно: все остальные транзакции работают так, как будто snapshot-транзакции не существует, а сервер трудолюбиво складывает старые данные в отдельный временный файл из которого их, при необходимости, и будет читать snapshot-транзакция? Или у такого варианта "нет будущего"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:25:02 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovКогда приложение создаёт транзакцию уровня snapshot, другие транзакции начинают плодить версии. открою тебе глаза, но версии "плодятся" независимо от наличия снапшот-транзакций Basil A. SidorovС другой стороны, шансы зафиксировать изменения в snapshot-транзакции - близки к нулю. а мужики-то и не знают! Тут полфорума, наверное, изменяют данные в снапшотах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:29:49 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovКогда приложение создаёт транзакцию уровня snapshot, другие транзакции начинают плодить версии. Насколько я понимаю, "транзакции" всегда плодят версии (если конечно они не только читают), независимо от наличия отсутствия "других транзакций" и тем более их уровня изоляции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:31:53 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Речь о вполне конкретном сценарии: стартовала snapshot-транзакция, стартовала ещё одна транзакция, поменяла данные в "совпадающем" наборе и зафиксировала изменения. Насколько я понимаю, зафиксировать изменения в snapshot-транзакции после этого невозможно. С другой стороны, поскольку snapshot-траназкция ещё не завершена - все остальные транзакции на "совпадающем" наборе данных будут порождать версии, хотя это, в общем-то, и не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:35:18 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovа сервер трудолюбиво складывает старые данные в отдельный временный файл из которого их, при необходимости, и будет читать snapshot-транзакция?Что это даст ? PS не забывай, что версии ещё и заменяют журнал тр-ций (для undo) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:41:12 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНасколько я понимаю, зафиксировать изменения в snapshot-транзакции после этого невозможно. Даже хуже: их (изменения) невозможно сделать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:47:39 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
hvladЧто это даст ?Сборщик мусора может собрать то, что сейчас "держит" снимок. Данные для самой snapshot-транзакции можно складывать "тёмное прохладное место" тем же механизмом, который сейчас делает дельту для nbackup. Сливать обратно, если изменения снимка, таки, можно фиксировать и "повезло" - тоже постранично. Но вопрос как раз и состоит в целесообразности такого поведения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:52:28 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovДаже хуже: их (изменения) невозможно сделатьВ предложенном варианте - можно. Появляется копия, которую можно невозбранно менять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 11:54:43 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, то что чужие изменения нельзя затереть это благо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 12:03:56 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВ предложенном варианте - можно. Появляется копия, которую можно невозбранно менять. А что делать потом, когда этот твой снапшот решит-таки закоммититься? Если ты не собираешься коммитить изменения - просто не делай их. Вот и не будет проблем. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 12:06:06 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА что делать потом, когда этот твой снапшот решит-таки закоммититься?Получит облом. Лучше такой вариант или хуже - сказать сложно, но то, что он нарушает обратную совместимость - вполне очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 12:11:00 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Симонов Денисто что чужие изменения нельзя затереть это благоИх и в новом варианте нельзя затереть. Весь вопрос в том, когда должен возникать конфликт версий: сразу "по факту изменения" или только при попытке зафиксировать изменения в "опоздавшей" транзакции. Реализовать можно оба варианта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 12:16:13 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВесь вопрос в том, когда должен возникать конфликт версий: сразу "по факту изменения" или только при попытке зафиксировать изменения в "опоздавшей" транзакции. Голосую за "сразу". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 12:18:34 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, а какой смысл человеку что то делать, делать... а потом вдруг узнать что его послали. Лучше уж это узнать сразу в тот момент когда уже ничего нельзя делать. Хотя от отложенных ограничений в ряде случаев я бы не отказался, но это немного из другой оперы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 12:36:25 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovГолосую за "сразу"Рановато Непонятно стОит ли вообще овчинка выделки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 12:54:25 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovРановато Непонятно стОит ли вообще овчинка выделки? В самый раз. Именно этот вариант уже реализован и работает от сотворения мира. Переделать всё так чтобы несколько незакоммиченных версий одной записи могли существовать одновременно будет весьма суровой задачей, меняющей само основание архитектуры движка. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 13:05:44 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПеределать всё так чтобы несколько незакоммиченных версий одной записи могли существовать одновременно будет весьма суровой задачей, меняющей само основание архитектуры движка.От сотворения у движка не было возможности работать в независимой копии страницы. Если это имеет смысл и реализуемо, то вопрос потрясения основ переходит в более практическую плоскость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 13:12:00 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovОт сотворения у движка не было возможности работать в независимой копии страницы. Нет и необходимости. Для каждой записи может существовать ровно одна незакоммиченная версия. Вынос её на отдельную страницу или в отдельный файл создаст геморрой при выборках и хаос при согласовании с другими транзакциями. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 13:19:46 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovBasil A. SidorovОт сотворения у движка не было возможности работать в независимой копии страницы. Нет и необходимости. Для каждой записи может существовать ровно одна незакоммиченная версия. Если снапшот пытается менять закоммиченную в процессе существования снапшота версию, то тут имхо в зависимости от задачи можно бы и не кидать update conflict. Иногда в таком случае хочется получить ошибку, а иногда хочется заапдейтить. Причём в ряде случаев указать действие хочется на уровне sql-оператора, а не на уровне транзакции. off: что-то подумалось про вложенность транзакций... типа пускаем RC, потом в её контексте пускаем снапшот, коммитим его, пускаем ещё один, откатываем, пускаем ещё один, коммитим, потом коммитим или откатываем ту RC... и всё работает в рамках здравого смысла :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 14:15:08 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
NickDeeи всё работает в рамках здравого смысла :)Еще бы доку про автономные транзакции кто почитал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 14:22:24 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, а что автономные транзакции научились использовать уровень изоляции отличный от родительской? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 14:25:04 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyNickDeeи всё работает в рамках здравого смысла :)Еще бы доку про автономные транзакции кто почитал... автономные транзакции не сохраняют родительский контекст. Они автономные по сути, а не только по названию :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 14:33:34 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovhvladЧто это даст ?Сборщик мусора может собрать то, что сейчас "держит" снимок.Он и сейчас это может. Где профит ? Basil A. SidorovДанные для самой snapshot-транзакции можно складывать "тёмное прохладное место" тем же механизмом, который сейчас делает дельту для nbackup.Не вижу связи, объясни Basil A. SidorovСливать обратно, если изменения снимка, таки, можно фиксировать и "повезло" - тоже постранично.Ничего не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 15:47:29 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
hvlad, стоило мне уехать в деревню, как туча людей забыли содержимое статей на сайте про транзакции и версионность :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 15:59:44 |
|
||
|
Snapshot-транзакции
|
|||
|---|---|---|---|
|
#18+
kdvстоило мне уехать в деревню, как туча людей забыли содержимое статей на сайте про транзакции и версионность :-) Т.е. если ты нам расскажешь что тебя побудило поехать в деревню, то мы сможем понять настоящие причины забывчивости, и попытаться их устранить? :) Или ты предлагаешь сразу с тобой порешать, чтобы не быть зависимыми от твоих побуждений? :) С точки зрения здравого смысла лучше порешать прям с тобой, и чем быстрей - тем лучше. Особенно раз ты сам пришёл и стыдливо намекаешь, мол "пацаны, это мой косяк" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2014, 17:47:48 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=96&tid=1563626]: |
0ms |
get settings: |
15ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 403ms |

| 0 / 0 |
