powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Это ещё не конец?
25 сообщений из 54, страница 2 из 3
Это ещё не конец?
    #39657982
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Не ну и я все про нее же. Значит все-таки в четверке. Ок.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39657985
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F,

посередь минорных версий? Не, сейчас такое только у Интербэйза.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39657986
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

А и причем здесь посередь, ди и еще при том минорных? Я ведь про в принципе.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658012
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FЕсли ты про новую сборку
"новая сборка" - это 3.0.4, 3.0.5, 3.0.6...
4.0 - это не сборка, это версия.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658033
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladkdvOAT - OIT это вообще фигня какая-тоВлияющая на размер активной части TIP, которую
- копирует каждая snapshot тр-ция, а это память и IO
- кеширует каждый процесс для read-committed тр-ций, а это тоже память - особенно для CS\SC
Так штааа...
я правильно понимаю, что каждый процесс классика хранит это состояние и синхронизирует при изменениях?
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658036
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvДегтярев Евгенийне силен в терминах, RC это read committed?
http://www.ibase.ru/ibtrans/
Работать с БД и только догадываться что такое RC, это как-то ... сильно.

а я и не утверждал такого, потому только догадываюсь ))

kdvДегтярев Евгенийа разве по умолчанию транзакция не rc?
при чем тут умолчания? я обрисовал как с TIP работают транзакции read committed и snapshot. Других транзакций в ИБ и ФБ нет.
У ИБ и ФБ по умолчанию транзакция Snapshot (сюрприз).
У IBX - тоже snapshot.
У FIBPlus - read committed.

Как у других компонентов - до лампочки, потому что я давно говорю, что "по умолчанию" транзакции использовать нельзя, надо явно задавать уровень изолированности, потому что он х.з. какой по умолчанию в каких компонентах.
К примеру, RC "по умолчанию" в ИБ и ФБ no_rec_version (см. статью выше).
про необходимость ручного управления я в курсе, потому и спросил про умолчания (спасибо за разъяснения)
там где есть понимание и ручное управление - проблем как у ТС просто не будет, а где нет имеем то что получается
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658054
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F,

есть ветка Red Database (не в курсе вошло ли это в последний их релиз или только экспериментальная) в которой реализован Read Statement Consistent для RC и промежуточная сборка мусора. Вроде как хотели портировать в 4.0. Где то была презенташка от Влада, если найду ссылку опубликую.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658087
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгенийhvladпропущено...
Влияющая на размер активной части TIP, которую
- копирует каждая snapshot тр-ция, а это память и IO
- кеширует каждый процесс для read-committed тр-ций, а это тоже память - особенно для CS\SC
Так штааа...
я правильно понимаю, что каждый процесс классика хранит это состояние и синхронизирует при изменениях?Да
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658100
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F,

если интересно вот та презенташка https://www.firebirdsql.org/file/community/conference-2016/statement-level-read-consistency.pdf
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658115
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгенийя правильно понимаю, что каждый процесс классика хранит это состояние и синхронизирует при изменениях?
хранит - да, но "синхронизирует" - нет. Нечего там синхронизировать. При snapshot читается TIP от OIT до Next, и дальше всё - транзакция сама никак TIP не меняет, никакая.
Еще раз - RC обращается к глобальному TIP, периодически, при проверке состояния транзакций у читаемых версий, на то она и read committed. Поэтому RC хранить у себя копию TIP незачем.
А Snapshot делает себе "личную копию TIP" именно для того, чтобы не видеть ничьих чужих изменений, и "перечитывать TIP" ей без надобности.
Так что, в общем, и у snapshot, да и у RC нет никакой "синхронизации TIP".
А глобальный TIP (в базе) меняется только когда какая-то транзакция завершилась.

кроме того, не "каждый процесс классика", а просто каждый коннект в любой архитектуре - CS, SC, SS. По потреблению памяти этот самый TIP влияет одинаково. Разница тут только в раздельном кэше БД у CS-SC и SS.

p.s. либо объясните, что имеете в виду под "синхронизацией". Лично я тут её не усматриваю.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658349
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvДегтярев Евгенийя правильно понимаю, что каждый процесс классика хранит это состояние и синхронизирует при изменениях?
хранит - да, но "синхронизирует" - нет. Нечего там синхронизировать.
Влад выше сказал обратное.

авторПри snapshot читается TIP от OIT до Next, и дальше всё - транзакция сама никак TIP не меняет, никакая.
Еще раз - RC обращается к глобальному TIP, периодически, при проверке состояния транзакций у читаемых версий , на то она и read committed. Поэтому RC хранить у себя копию TIP незачем.
А Snapshot делает себе "личную копию TIP" именно для того, чтобы не видеть ничьих чужих изменений, и "перечитывать TIP" ей без надобности.

Таких проверок на один запрос может быть миллион и чтобы это эффективно работало, надо чтобы эти данные были в памяти процесса. Для SS всё ништяк, все и так в одном процессе живут, для классика нужна копия в каждом.
по крайней мере я себе это так представляю, пусть разработчики меня поправят

авторТак что, в общем, и у snapshot, да и у RC нет никакой "синхронизации TIP".
у транзакций нет, я говорил про процессы

авторА глобальный TIP (в базе) меняется только когда какая-то транзакция завершилась.
FB 2.5 classic, 4к соединений, получается при каждом комите надо TIP синхронизировать в 4к процессов.
У меня нет данных по кол-ву транзакций в сек, но достаточно чтобы одна кривая апликуха, держащая OIT, поставила всю систему на колени.


PS
to hvlad:
1 синхронизация TIP синхронная?
2 синхронизируется весь TIP или как то более хитро?
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658375
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvVlad FЕсли ты про новую сборку
"новая сборка" - это 3.0.4, 3.0.5, 3.0.6...
4.0 - это не сборка, это версия.
Дмитрий! Я про новую сборку мусора . )))
Перечитай нашу с тобой переписку в данном контексте.
А под "в принципе" имелось ввиду, в четверке или пятерке в принципе.)
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658379
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисVlad F,

если интересно вот та презенташка https://www.firebirdsql.org/file/community/conference-2016/statement-level-read-consistency.pdf
Спасибо, обязательно гляну в рабочем порядкке.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658388
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений1 синхронизация TIP синхронная?
2 синхронизируется весь TIP или как то более хитро?TIP хранится в страницах БД, соответственно (часть TIP) кешируется и синхронизируется по тем же принципам, что и страницы БД.
Если какая-то страница TIP не нужна процессу, то он её не использует и не "синхронизирует".

При старте snapshot тр-ции читается активная часть TIP (OIT - Next). Есс-но, она может быть целиком или частично в страничном кеше.
Тут нужно заметить, что если активная часть TIP часть велика, а страничный кеш - мал (привет, CS), то содержимое страничного кеша может быть вытеснено при старте snapshot тр-ции.

Дополнительно есть кеш (активной части) TIP, используемый RC тр-циями совместно.
Он обновляется когда тр-ция завершается (и изменяет своё состояние), или когда есть сомнения в актуальности кешированного состояния тр-ции.

Отсюда ответы:
1. нет, не синхронная (т.е. все процессы не обновляют свой кеш в тот момент, когда кто-то что-то поменял)
2. как-то более хитро
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658435
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев ЕвгенийВлад выше сказал обратное.
ничего он обратного не сказал, см. его ответ ниже.

Я специально умолчал про кэш, потому что этот механизм несколько сбоку в отношении пресловутой мифической "синхронизации TIP". Достаточно понять, что я именно написал, и прочитать хоть чуть-чуть как транзакции меняют свое состояние, и как отслеживают состояния других транзакций, чтобы перестать говорить про "синхронизацию".
Может я нагнетаю, но мне кажется, что вы под синхронизацией представляете нечто другое, чем происходит на самом деле.

Дегтярев Евгенийможет быть миллион и чтобы это эффективно работало, надо чтобы эти данные были в памяти процесса.
за это отвечает КЭШ. Точно так же как и за синхронизацию изменений на страницах данных. Движок же в процессе работы транзакций и чтения версий ПРОВЕРЯЕТ состояния транзакций, либо из копии snapshot, либо из tip базы.

Дегтярев Евгенийя говорил про процессы
процессы дофига чего синхронизируют между собой через lock manager, например. Модификацию одной и той же страницы из разных транзакций, и т.д. Без "синхронизации" мульти-юзер доступ просто бы не работал.
Дегтярев Евгенийполучается при каждом комите надо TIP синхронизировать в 4к процессов.
вот не получается. При коммите движок записывает в TIP изменение состояния конкретной транзакции.
Если другим RC-транзакциям надо проверить версию этой транзакции, то они прочитают измененную страницу с этим куском с диска. Snapshot транзакции будут проверять состояния других транзакций только в локальной копии, никто никуда лазить не будет, и синхронизировать тоже.
авторно достаточно чтобы одна кривая апликуха, держащая OIT, поставила всю систему на колени.
извините, но это полная ерунда.
Во-первых, никакая аппликуха не держит OIT. OIT, в отличие от OAT, это давно завершившаяся роллбэком транзакция.
Во-вторых, чем она "поставит систему на колени"?

Если же тут перепутано, и имелось в виду OAT, так
- надо для читающих использовать read read committed. Тогда никаких длинных OAT не будет.
- не надо держать долго read write read committed в приложениях.
Собственно, опять же, "на колени" - это когда дофига версий и старая OAT. Нет версий - нет тормозов.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658438
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FЯ про новую сборку мусора.
сборка мусора - это сборка мусора. А просто сборка - это не сборка мусора. :-)
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658724
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
огонь, kdv, hvlad, спасибо за разъяснения.

авторЕсли же тут перепутано, и имелось в виду OAT, так
- надо для читающих использовать read read committed. Тогда никаких длинных OAT не будет.
- не надо держать долго read write read committed в приложениях.
Собственно, опять же, "на колени" - это когда дофига версий и старая OAT. Нет версий - нет тормозов.
конечно OAT

авторДополнительно есть кеш (активной части) TIP, используемый RC тр-циями совместно.
Он обновляется когда тр-ция завершается (и изменяет своё состояние), или когда есть сомнения в актуальности кешированного состояния тр-ции.
А вот тут можно подробности услышать?
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658758
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев ЕвгенийавторДополнительно есть кеш (активной части) TIP, используемый RC тр-циями совместно.
Он обновляется когда тр-ция завершается (и изменяет своё состояние), или когда есть сомнения в актуальности кешированного состояния тр-ции.
А вот тут можно подробности услышать?Когда тр-ция завершается коммитом\роллбеком, её новое состояние пишется и на соотв. страницу TIP, и в кеш TIP.
Когда read-committed тр-ция проверяет состояние какой-либо другой тр-ции, она первым делом спрашивает кеш TIP.
Если кешированное состояние - финальное (committed или dead), то очевидно, что оно уже не может измениться и на этом процесс проверки завершён.
Если кешированное состояние - не финальное (active или limbo), то делается попытка определить - жива ли данная тр-ция в данный момент.
Если она жива, то состояние active, иначе читается соотв. страница TIP (при этом обновляется кеш TIP) и берётся свежее состояние.

Кеш TIP обновляется сведениями о состоянии всех тр-ций на данной странице TIP

"Живость" тр-ции определяется по возможности захватить её блокировку - если тр-ция жива, то она сама её держит.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658843
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений,

на всякий случай - мне к последнему ответу hvlad добавить нечего.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39658926
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvVlad FЯ про новую сборку мусора.
сборка мусора - это сборка мусора. А просто сборка - это не сборка мусора. :-)
Дмитрий, ты словодблуд. А кроме того, я вообще не к тебе тогда обращался, и настоящий адресат почему-то все понял правильно. ))
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39659006
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F,

я не словоблуд. Это проблема русского языка, что слово build - сборка и фраза "garbage collection" - сборка мусора -
начинаются в русском языке с одного и того же слова. Поэтому для меня "сборка" не является "сборкой мусора", даже при разнице в одно сообщение. К тому же, речь шла в том числе про новую фичу ФБ 4, которую тоже можно назвать "сборкой".
А насчет - "меня не спрашивали" - ну ок, не буду отвечать тогда.
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39659017
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> А насчет - "меня не спрашивали" - ну ок, не буду отвечать тогда.

Дим, побереги бисер.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39659023
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я думал, "сборка" - это складка на одежде. Типа "кофточка со сборками".
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39659031
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> А я думал, "сборка" - это складка на одежде.

А чего не сборка-разборка АК тогда? :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Это ещё не конец?
    #39659039
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Ну, это уже глагол, скорее..
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Это ещё не конец?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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