powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Перестройка индексов в Firebird
17 сообщений из 142, страница 6 из 6
Перестройка индексов в Firebird
    #39221803
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvfb user,

Ё, кто это?NickDee, вестимо. Не узнал ?
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39221903
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineно причины периодических тормозов которых не связаны с автосвипом.
я тебе клянусь, что там, где автосвип включен, периодические тормоза связаны с ним. А там где он выключен (sweep interval = 0), разрабы кладут болт на длительные транзакции, и там уже тормоза из-за накопления версий.
Так или иначе, тормоза связаны с непониманием версионности, совсем.
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39221908
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonlineНу лично я фразу "для всех систем" понял как "для всех информационних систем (программ), которые используют ФБ", но причины периодических тормозов которых не связаны с автосвипом. В таком прочтении фраза вполне себе "мирная".
Я контекст не расширял.
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39221911
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb userЯ контекст не расширял.
гм. тогда какое еще "бесконечное пространство вариантов" тут возможно?
fb user Для всех остальных систем есть бесконечное пространство вариантов.
для версионника нет никакого "бесконечного пространства". предлагаю подтвердить это утверждение хоть какими-то аргументами.
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39221948
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvfb userЯ контекст не расширял.
гм. тогда какое еще "бесконечное пространство вариантов" тут возможно?
Все нормально работающие (без периодических тормозов) системы на FB, для которых нет необходимости в такой штуке как "понимание версионности и сборки мусора (и автосвипа)".
Вы написали что такие системы невозможны: 19090071 .
Хотя если вы писали это из контекста "мы тут говорим только про тормоза из-за мусора", что скорей всего так и есть, тогда я не прав и извиняюсь.
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222195
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теоретег.
сраный.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222562
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvГоворишь, "вот ваша документация", но там по gstat и gfix писал Norman Dunbar.

"кто все эти люди?"

Хоть Norman Dunbar, хоть Cимонов Денис, хоть Вася Пупкин - файл лежит на официальном сайте в каталоге документации, так? Значит его туда кто-то положил. И это был не я.

kdvЗначит, надо делать ревизию, тыкать носом, исправлять.

Тыкать носом может только человек, способный эту документацию написать.
Например hvlad мог бы тыкнуть носом, или Сибиряков мог бы, но не тыкнули.
Так что имеем то, что имеем.

Я тыкать носом не могу, для меня документация - первоисточник.

kdvну каких еще, нафиг, тестов?

Вот таких: 19073621


kdvкоторая не будет "периодически тормозить"
kdvРазработчики этого не понимают, и клали болт

Дело в том, что в этом конкретном топике были не "периодические" тормоза, а вполне себе монотонно возрастающие. То есть *периодический* автосвип тут явно был не при чем.
А вот накопление мусора засоряющeго индексы и вынуждающего все чаще и чаще проверять версии записей только чтобы их отбросить - могли.

Вот тебе, кстати, ещё две цитаты:
1) sweep вообще не собирает мусор, вообще никогда и никак - 19073506
2) sweep собирает весь мусор, весь и всегда - http://ibase.ru/garbage/

И вот я должен разобраться кто из вас... ммм... ошибся, да ???
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222569
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov Он двигает застрявшие счётчики транзакций. Всё. Это его
единственно назначение.
Arioch1) sweep вообще не собирает мусор, вообще никогда и никак - 19073506

Перестань приписывать мне свои глупости, пожалуйста.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222574
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисArioch,

не каждый rollback требует sweep, а только тот что не превращён сервером в commit. И ещё ни СД, ни DS, ни МП ничего такого не утверждали.

Я правильно понимаю, что единственный "rollback автоматически превращаемый в commit" - это rollback который по той или иной причине вообще не создавал версий ?
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222576
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovОн двигает застрявшие счётчики транзакций. Всё

Слово "всё" мне конечно привиделось.

Dimitry SibiryakovЭто его единственно назначение.

Слово "единственное" - тоже.

И ты, кстати, очень удобненько забыл процитировать остальную часть сообщения.
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222578
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochЯ правильно понимаю
Неправильно понимаешь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222581
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

а ещё когда ?
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222593
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

http://ibase.ru/mga/
читаем COMMIT, ROLLBACK
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222605
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochНапример hvlad мог бы тыкнуть носом, или Сибиряков мог бы, но не тыкнули.
Так что имеем то, что имеем.
да, увы. они это просто не читали. Теперь прочитали. Будем править.

Ariochkdvну каких еще, нафиг, тестов?
Вот таких: 19073621
так проверяется-то элементарно. стартуем транзакцию, добавляем записи, жмем ресет или делаем явный rollback, стартуем еще несколько траназкций, чтобы убедиться, что OIT застряла, потом читаем записи, и проверяем наличие версий по gstat -r -t tablename.
Просто ты какую-то чешую пишешь.
"и заблокировав sweep мы тем самым блокируем счётчик OIT"
ты имеешь в виду, что OIT без свипа не подвинется? Ну да. И что? У меня есть статистика от базы, которая жила год, при этом OIT застряла в самом начале работы. И ничего страшного не случилось. OIT - это просто индикатор.
Застревание OIT можно получить просто стартовав транзакцию, ничего больше не делая, нажать reset.
Что, есть тут какие-то версии? Нет.

"блокируем сборку rollback-мусора между OIT и Next Transaction, так ?"
С чего вдруг? Сборка мусора как работала, так и работает. И она всегда идет между OIT и Next :-)

AriochВот тебе, кстати, ещё две цитаты:
1) sweep вообще не собирает мусор, вообще никогда и никак - 19073506
Сибиряков погорячился, потому что ты посчитал sweep каким-то особым типом сборки мусора. Sweep это и сборка мусора, и попытка подвинуть oit. OIT говорит о том, что есть транзакции rolled back, от которых МОГ остаться мусор. sweep вычитывает этот мусор, убирает его, и превращает rolled back в committed, таким образом "подвигая" OIT выше.
Но есть там мусор или нет - неизвестно, его может и не быть. Он мог быть давно убран другими транзакциями, которые НЕ умеют двигать OIT.
Допустим, OIT равно 50. свип должен убедиться, что либо нет мусора принадлежащего этой транзакции, либо этот мусор есть, и его надо убрать. Поэтому свип это И сборка мусора И продвижение OIT.

AriochЯ правильно понимаю, что единственный "rollback автоматически превращаемый в commit" - это rollback который по той или иной причине вообще не создавал версий ?
непонятно, что ты читаешь. в http://www.ibase.ru/mga/ в разделе "Commit, Rollback" написано, в каких случаях rollback превращается в коммит.
Добиться настоящего роллбэка не так-то просто. Его можно организовать
- обновив в одной транзакции около 100к записей или больше, сделать rollback
- стартануть транзакцию, нажать reset. при первом обращении к БД сервер обнаружит активную транзакцию, которая не может быть активной. И превратит ее из активной в rolled back
- стартовать транзакцию с параметром no_auto_undo, сделать роллбэк.
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222620
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochИ ты, кстати, очень удобненько забыл процитировать остальную часть сообщения.

Нет, это ты очень удобненько вырвал ответ из контекста. Ответ на вопрос "в чём назначение
ХХХ" сильно отличается от ответа на вопрос "что делает ХХХ".

Назначение sweep - подвинуть счётчики транзакций. Всё.
Сборка мусора не является его назначением, а всего лишь побочным эффектом. Точка.
sweep не обязан собирать мусор, но делает это по своим личным причинам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222621
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

предваряя ужасный вопрос "а как же версии от rollback может убрать обычная сборка мусора?", заранее отвечаю:
при сборке мусора (которая возникает как минимум во время чтения) проверяется id транзакции, создавшей версию. И сравнивается с OST. И проверяется состояние этой транзакции. Если версия не последняя, и никому не нужна - убираем. Если версия создана транзакцией в состоянии rollback - убираем однозначно.
В этот момент превратить rollback в commit и подвинуть OIT невозможно, потому что нет уверенности, что мы видим все версии, созданные этой транзакцией rollback. Они могут быть еще где угодно. А вот свип - может, т.к. он собирает мусор во всей базе.
...
Рейтинг: 0 / 0
Перестройка индексов в Firebird
    #39222696
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВ этот момент превратить rollback в commit и подвинуть OIT невозможно, потому
что нет уверенности, что мы видим все версии, созданные этой транзакцией rollback. Они
могут быть еще где угодно. А вот свип - может, т.к. он собирает мусор во всей базе.
Подытоживая: если ходящий раз в неделю поезд Владивосток-Москва останавливается в
Мухосранске, будет ошибкой
а) Называть его "поездом до Мухосранска";
б) Считать, что остальные шесть дней в неделю до Мухосранска никак не добраться.

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


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