Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вы используете FireBird (про Snapshot - транзакции)? / 25 сообщений из 61, страница 1 из 3
28.11.2017, 16:54
    #39560708
Вы используете FireBird (про Snapshot - транзакции)?
Добрый день.

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

Спасибо.

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

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

тебе ткнуть где это в embedded SQL называется SNAPSHOT ? Чего фигней страдаешь?
concurrency = SNAPSHOT, перечитай еще раз "Критику уровней изолированности..."
...
Рейтинг: 0 / 0
28.11.2017, 17:50
    #39560762
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вы используете FireBird (про Snapshot - транзакции)?
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
28.11.2017, 17:55
    #39560771
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вы используете FireBird (про Snapshot - транзакции)?
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
28.11.2017, 18:01
    #39560774
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вы используете FireBird (про Snapshot - транзакции)?
Dimitry Sibiryakov,

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

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

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

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

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

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

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

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

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

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


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

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

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


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

Сведем очередь c умаПри решении каких своих задач ты их использовал?Практически все задачи, где следует прочитать какие-то данные, каким-то образом их агрегировать (или нет), и принять решение исходя из результата.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вы используете FireBird (про Snapshot - транзакции)? / 25 сообщений из 61, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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