powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вы используете FireBird (про Snapshot - транзакции)?
25 сообщений из 61, страница 1 из 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
25 сообщений из 61, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вы используете FireBird (про Snapshot - транзакции)?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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