powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вы используете FireBird (про Snapshot - транзакции)?
61 сообщений из 61, показаны все 3 страниц
Вы используете FireBird (про Snapshot - транзакции)?
    #39560708
Добрый день.

Вопрос к использующим СУБД FireBird: когда вы используете транзакции с параметрами Snapshot? - в каких случаях?

Спасибо.

Модератор: Тема перенесена из форума "Delphi".
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560710
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять трололо.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560718
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамОпять трололо.И зачем ты его сюда привел, если трололо?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560725
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут профильный раздел.
И поскольку прошлые топики
получились популярными и
не были удалены/закрыты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560727
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь c умаВопрос к использующим СУБД FireBird: когда вы используете транзакции с параметрами Snapshot? - в каких случаях?
Когда для решения задач требуется.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560746
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь c умакогда вы используете транзакции с параметрами Snapshot?
Ну, начнём с того, что у Firebird нет TIL Snapshot. Имеющиеся concurrency и consistency несколько отличаются от стандарта в плане описываемых им артефактов.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560747
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ты попутал с RepeatableRead. Вот его нет, а snapshot как раз есть.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560753
YuRockСведем очередь c умаВопрос к использующим СУБД FireBird: когда вы используете транзакции с параметрами Snapshot? - в каких случаях?
Когда для решения задач требуется.
При решении каких своих задач ты их использовал?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560754
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvты попутал с RepeatableRead. Вот его нет, а snapshot как раз есть.

[src С++]#define isc_tpb_version1 1
#define isc_tpb_version3 3
#define isc_tpb_consistency 1
#define isc_tpb_concurrency 2
#define isc_tpb_shared 3
#define isc_tpb_protected 4
#define isc_tpb_exclusive 5
#define isc_tpb_wait 6
#define isc_tpb_nowait 7
#define isc_tpb_read 8
#define isc_tpb_write 9
#define isc_tpb_lock_read 10
#define isc_tpb_lock_write 11
#define isc_tpb_verb_time 12
#define isc_tpb_commit_time 13
#define isc_tpb_ignore_limbo 14
#define isc_tpb_read_committed 15
#define isc_tpb_autocommit 16
#define isc_tpb_rec_version 17
#define isc_tpb_no_rec_version 18
#define isc_tpb_restart_requests 19
#define isc_tpb_no_auto_undo 20
#define isc_tpb_no_replication 22[/src]
Ткни пальцем, который тут есть snapshot.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560757
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovconcurrency

тебе ткнуть где это в embedded SQL называется SNAPSHOT ? Чего фигней страдаешь?
concurrency = SNAPSHOT, перечитай еще раз "Критику уровней изолированности..."
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560762
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvтебе ткнуть где это в embedded SQL называется SNAPSHOT ? Чего фигней страдаешь?
concurrency = SNAPSHOT, перечитай еще раз "Критику уровней изолированности..."

КритикаВ стандарте ANSI SQL-92 [MS, ANSI] определяются четыре уровня изолированности.

1) Незафиксированное Чтение (READ UN-COMMITED).
2) Зафиксированное Чтение (READ COMMITED).
3) Повторимое Чтение (REPEATABLE READ).
4) Сериализуемость (SERIALIZABLE).
Может, есть ссылка поновее, где уже есть этот самый SNAPSHOT?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560771
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

вот ты упертый. Ясное дело, что в стандарте снапшота нет. Но про снапшот уже давно говорят в отношении СУБД, и он именно то, что в ИБ и ФБ concurrency = SNAPSHOT.

https://en.wikipedia.org/wiki/Snapshot_isolation

Snapshot isolation has been adopted by several major database management systems, such as SQL Anywhere, InterBase
, Firebird , Oracle, PostgreSQL, MongoDB[1] and Microsoft SQL Server (2005 and later). The main reason for its adoption is that it allows better performance than serializability, yet still avoids most of the concurrency anomalies that serializability avoids (but not always all). In practice snapshot isolation is implemented within multiversion concurrency control (MVCC), where generational values of each data item (versions) are maintained: MVCC is a common way to increase concurrency and performance by generating a new version of a database object each time the object is written, and allowing transactions' read operations of several last relevant versions (of each object). Snapshot isolation has been used[2] to criticize the ANSI SQL-92 standard's definition of isolation levels, as it exhibits none of the "anomalies" that the SQL standard prohibited, yet is not serializable (the anomaly-free isolation level defined by ANSI).
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560774
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

И вообще. Человек спрашивает про снапшот, ты отвечаешь что в ФБ "снапшота нет", потом ссылаешься что его "в стандарте нет", и т.д.
Вот к чему эти выкрутасы? Уровень изолированности snapshot соответствует своему названию, что в ИБ/ФБ, что в других СУБД. Да, нет в стандарте. И что?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560783
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВот к чему эти выкрутасы?

Превентивный удар против "да я вообще снапшотом совершенно другое называл". Я старый
флеймер и бодаться без согласования терминов не хочу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560801
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь c умаYuRockпропущено...

Когда для решения задач требуется.
При решении каких своих задач ты их использовал?
Это военная тайна, извини.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560804
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock> Это военная тайна, извини.

Хороший ответный троллинг, зачёт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560857
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь c ума,

можно я культурно финализирую эту переписку?
Ответ на вопрос состоит в понимании уровней изолированности транзакций, вообще. Что в них видно, и когда.
Если нам надо читать свежие committed записи, мы используем Read Committed.
Если нам не надо видеть ничего нового и изменяемого с момента старта транзакции - используем snapshot.
Собственно, всё.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560889
kdv,

я понимаю (по крайней мер, я так думаю, что я понимаю) разницу между видами изоляции транзакций.
Интересовали именно случаи прикладного применения снаршота.
Ну, для формирование отчетов. А ещё когда?
Потому и
Поэтому я и спросил в разделе Дельфи, где в основном прикладники - программисты обитают.
А сердитый Рустам везде измену зрит. :(
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560902
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведём очередь с умаНу, для формирование отчетов. А ещё когда?

Практически всегда. Я не вижу практической нужды для других уровней изоляции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560944
Dimitry Sibiryakov,

ты не придерживаешься часто встречающегося (в учебниках, статьях и примерах) шаблона "длинная читающая, короткая пишущая ReadCommited транзакции", похоже.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560966
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь c уматы не придерживаешься часто встречающегося (в учебниках, статьях и примерах) шаблона
"длинная читающая, короткая пишущая ReadCommited транзакции", похоже.

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

Упомянутый тобою шаблон целиком на совести архитекторов Борланд, сотворивших убогую
DB-aware часть VCL. Эта сова была идеальна для плоских файлов DBase и Paradox, но на
транзакции натягивается с большим трудом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560979
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovРазумеется нет. Я придерживаюсь гораздо более классического и надёжного шаблона
"транзакции минимально необходимой длины".


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

А снапшот нужен в первую очередь для того, чтобы обеспечить конфликт при внесении изменений, если данные были изменены кем-то ещё после того, как ты их прочитал и начал думать. Над ними. Ну и для разглядывания непротиворечивого снимка сложной структуры на момент начала разглядывания, конечно.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39560985
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСведём очередь с умаНу, для формирование отчетов. А ещё когда?

Практически всегда. Я не вижу практической нужды для других уровней изоляции.Например, такая логика.
Какой-то процесс (автоматически или с помощью пользователя) ожидает, не появилась ли определенная запись. И если появилась - запускает какой-то еще процесс. Как бы получено подтверждение, что можно. Обычная задача.
Ну, так вот. Проверяет он наличие этой записи. Раз в 5 секунд, или 30, или пол часа - не важно, зависит от задачи.
Ну так вот, в данном случае имхо целесообразнее использовать RC, чем RR. Потому, что запись может появиться в промежутке между стартом транзакции и SELECT, и снапшот её в таком случае уже не увидит.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561041
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведём очередь с умаИнтересовали именно случаи прикладного применения снаршота.
Ну, для формирование отчетов. А ещё когда?


Как-раз для отчетов он, имхо, не обязателен. Отчет - это когда 1-2-3-го числа берутся данные для прошлого месяца от 1-го до 30-го. Там давно уже все закоммичено и не должно меняться, уж тем более в процессе отчета.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561045
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.Как-раз для отчетов он, имхо, не обязателен. Отчет - это когда 1-2-3-го числа берутся данные для прошлого месяца от 1-го до 30-го. Там давно уже все закоммичено и не должно меняться, уж тем более в процессе отчета.Спасибо, поржал. "Не должно"

Сведем очередь c умаПри решении каких своих задач ты их использовал?Практически все задачи, где следует прочитать какие-то данные, каким-то образом их агрегировать (или нет), и принять решение исходя из результата.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561086
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockDimitry Sibiryakovпропущено...

Практически всегда. Я не вижу практической нужды для других уровней изоляции.Например, такая логика.
Какой-то процесс (автоматически или с помощью пользователя) ожидает, не появилась ли определенная запись. И если появилась - запускает какой-то еще процесс. Как бы получено подтверждение, что можно. Обычная задача.
Ну, так вот. Проверяет он наличие этой записи. Раз в 5 секунд, или 30, или пол часа - не важно, зависит от задачи.
Ну так вот, в данном случае имхо целесообразнее использовать RC, чем RR. Потому, что запись может появиться в промежутке между стартом транзакции и SELECT, и снапшот её в таком случае уже не увидит.

Получасовой снапшот?
В наше время за это били канделябром.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561091
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаDimitry SibiryakovРазумеется нет. Я придерживаюсь гораздо более классического и надёжного шаблона
"транзакции минимально необходимой длины".


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

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

Скажите, пжалста, дату, начиная с которой можно менять одни и те же данные в разных транзакциях.

PS На "думать" уровень изоляции не влияет.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561137
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorСкажите, пжалста, дату, начиная с которой можно менять одни и те же данные в разных транзакциях.Можно с любой, меняй, мы не возражаем.

ПыСы. Если ты "менять" понял как update+commit, а не update, то ССЗБ.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561172
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
29.11.2017 10:31, pastor пишет:
> Получасовой снапшот?
> В наше время за это били канделябром.

у Оракела тоже бьют.
причем, сам сервер.
ORA-01555: snapshot too old
архитектурная особенность связанная с ограниченным размером "сегмента отката".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561227
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockНапример, такая логика.
Какой-то процесс (автоматически или с помощью пользователя) ожидает, не появилась ли
определенная запись. И если появилась - запускает какой-то еще процесс. Как бы получено
подтверждение, что можно. Обычная задача.

И решается она обычным методом: подпиской на событие, по получению которого стартует
транзакция (любой необходимой изоляции) и вычитывает/проверяет всё что хочет. А мозолить
сервер запросами оставим студентам-ПлоХоПлюшникам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561330
S.G.Сведём очередь с умаИнтересовали именно случаи прикладного применения снаршота.
Ну, для формирование отчетов. А ещё когда?


Как-раз для отчетов он, имхо, не обязателен. Отчет - это когда 1-2-3-го числа берутся данные для прошлого месяца от 1-го до 30-го. Там давно уже все закоммичено и не должно меняться, уж тем более в процессе отчета.

Непонятно, почему не использовать снапшот, гарантирующий незыблемость данных в процессе формирования отчетов.
Пусть даже отчета прошлого месяца позапозапрошлого года.
В чем видите профит от не-использования снапшота? Конкретно в данном случае.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561338
pastor...Получасовой снапшот ?
В наше время за это били канделябром.
Вообще-то, YuRock указал на обратное:
YuRock...в данном случае имхо целесообразнее использовать RC, чем RR...
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561366
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorYuRockпропущено...
Например, такая логика.
Какой-то процесс (автоматически или с помощью пользователя) ожидает, не появилась ли определенная запись. И если появилась - запускает какой-то еще процесс. Как бы получено подтверждение, что можно. Обычная задача.
Ну, так вот. Проверяет он наличие этой записи. Раз в 5 секунд, или 30, или пол часа - не важно, зависит от задачи.
Ну так вот, в данном случае имхо целесообразнее использовать RC, чем RR. Потому, что запись может появиться в промежутке между стартом транзакции и SELECT, и снапшот её в таком случае уже не увидит.

Получасовой снапшот?
В наше время за это били канделябром.Где ты вычитал про "получасовой"? Именно наоборот - открыл, дернул селект, закрыл.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561373
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovYuRockНапример, такая логика.
Какой-то процесс (автоматически или с помощью пользователя) ожидает, не появилась ли
определенная запись. И если появилась - запускает какой-то еще процесс. Как бы получено
подтверждение, что можно. Обычная задача.

И решается она обычным методом: подпиской на событие, по получению которого стартует
транзакция (любой необходимой изоляции) и вычитывает/проверяет всё что хочет. А мозолить
сервер запросами оставим студентам-ПлоХоПлюшникам.Если бы были параметризованные параметры - еще куда ни шло. А так, когда в таблицу(ы), из которой(ых) надо получить это подтверждение селектом по нескольким условиям, постоянно добавляются записи...

Да и, о чем я говорю, а если клиент был закрыт, то при запуске он опять же как студент должен произвести описанную мною процедуру. И опять же RC для этого будет лучше.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561374
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockпараметризованные параметрысобытия
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561386
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockИ опять же RC для этого будет лучше.

Чем лучше, если он тут же закрывается? Ну, получит приложение свой сигнал не сейчас, а на
следующем цикле, так это ничем не отличается от ситуации, когда он (сигнал) пришёл через
миллисекунду после запроса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561391
YuRockDimitry Sibiryakovпропущено...

И решается она обычным методом: подпиской на событие, по получению которого стартует
транзакция (любой необходимой изоляции) и вычитывает/проверяет всё что хочет. А мозолить
сервер запросами оставим студентам-ПлоХоПлюшникам.Если бы были параметризованные параметры - еще куда ни шло. А так, когда в таблицу(ы), из которой(ых) надо получить это подтверждение селектом по нескольким условиям, постоянно добавляются записи...

Да и, о чем я говорю, а если клиент был закрыт, то при запуске он опять же как студент должен произвести описанную мною процедуру. И опять же RC для этого будет лучше.
Если у тебя каждая модификация идет в отдельной транзакции, и ты всякий раз генерируешь событие - да, событий получишь много.
Но ничто не мешает не лезть по событию каждый раз в базу, а просто взводить флаг - "что-то случилось", и только при наличии взведенного флага делать:
YuRock...Раз в 5 секунд, или 30, или пол часа...
...
Более того, это "особенное событие" можно генерировать именно при появлении такой вот "особенной" записи. Один раз. :)
А если "особенность" меняется (или их много), описывать их ("особенности") в отдельной табличке.
...
А ты не мог быА ты не мог бы не нести пургу, а поделиться своими "военными тайнами" - когда используешь именно снапшот транзакции?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561409
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovYuRockИ опять же RC для этого будет лучше.

Чем лучше, если он тут же закрывается? Ну, получит приложение свой сигнал не сейчас, а на
следующем цикле, так это ничем не отличается от ситуации, когда он (сигнал) пришёл через
миллисекунду после запроса.Лучше тем, что сейчас - это раньше, чем "на следующем цикле".
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561413
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь с умаНо ничто не мешает не лезть по событию каждый раз в базу, а просто взводить флаг - "что-то случилось", и только при наличии взведенного флага делать:
YuRock...Раз в 5 секунд, или 30, или пол часа...Зачем же тогда события, если и так по таймеру можно проверять?
Чтоб логику просто усложнить? :)
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561417
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockРаз в 5 секунд, или 30, или пол часа - не важно , зависит от задачиpastorпропущено...


Получасовой снапшот?
В наше время за это били канделябром.Где ты вычитал про "получасовой"? Именно наоборот - открыл, дернул селект, закрыл.

ПОЛЧАСА слитно.

за попытку допущения получасового снапшота, во времена всеобщей грамотности, вполне можно было получить несоответствие в связи с неграмотностью.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561419
YuRockСведем очередь с умаНо ничто не мешает не лезть по событию каждый раз в базу, а просто взводить флаг - "что-то случилось", и только при наличии взведенного флага делать:
пропущено...
Зачем же тогда события, если и так по таймеру можно проверять?
Чтоб логику просто усложнить? :)

Тем, что вообще не нужно проверять, если флаг не "взвелся".
А таймер нужен для случая, когда поток событий слишком велик.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561449
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь c умаА таймер нужен для случая, когда поток событий слишком велик.Ну так не вызывай isc_que_events сразу после получения события, если поток ТАК велик...
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561450
hvlad,

мало ли. Ситуации разные бывают.

:)
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561461
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorYuRockРаз в 5 секунд, или 30, или пол часа - не важно , зависит от задачипропущено...
Где ты вычитал про "получасовой"? Именно наоборот - открыл, дернул селект, закрыл.

ПОЛЧАСА слитно.

за попытку допущения получасового снапшота, во времена всеобщей грамотности, вполне можно было получить несоответствие в связи с неграмотностью.У, как всё сложно. Раз написал, два написал - не понимать, не грамотные мы.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561574
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorСкажите, пжалста, дату, начиная с которой можно менять одни и те же данные в разных транзакциях.

PS На "думать" уровень изоляции не влияет.

От рождества Дейтова. Стартовал транзакцию, вытащил клубок данных на экран, задумался - а может быть, вот такой колор? Отредактировал, сохраняешь изменения. Если это RC, и за время раздумий другая транзакция поменяла прочитанные нами данные и закоммитила изменения, то наши спокойненько лягут поверх её изменений, патамушта те уже commited. Если меняем приращением, то и фиг то с ним, оно даже и к лучшему, а если присваиванием, то фигня получается практицки, истребили мы результат деятельности соседа. Когда-то писал я здесь весёленькое эссе на грани пошлятины в качестве примера на эту тему. А вот если мы в снапшоте, то получим мы отлуп со своими изменениями, закоммитимся/отроллбачимся, перечитаем и прикинем кто из нас прав.

PS И что в этот раз повлияло на "думать"?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561718
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаpastorСкажите, пжалста, дату, начиная с которой можно менять одни и те же данные в разных транзакциях.

PS На "думать" уровень изоляции не влияет.

От рождества Дейтова. Стартовал транзакцию, вытащил клубок данных на экран, задумался - а может быть, вот такой колор? Отредактировал, сохраняешь изменения. Если это RC, и за время раздумий другая транзакция поменяла прочитанные нами данные и закоммитила изменения, то наши спокойненько лягут поверх её изменений, патамушта те уже commited. Если меняем приращением, то и фиг то с ним, оно даже и к лучшему, а если присваиванием, то фигня получается практицки, истребили мы результат деятельности соседа. Когда-то писал я здесь весёленькое эссе на грани пошлятины в качестве примера на эту тему. А вот если мы в снапшоте, то получим мы отлуп со своими изменениями, закоммитимся/отроллбачимся, перечитаем и прикинем кто из нас прав.

PS И что в этот раз повлияло на "думать"?

если сохраняешь изменения, это уже разные данные. речь про одни и те же.

а про Если это RC, и за время раздумий другая транзакция поменяла прочитанные нами данные и закоммитила изменения, то наши спокойненько лягут поверх её изменений, патамушта те уже commited перечитай еще раз Дейта. ну, или эксперимент поставь.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561752
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сведем очередь c умаS.G.Как-раз для отчетов он, имхо, не обязателен. Отчет - это когда 1-2-3-го числа берутся данные для прошлого месяца от 1-го до 30-го. Там давно уже все закоммичено и не должно меняться, уж тем более в процессе отчета.

Непонятно, почему не использовать снапшот, гарантирующий незыблемость данных в процессе формирования отчетов.
Пусть даже отчета прошлого месяца позапозапрошлого года.
В чем видите профит от не-использования снапшота? Конкретно в данном случае.
snapshot больше нагружает сервер.
насколько? хз, но во всяком случае 20990840

тут:
http://www.ibase.ru/ibtrans/
Физическое отличие READ_COMMITTED от SNAPSHOT
Если не влезать в дебри исходных текстов, то все достаточно просто. Транзакции имеют 4 состояния – active, committed, rolled back, in limbo (подробнее см. документ). Это состояние (2 бита) для всех существующих или завершенных транзакций (начиная с Oldest transaction) хранится на так называемых Transaction Inventory Pages (TIP) в базе данных.

При старте транзакций read_committed все они определяют "видимость" версий записей обращаясь к "глобальному" TIP – если версия записи committed, то ее можно читать. Если нет – нельзя.

При старте snapshot для транзакции делается "снимок" TIP. Т. е. он копируется локально для этой транзакции, и таким образом состояния транзакций "замораживаются" на момент старта этого snapshot. Именно поэтому snapshot "не видит" никаких, даже committed изменений, сделанных в БД после своего старта.

Понятно, что чем больше стартует транзакций в режиме snapshot, тем больше делается "локальных копий" TIP. С одной стороны, даже 200 тысяч транзакций займут примерно 50 килобайт (в одном байте помещается четыре двухбитовых "состояния" транзакции), то это не так страшно для современных серверов. Однако, на практике встречаются базы данных с гораздо большим числом транзакций в TIP (по разным причинам, в основном просто потому что не делается backup или не запускается sweep). В результате количество памяти, отводимое под локальный TIP для snapshot может оказаться большим. Кроме того, совершенно естественно, что время старта snapshot будет все дольше и дольше, чем больше состояний транзакций хранится в TIP (затраты времени на копирование страниц TIP в локальную копию TIP).
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561773
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.snapshot больше нагружает сервер.Меньше всего нагружает сервер транзакция, которой не было.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561782
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.snapshot больше нагружает сервер.Чем? Тем, что удаленные в других - параллельных транзакциях записи, с идентификатором изменившей эти записи транзакции младше транзакции снапшота, не позволяет отправить в мусор?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561791
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryS.G.Как-раз для отчетов он, имхо, не обязателен. Отчет - это когда 1-2-3-го числа берутся данные для прошлого месяца от 1-го до 30-го. Там давно уже все закоммичено и не должно меняться, уж тем более в процессе отчета.Спасибо, поржал. "Не должно" Если у вас 30-31 заканчивают месяц, потом 1-2 делают отчет, а 5-6 спохватываются и меняют данные задним числом, то тут не повод для ржаки, а для грусти. Только непонятно, как при этом поможет snapshot?


WildSeryS.G.snapshot больше нагружает сервер.Меньше всего нагружает сервер транзакция, которой не было.

прекрасные комменты, WildSery :)
а по теме ничего не будет?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561814
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.Если у вас 30-31 заканчивают месяц, потом 1-2 делают отчет, а 5-6 спохватываются и меняют данные задним числом, то тут не повод для ржаки, а для грусти. Только непонятно, как при этом поможет snapshot?Поэтому, практически во всех бухгалтерских системах существует процессы "разноски" итогов и закрытия периодов, которые могут быть запущены только если от начала закрываемого периода не существует иных закрытых периодов. Только какое отношение особенности реализации логики работы БД имеют к серверу FirebirdSQL?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561830
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devS.G.Если у вас 30-31 заканчивают месяц, потом 1-2 делают отчет, а 5-6 спохватываются и меняют данные задним числом, то тут не повод для ржаки, а для грусти. Только непонятно, как при этом поможет snapshot?Поэтому, практически во всех бухгалтерских системах существует процессы "разноски" итогов и закрытия периодов, которые могут быть запущены только если от начала закрываемого периода не существует иных закрытых периодов. Только какое отношение особенности реализации логики работы БД имеют к серверу FirebirdSQL?Трудно вернуться назад по теме и почитать, откуда пошла эта часть обсуждения?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39561847
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.Трудно вернуться назад по теме и почитать, откуда пошла эта часть обсуждения?И что я там должен увидеть?
Что мешает одному бухгалтеру в снапшот-транзакции получать отчет по закрытому периоду, а главному бухгалтеру, в этот же момент, в параллельной транзакции "откатить" закрытие месяца и начать изменение данных? Причем, это вполне нормальный жизненный цикл работы, если необходимо срочно сдать отчет в налоговую "как есть", а затем донести "уточнёнку".
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562009
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.Если у вас 30-31 заканчивают месяц, потом 1-2 делают отчет, а 5-6 спохватываются и меняют данные задним числом, то тут не повод для ржаки, а для грусти. Только непонятно, как при этом поможет snapshot?Я работаю не в компании-интеграторе, где всё закрывается и работает как часы, прямо как ты описал. Только нифига потом не внедряется.
Документы откуда-нибудь из Сибири для регистрации факта реализации наёмная транспортная компания может и через месяц привезти.
А клиент ещё через месяц заявит, что вот он тут у себя сверялся, и мы у него стырили копейку лишнюю в НДС, так что переделайте срочно.

S.G.прекрасные комменты, WildSery :)
а по теме ничего не будет?Твоё легкомысленное заявление об особой тяжести снэпшота, ничем не подтверждённое, и являющееся по большому счёту просто метанием какахи, видимо, по теме?
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562202
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryS.G.прекрасные комменты, WildSery :)
а по теме ничего не будет?Твоё легкомысленное заявление об особой тяжести снэпшота, ничем не подтверждённое, и являющееся по большому счёту просто метанием какахи, видимо, по теме?
здесь: 20994324
я написал, почему я так считаю, и привел текст из http://www.ibase.ru/ibtrans/
возможно, я неправильно интерпретировал этот текст.

Как ты ответил? Может быть, указал на ошибочность моих выводов, или на ошибочность статьи?
нет, ты ответил:
20994408 WildSeryМеньше всего нагружает сервер транзакция, которой не было.

ну и еще немного:
WildSeryСпасибо, поржал.
WildSery... и являющееся по большому счёту просто метанием какахи


ну.. спасибо, уважаемый модератор форума firebird, за прекрасное ведение дискуссии.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562203
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да хватит уже пикироваться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562476
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.я написал, почему я так считаюнет, не написал, почему.
S.G.и привел текст из http://www.ibase.ru/ibtrans/ ... где написано, что если открыть миллион транзакций, то маломощной железке станет тяжко. Почему вывод "снэпшот - большая нагрузка", я не понял.
S.G.Может быть, указал на ошибочность моих выводов, или на ошибочность статьи?Мне показалось, что это не вывод, поскольку никаких путей для его получения не озвучено и не придумалось за тебя, а потому похоже на вброс.
Кроме того, сыграло свою роль твоё наивное высказывание о том, что прошлый месяц можно спокойно читать в RC.

Статья же пишет об особенностях использования конкретного инструмента, и вообще, сравнивать снэпшот и рид коммит - это как "армяне лучше чем грузины". Разные инструменты, разное применение. Если нужен снэпшот, то даже если бы он вдруг был, как ты подумал, "тяжёлым", всё равно следует использовать его.

S.G.спасибо, уважаемый модератор форума firebird, за прекрасное ведение дискуссии.Всегда пожалуйста. А будешь вырывать фразы из контекста - вот тогда надуюсь и перестану разговаривать.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562780
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorа про Если это RC, и за время раздумий другая транзакция поменяла прочитанные нами данные и закоммитила изменения, то наши спокойненько лягут поверх её изменений, патамушта те уже commited перечитай еще раз Дейта. ну, или эксперимент поставь.

Таки ты прав, пардон муа. Акела промахнулся, сказался уровень полугодовой само изоляции от общественно-полезного труда. В RC будет прав первый закоммитивший, а не последний, этот получит отлуп. А в снапшоте будет прав первый и проапдейтивший и закоммитивший, а второй в nowait при попытке апдейта получит отлуп независимо от закоммиченности изменений первого, в wait подождёт - а не отроллбачится ли первый. Какое поведение предпочтительно - диктуется логикой задачи. Перечитывать не стал, с лупой это напряжно, эксперименты ставить тоже, просто ум наморщил. Непривычно это стало. Накладываю на себя епитимью - неделю дальше Пятницы не высовываться.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562797
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПМ> В RC будет прав первый закоммитивший, а не последний, этот получит отлуп.

Зависит от.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562823
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамСПМ> В RC будет прав первый закоммитивший, а не последний, этот получит отлуп.

Зависит от.
того, закоммичена ли запись, измененная первым, на сколько я понимаю.
...
Рейтинг: 0 / 0
Вы используете FireBird (про Snapshot - транзакции)?
    #39562843
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это само собой, это уже сказано выше.
А зависит от моментума - когда будет вторая попытка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вы используете FireBird (про Snapshot - транзакции)?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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