powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Пожалуйста, поясните про кооперативную сборку мусора.
107 сообщений из 107, показаны все 5 страниц
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345611
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В статье "Многоверсионность в двух словах" написано, что процесс сборки мусорных версий в процессе чтения записей называется "Кооперативная сборка мусора", а в статье "Кооперативная сборка мусора в InterBase и Firebird" написано (цитирую):
"кооперативная явная . Используется в Classic и во всех версиях до InterBase 6 SuperServer (также оставлена в Yaffil, как Classic так и SuperServer). Мусор убирается пользовательским процессом (или thread-ом) только в тех данных, которые читаются или обновляются."

и в ДОПОЛНЕНИИ (цитирую):
В Firebird 2.0 сборщик мусора переработан, и есть 3 стратегии сборки мусора, которые можно использовать при различных особенностях конкретной системы (биллинг, склад и т. п.) – cooperative (Classic), background (SuperServer), combined (SuperServer). Подробнее см. Release Notes от Firebird 2.0.

Правильно ли я понимаю, что если мне на FirebirdSQL SuperServer v2.5.7 необходимо включить кооперативную сборку мусора для всех баз, то в firebird.conf я прописываю GCPolicy=cooperative, а если необходимо включить кооперативную сборку мусора только для одной базы, то вполне достаточно поставить этой базе sweep interval = 0 и выполняя в такой базе агрегатный запрос типа SELECT Count(*) FROM... к конкретной таблице, я, тем самым, запускаю процесс кооперативной сборки мусорных версий для всех записей этой таблицы?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345613
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345619
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

sweep interval не имеет ни какого отношения ни к кооперативной, ни к фоновой сборке мусора.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345642
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_dev, sweep interval не имеет ни какого отношения ни к кооперативной, ни к фоновой сборке мусора.Тогда,
1. К какой именно сборки мусора имеет отношение sweep interval?
2. Как отказаться от combined сборки мусора на SuperServer, оставив ТОЛЬКО кооперативную сборку мусора?

З.Ы. Здесь тоже почитал, но вопросы остались.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345650
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, забавно, когда дают односложный ответ на подобные вопросы.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345654
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Rdb Dev!
You wrote on 11 ноября 2016 г. 14:41:59:

Rdb Dev> Мимопроходящий, забавно, когда дают односложный ответ на подобные вопросы.
если Денису интересно жевать для тебя букварь, что ж, пожелаем ему успехов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345659
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, иными словами, ты заходишь на форум только чтобы вставить свои бесполезные "пять копеек"? Чтож... Спасибо - не надо.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345660
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

это как раз тот случай когда "смотрю в книгу - вижу фигу".

rdb_dev1. К какой именно сборки мусора имеет отношение sweep interval?

Читай ещё раз. sweep — это самостоятельный процесс. От GCPolicy он никак не зависит.

rdb_dev2. Как отказаться от combined сборки мусора на SuperServer, оставив ТОЛЬКО кооперативную сборку мусора?

Вот на это как раз влияет параметр GCPolicy.
Зачем? Чем тебе мешает фоновая сборка мусора? Ты понимаешь что это такое и чем она от sweep отличается?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345661
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345674
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

жевать я ему ничего не собираюсь. Задал пару наводящих вопросов, сейчас он ещё раз перечитает и поймёт свои ошибки, я надеюсь.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345676
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, понятно, что через кол-во транзакций, указанное в sweep interval запускается процесс сборки мусора для всей БД, но не совсем понятно, что имеется в виду под комбинированным (combined) режимом сборки мусора. Если при фоновой сборки мусора чтение записей приводит только к тому, что прочитанные страницы БД с наличием мусорных версий лишь помечаются для сборки мусора фоновым потоком, то о какой кооперативной сборке идет речь и в каких случаях она будет использована? Только в случае GCPolicy=cooperative, а под комбинированным режимом понимается ТОЛЬКО фоновый процесс сборки мусора и мусорные версии не собираются тут же при чтении страниц БД с такими версиями?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345679
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devпонятно, что через кол-во транзакций, указанное в sweep interval запускается процесс
сборки мусора для всей БД

Может, тебе это и понятно, но это неправильно и не имеет ничего общего с действительностью.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345682
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, понятно... Раз уж помощи от тебя ждать не приходится, то хоть бы не мешал дурацкими картинками. Не засоряй эфир!
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345687
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devНе засоряй эфир!очень сложно засорить непрерывный поток бредогенератора
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345691
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovМожет, тебе это и понятно, но это неправильно и не имеет ничего общего с действительностью.
Тебе нравится меня путать?

"Кооперативная сборка мусора в InterBase и Firebird"
Самый известный момент сборки мусора – это sweep, автоматический (sweep interval > 0) или ручной (gfix -sweep db.gdb).
Sweep, запущенный в автоматическом или ручном режиме, просматривает записи всех таблиц и убирает мусорные (то есть, не нужные ни одной транзакции на данный момент) версии записей.

...
sweep, автоматический или ручной. Сервер просматривает абсолютно все страницы данных (таблиц) для сборки мусора. Если после сборки мусора удается "подвинуть" вперед Oldest transactionLINIK, то это делается.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345701
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, всё, нашел, что искал.
combined – сборщик мусора работает в кооперативном режиме, но если мусор собрать не удается, то о "замусоренных" страницах сигнализируется фоновому сборщику мусора.

Спасибо!
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345721
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийочень сложно засорить непрерывный поток бредогенератораТы называешь бредом процесс поиска ответа? По-моему, ты бредишь.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345726
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devТебе нравится меня путать?
Мне не нравится, что твой бред находится на публичном форуме и может повлиять на другие
неокрепшие умы.

Какое место из процитированного ты прочитал как "через кол-во транзакций, указанное в
sweep interval запускается процесс сборки мусора для всей БД"? Это тебе не слоновий
автовакуум.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345730
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

- сборка мусора работает всегда. не работает она только если в коннекте включить no_garbage_collect, причем только для этого коннекта. Соответственно, сборку мусора "для базы" или на уровне сервера выключить невозможно.
- sweep interval - да, это автосрабатывание sweep, не более того.

собственно, а зачем понадобилось менять сборку мусора с background на cooperative?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345737
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, ну взял бы да и поправил моё некорректное утверждение и вместо того, чтобы высказывать своё недовольство, мог бы просто процитировать "The default sweep interval for a new database is 20,000. The sweep interval is the difference between the oldest interesting transaction or OIT and the next transaction number."
Или ты считаешь, что "неокрепшие умы" будут задавать вопросы в каком-то ином - "приватном" форуме и "сыпать" исключительно корректными определениями?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345742
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

он хотел combined заменить на cooperative. Только не понятно зачем. Чем ему фоновая сборка мешает я так и не понял. Очевидно, что он её со sweep путает.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345746
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvсобственно, а зачем понадобилось менять сборку мусора с background на cooperative?Оно не понадобилось... Просто не сразу нашел информацию об отличии combined от cooperative.
За напоминание о no_garbage_collect отдельное спасибо!
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345748
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devмог бы просто процитировать
Зачем мне цитировать такую чушь? Sweep interval сравнивается с OIT-OAT, а не NT-OIT.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345756
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

я добавлю, что как то был топик, про "фазы луны".
http://www.sql.ru/forum/377919-1/firebird-i-fazy-luny
С тех пор у меня в нескольких презентациях про транзакции есть слайд, который объясняет разницу между cooperative и background.

Идея такая. Есть таблица с 10к (100к и т.д.) записей. Приложение по кнопке
стартует транзакцию
делает update 10к записей (всегда одних и тех же)
commit

время от старта до коммита замеряется и выводится. Кнопку нажимаем то часто, то редко (с интервалом от 0.5 до 10 секунд).
В "некоторых случаях" время от старта до коммита сильно плавает, в зависимости от частоты нажатия на кнопку. Так вот
(напомню, что мусор собирается при select или update)

- cooperative - время update будет всегда одним и тем же. Кооперативная явная сборка мусора собирает мусор "принудительно" именно для этого запроса.
- background - время update будет зависеть от паузы между нажатиями. Фоновая сборка мусора при select/update не собирает мусор, а сигнализирует сборщику. Если пауза большая, то сборщик успевает собрать мусор. Если пауза меньше, то сборщик не успевает, и select/update с каждым разом будут все медленнее и медленнее.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345805
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис...Очевидно, что он её со sweep путает.Ты прав! Пока я не нашел информацию о различиях combined и cooperative, я ошибочно полагал, что фоновая сборка мусора как-то связана со sweep.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345807
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЕсли пауза меньше, то сборщик не успевает, и select/update с каждым разом будут все
медленнее и медленнее.

В четвёрке собирались сборку мусора оптимизировать как патчем от Самофатова, так и
самостоятельно, но не похоже, чтобы они успели это сделать до релиза...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345809
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЗачем мне цитировать такую чушь? Sweep interval сравнивается с OIT-OAT, а не NT-OIT.Про то, что это чушь расскажи тому, кто написал это в мануале на сайте firebirdsql.org .
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345813
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ты про какой релиз вещаешь? До него минимум год ещё. Или ты про то что промежуточная сборка мусора должна быть завершена до Alpha 1?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345814
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devПро то, что это чушь расскажи тому, кто написал это в мануале на сайте firebirdsql.org .

значит там эту чушь до сих пор не исправили :(
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345816
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисзначит там эту чушь до сих пор не исправили :(Тогда я не понимаю возмущения некоторых от употребления на форуме некорректных определений.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345818
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devрасскажи тому, кто написал это
Рассказал: http://tracker.firebirdsql.org/browse/WEB-152
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345819
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovРассказал: http://tracker.firebirdsql.org/browse/WEB-152 Спасибо!
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345823
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

про косяки этого мануала тут уже обсуждалось 19087789
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345831
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисты про какой релиз вещаешь? До него минимум год ещё.

Тот, который планировался ещё в этом году. А тянуть его в долгий ящик могут и десять лет
без проблем...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345834
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

где ты в этом году увидел?
http://www.firebirdsql.org/en/planning-board/

Alpha - 1 сентября 2016 (было изначально, потом на ноябрь перенесли. КМК тоже не успеют)
Beta - 1 марта 2017
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345837
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv- cooperative - время update будет всегда одним и тем же. Кооперативная явная сборка мусора собирает мусор "принудительно" именно для этого запроса.
- background - время update будет зависеть от паузы между нажатиями. Фоновая сборка мусора при select/update не собирает мусор, а сигнализирует сборщику. Если пауза большая, то сборщик успевает собрать мусор. Если пауза меньше, то сборщик не успевает, и select/update с каждым разом будут все медленнее и медленнее.Сие мне, теперь уже, понятно, но вдруг начала беспокоить фраза в одной из статей - "Необходимо отметить, что наиболее опасным сбоем для БД является сбой в момент сборки мусора." . Как-то можно уменьшить риски, если с большой долей вероятности можно утверждать, что заказчик не следит за состоянием аккумуляторов и штатной работой ИБП в целом?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345840
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

никак. одна надежда на forced writes = on. И еще на то, что при сборке мусора мусор как бы не удаляется, а на него убирается ссылка, а вместо старых записей создается новая версия, которая помещается на пустое место.
Ну и бэкапы регулярно.

Если нет, то такой пользователь - потенциальный клиент нашего ремонта БД, с неизвестным результатом ремонта.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345843
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, ясно, спасибо!
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39345871
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисгде ты в этом году увидел?
Конференция позапрошлого года, Еманов: "мы планируем в будущем выпускать версии мельче, но
чаще и обеспечить их ежегодный выход".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346607
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, у меня возник еще вопрос по теме:
Если мы имеем базу, в которую, преимущественно, осуществляется вставка записей, с некоторой регулярностью осуществляется изменение данных одной таблицы (причем, изменение данных осуществляется в отдельной транзакции и может быть вынесено в отдельный коннект) и еще реже осуществляется чтение. Иными словами, "мусор" хоть и возникает, но не интенсивно и вполне можно было бы "собирать" его раз в сутки через backup/restore. Будут ли увеличиваться "тормоза" при работе с базой и накопления в ней мусора, если всем рабочим соединениям задать no_garbage_collect ?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346612
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

backup предназначен не для того чтобы собирать мусор, это лишь побочное действие, которое возникает лишь из-за того что БД читается целиком, и его довольно часто отключают, чтобы резервная копия проходила быстрее. restore не собирает мусор вовсе.

rdb_dev Будут ли увеличиваться "тормоза" при работе с базой и накопления в ней мусора, если всем рабочим соединениям задать no_garbage_collect ?

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

обновление всегда требует чтения записей. Если ты несколько раз обновляешь одни и те же записи, то чтение реже быть не может.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346625
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, да, поздновато я подумал о том, что меня сейчас "закидают шапками" за употребление (хоть и в кавычках) фразы "сбор мусора" в отношении gbak backup... Я в курсе, что gbak никакой мусор не собирает, а лишь сохраняет в резервную копию актуальные записи. Конечно же, я имел ввиду избавление от мусора в базе через gbak restore/backup.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346628
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисобновление всегда требует чтения записей. Если ты несколько раз обновляешь одни и те же записи, то чтение реже быть не может.Ну, это понятно... Рассматривая вариант, когда коннект, изменяющий данные в одной и той же таблице, имеет свойство no_garbage_collect, а "мусорные" версии появляются каждый раз при изменении данных в таблице - будут ли увеличиваться "тормоза" при каждом следующем изменении данных или же no_garbage_collect позволяет это избежать?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346630
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> Конечно же, я имел ввиду избавление от мусора в базе через gbak restore/backup.

Чувак, таки выясни в чём разница между backup и sweep.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346632
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам, считай, что sweep interval = 0 , а также никакой gfix -sweep к базе не применяется.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346640
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

чистить мусор через backup/restore дурацкая практика. Что будешь делать если твоя база вырастет и backup/restore перестанет вписываться в технологическое окно? А ведь restore вообще может обломаться.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346643
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, база не вырастет настолько сильно, так как устаревшие данные периодически вычищаются, а вот с обломавшимся restore посложнее будет... Конечно, restore будет делаться в другую БД и при его успешном завершении база будет переименовываться, но надо подумать, что делать при неуспешном.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346645
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, но вопрос не столько про gbak backup/restore, сколько про то, будут ли увеличиваться "тормоза" при каждом следующем изменении данных, если соединение с no_garbage_collect.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346648
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

а не проще ли делать сборку мусора и sweep штатными средствами вместо проктостоматологического решения?
Тем более что апдейты и селекты довольно редки, а значит фоновая сборка мусора может вполне подчистить мусор до того, как ты начнёшь читать.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346650
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, скорость вставок и изменений данных в БД критична.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346652
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devбудут ли увеличиваться "тормоза" при каждом следующем изменении данных, если соединение с no_garbage_collect.

будут, но не сильно. Если ты не наплодишь на каждую запись десятки версий, то практически не ощутимо.
Бери пример с Таблоида, который все свои догадки проверяет экспериментом.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346656
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

мусор на вставки практически не влияет.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346659
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисбудут, но не сильно. Если ты не наплодишь на каждую запись десятки версий, то практически не ощутимо.Печалька... Данные в таблице из трех небольших полей с несколькими десятками записей могут быть изменены несколько тысяч раз.

Симонов ДенисБери пример с Таблоида, который все свои догадки проверяет экспериментом.Взял бы... Разница лишь в том, что у Таблоида на это есть время, а у меня его нет.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346664
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* Данные в таблице из трех небольших полей с несколькими десятками записей могут быть полностью изменены за сутки несколько тысяч раз.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346665
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

реально, десятки тысяч раз? Надо бы пересмотреть подход к проектированию.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346671
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, 5 - 6 тысяч раз. Не обязательно, что за раз будут изменены все записи, но такое не исключено. Подход к проектированию пересмотреть не получится, так как эти данные приходят с устройств и программа, собирающая эти данные, уже имеет свойство не писать всё подряд, а только то, что изменилось.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346675
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> база не вырастет настолько сильно
rdb_dev> Данные в таблице из трех небольших полей
rdb_dev> с несколькими десятками записей

Гм... А о каких объёмах/размерах идёт речь?
А-то может быть мы зря тут время тратим.


rdb_dev> могут быть полностью изменены за сутки несколько тысяч раз.

Про вставку/изменение ты уже сказал и тебе
уже ответили. А что там с селекктами?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346683
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, допускаю, что FirebirdSQL, как платформа для этой конкретной цели, выбрана не совсем удачно и, наверное, больше бы подошла безверсионная СУБД, но это не мне было решать и решение было принято задолго до того, как меня привлекли для работы с FirebirdSQL.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346685
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

как часто селекты делаются? Может ну его на фиг обновления и делать только вставки. При чтении вычислять последние актуальные значения. С учётом ограничения данных одними сутками это не так много. При необходимости получать данные за предыдущие сутки использовать хранимые агрегаты.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346687
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

там на блокировках тоже застрять можно не хило.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346691
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это просто феерия!
продолжайте, господа, продолжайте.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346701
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, по сути, как вставка, так и обновление данных осуществляются в единственном коннекте - коннект висит постоянно, открывается транзакция, вставляются/изменяются данные, транзакция подтверждается и так хучу раз в сутки.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346707
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамГм... А о каких объёмах/размерах идёт речь?
А-то может быть мы зря тут время тратим.
Объемы небольшие. Максимально известный объем порядка 30Гб, но объектов много и на этих объектах не используются высокопроизводительные СХД. Лишь высокопроизводительный комп с HDD.

Гаджимурадов РустамПро вставку/изменение ты уже сказал и тебе
уже ответили. А что там с селекктами?Иногда селектов может не быть неделями. :)
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346714
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

раз select настолько редки, то откажись от update вовсе, пусть будут одни insert. Да БД будет расти быстрее, но ты можешь периодически подрезать её. Зато никаких простоев при внесении информации с датчиков
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346723
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, т.е. предлагаешь не пытаться работать без сбора мусора (c no_garbage_collect) и модифицировать базу так, чтобы использовался только INSERT? В принципе, это можно попробовать реализовать через updatable view так, чтобы пишущую и читающую программы не менять... Спасибо, я подумаю!
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346725
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> Объемы небольшие. Максимально известный объем порядка 30Гб

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

> Иногда селектов может не быть неделями. :)

Тем более. Самую важную информацию
надо сообщить под конец после своих
никому не интересных мнений/решений.

Сделай обычное накопление инсертами
без апдейтов и пр. выпендрёжа с мусором.
Выбирать будешь по ID, дате или что там
у тебя, свип/сборку можешь делать когда
угодно, в таком варианте это пофиг.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346727
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> это можно попробовать реализовать через updatable view
rdb_dev> так, чтобы пишущую и читающую программы не менять...

***ть, откуда вы такие рулёзники берётесь просто, я фигею.
Сделай трёхзвенку на ява с хибернейтом, тонким клиентом,
блекджеком и одалисками, не меньше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346728
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНу а какого оного ты тут мозг выносишь?
Сначала сделай обычный вариант без
выпендрёжа, потом если вдруг каким-то
чудом словишь тормоза - приходи, тебе
подскажут что подкрутить и изменить.Программы написаны давно и не мной. Моя задача, на данный конкретный момент, попытаться устранить узкие места без перелопачивания всего софта, естественно.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346733
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> попытаться устранить узкие места

А они есть или тебе заняться нечем?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346795
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devМоя задача, на данный конкретный момент, попытаться устранить узкие места

Ну так перестань как новорожденный щенок тыкаться на слепо и выявляй эти узкие места перед
попытками их устранения. На постоянном апдейте 30 записей их нет и быть не может при
кооперативной стратегии сборки мусора.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346802
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

есть подозрение что у него ещё какие-то транзакции торчат активными либо используется commit retain.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346808
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисесть подозрение что у него ещё какие-то транзакции торчат активными либо используется commit retain.нет
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346857
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий> нет

Что "нет"? У него вообще ничего нихрена нет и "был ли мальчик"?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346859
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Гаджимурадов Рустам!
You wrote on 14 ноября 2016 г. 14:21:33:

Гаджимурадов Рустам> У него вообще ничего нихрена нет и "был ли мальчик"?да.

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

Просто была мысль, что можно обойтись вообще без сбора мусора, использовав для всех подключений no_garbage_collect и, возможно, избавиться от "тормозов", связанных с кооперативным сбором мусора, но процесс обсуждения привел к выводу, что это нереально, да и gbak backup/restore на базе в 30Гб может выполняться неприемлемо долго для технологического окна.

Всем спасибо за участие в обсуждении!
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346870
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> обойтись вообще без сбора мусора
rdb_dev> и, возможно, избавиться от "тормозов"

Блин, а они есть вообще, эти мусор и тормоза или у
тебя много свободного времени и буйная фантазия?

rdb_dev> процесс обсуждения привел к выводу, что это нереально
rdb_dev> gbak backup/restore на базе в 30Гб может выполняться
rdb_dev> неприемлемо долго для технологического окна.

Фейспалм.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346917
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devбыла мысль, что можно обойтись вообще без сбора мусораМожно, для этого надо делать только инсерты и селекты. Впрочем выше про это уже было.
rdb_devgbak backup/restore на базе в 30Гб может выполняться неприемлемо долго для технологического окна.это не окно, это форточка. "Окно" меньше часа?
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346921
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyэто не окно, это форточка. "Окно" меньше часа?Нехай будя "форточка". :) Вообще, чем меньше, тем лучше и в пределах часа было бы идеально, но не успеть.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346969
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы 30 гиг за час не успеваете, что-то с железом у вас тухляк. У нас базулька в 75 гиг проходит полный цикл б/р ровно за 1 час. Да, при этом параллельно б/р проходит еще несколько вспомогательных баз.
Хотя мы не заменяем базу отресторенной копией, так проконтролировать факт рестора, растащить на тестовые сервера и т.п. По рабочей базе прогнали ночером свип и буде с нее.

Да, на чахлых филиальных серверах б/р идет часов 5, но он там скорее для проформы, чем ради практической ценности.

Короче, купи нормальный сервак и "буде тебе щастье".
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346972
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Ivan Pisarevsky!
You wrote on 14 ноября 2016 г. 16:17:03:

Ivan Pisarevsky> Короче, купи нормальный сервак и "буде тебе щастье".два.
один боевой, другой для рестора и как резервный.

зы: но к данному треду это вообще не имеет отношения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346977
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий> два.

А лучше три. (с)

Мальчик, которого нет, (с)
вроде что-то там говорил
про "объектов много".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346981
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Гаджимурадов Рустам!
You wrote on 14 ноября 2016 г. 16:28:58:

Гаджимурадов Рустам> Мальчик, которого нет, (с)
> вроде что-то там говорил
> про "объектов много".а ещё он говорил про 30 лет стажа "администрирования"

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39346984
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не может быть.
Пациент путается в показаниях. (с)

P.S. А он погромист или администратор?
Или и жнец, и швец, и на дуде трындец?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347004
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамP.S. А он погромист или администратор?

Судя по рефлекторному применению бубна, он эникейщик.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347203
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитал ветку. Вопрос изначально рассматриваемый как чисто теоретический потом перетек в оптимизацию конкретного приложения, но целостной картины из конкретики по этому приложению мне составить не удалось.

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

Что непонятно - откуда из "нескольких десятков записей" набирается аж 30Гб.
Если это хвост несобранного мусорных версий при постоянных апдейтах - то просто писец какой-то, так нельзя.

Нужно промониторить разрыв OAT-OIT на предмет некорректной работы с транзакциями, тут уже говорили про это.

Еще было упоминание топикстартера про периодическое удаление неактуальных записей.
Непонятен объем удаления и частота этого действия. Удаление большого кол-ва записей создает кучу мусора которую придется убирать. Лучше удалять мелкими порциями и сразу после порции в следующей транзакции делать селект на только что удаленное - что бы явно вызвать сборку мусора. Таким образом мы не накапливаем большой вал а грызем его потихоньку, и это не вызовет длительных тормозов. Выполняя удаление устаревших записей не раз в месяц а несколько раз в день мы уменшим раздувание и сдувание базы.

Уменьшение размера БД путем backup/restore - это не та операция которой нужно поддерживать размер БД в приемлемом размере.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347204
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyЕсли вы 30 гиг за час не успеваете, что-то с железом у вас тухляк.
...
Короче, купи нормальный сервак и "буде тебе щастье".

Давайте решать проблемы некорректного софта наращиванием железа.
Если ему вдруг начнет хватать железа что бы перебэкапить 30 гигов за час - это же не нормальный повод продолжать в этом духе, в то время как там может собственно данных на 30мб а остальное ненужный мусор. избавившись от которого задача вообще станет выглядеть по другому.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347226
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks> Давайте НЕ решать проблемы некорректного софта наращиванием железа.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347249
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyЕсли вы 30 гиг за час не успеваете, что-то с железом у вас тухляк. У нас базулька в 75 гиг проходит полный цикл б/р ровно за 1 час. Да, при этом параллельно б/р проходит еще несколько вспомогательных баз.
Хотя мы не заменяем базу отресторенной копией, так проконтролировать факт рестора, растащить на тестовые сервера и т.п. По рабочей базе прогнали ночером свип и буде с нее.

Да, на чахлых филиальных серверах б/р идет часов 5, но он там скорее для проформы, чем ради практической ценности.

Короче, купи нормальный сервак и "буде тебе щастье".Заказчик, который не проводит регламентную замену аккумуляторов в ИБП и вообще не следит за штатной работой ИБП на хуче "терминалов" сбора данных, совершенно точно не будет увеличивать производительность железа и улучшать систему хранения данных. Для него важнее "холодное" резервирование этих систем. Так что "купи нормальный сервак", это не ко мне и мимо кассы. Такая, вот, особенность. Возможно, когда-нибудь, HDD заменят на SSD, но, опять же, это абсолютно точно не мне решать.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347252
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамP.S. А он погромист или администратор?Пару лет назад был администратор, теперь пописываю в связке C++ и FirebirdSQL, параллельно изучая нюансы последнего.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347256
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийа ещё он говорил про 30 лет стажа "администрирования"Про 20 лет.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347259
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksНа сколько я понял это база в которую весьма часто пишется текущие показания каких-то датчиков, апдейты записей - это перезапись на новое текущее значение.

Что непонятно - откуда из "нескольких десятков записей" набирается аж 30Гб.
Если это хвост несобранного мусорных версий при постоянных апдейтах - то просто писец какой-то, так нельзя.Как ты правильно заметил, одна таблица хранит именно текущие значения, но есть еще и хранение определенного количества истории.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347267
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksЕще было упоминание топикстартера про периодическое удаление неактуальных записей.
Непонятен объем удаления и частота этого действия. Удаление большого кол-ва записей создает кучу мусора которую придется убирать.Удаляются не записи в таблицах истории, а таблицы целиком. В хранится информация о том, как какие таблицы создавать и когда созданные таблицы, хранящие историю, прибивать. Естественно, что в таблицу историй делается только вставка записей. Такая, вот, особенность софта и против этой особенности, лично я, не имею ничего против и считаю, что для подобной системы это лучшее решение (грохать сразу всю таблицу).
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347324
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksДавайте решать проблемы некорректного софта наращиванием железа.Давайте не будем вырывать фразы из контекста. Б/р базы в 30 гиг вполне реально уложить в полчаса, причем на лоу левел железе (двухпроцовая супермикра, 10 рэйд на 4 ССД). Собственно про это и есть фраза. Как уложить цикл обслуживания БД в технологическое окно в 1 час? купить железку.

вопрос: нужно ли делать б/р ради чистки мусора? Нет не нужно, это из пушки по воробьям. Закоммитить транзакции в запустить принудительно свип в момент минимальной нагрузки на сервер.

rdb_devэто лучшее решение (грохать сразу всю таблицу).Это решение может работать только в монопольном режиме. Для этого надо гарантированно всех отрубить, провести означенные мероприятия с метаданными и только потом запускать юзеров и роботов в базу. Что требует технологического окна и чтобы в него укладываться см. выше про железо.

rdb_devЗаказчик, ... точно не будет увеличивать производительность железа и улучшать систему хранения данных.Это до первого более-менее серьезного отказа, все через это проходят, он просто еще не повзрослел.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347342
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky> на лоу левел железе (двухпроцовая супермикра, 10 рэйд на 4 ССД).

Тебе вроде уже много раз советовали
снять нимб и спуститься на землю.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347350
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devfraksНа сколько я понял это база в которую весьма часто пишется текущие показания каких-то датчиков, апдейты записей - это перезапись на новое текущее значение.

Что непонятно - откуда из "нескольких десятков записей" набирается аж 30Гб.
Если это хвост несобранного мусорных версий при постоянных апдейтах - то просто писец какой-то, так нельзя.


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

сколько таблиц истории

столько там записей

какие таблицы дают такой объем

сколько хранится по времени

сколько НАДО хранить по времени (а не сколько получается технологически)

в каких таблицах скапливаются версии

почему они там скапливаются
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347357
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyfraksДавайте решать проблемы некорректного софта наращиванием железа.Давайте не будем вырывать фразы из контекста. Б/р базы в 30 гиг вполне реально уложить в полчаса, причем на лоу левел железе (двухпроцовая супермикра, 10 рэйд на 4 ССД). Собственно про это и есть фраза. Как уложить цикл обслуживания БД в технологическое окно в 1 час? купить железку.


Тут речь не про то как администрировать черный ящик с определенными параметрами, и тогда да, кроме наращивания железа делать нечего.
Вопрос стоит в том что для нормальной работы софта может не требоваться укладываться бэкап-рестор в полчаса, может он вообще не нужен в процессе эксплуатации, может там эти 30 Гиг не данных а всякого мусора и эффективнее подмести и прогуливаться раз в день с пылесосом чем утаптывать мусор ногами и потом заводить вездеходы что бы по этому мусору можно было хоть как-то перемещаться.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347358
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, мальчика не было.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347361
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне надо бежать, поэтому сразу скажу на какую мысль я пытался навести.
Удалять таблицы целиком - это не есть хорошо, используется только потому что так быстрее.
Но это влечет за собой всякие административные действия.

Если есть определенность сколько данных надо хранить в истории то можно сделать например так:
новые значения пишутся в таблицу, триггер на ней перекидывает прыдыдущие данные в историю + удаляет ровно столько записей сколько вставил, на расcтоянии ID-DELTA. Таким образом в таблице истории хранится постоянное кличество записей, база не растет и ее не надо чистить, она подчищается постоянно сама.

Если не получается изменить пишушюю прогу - можно сделать отдельный удалятор, запускаемый по крону допустим раз в час или чаще. Он например смотрит на генератор PK на таблице истории и удаляет из нее записи с где ID < (GEN_ID(ID, 0)-DELTA).
Коммитит. И делает селект по этому же условию. Получает NULL но зато мусор собран.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347362
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и в этой же программе-удаляторе можно помониторить OAT-OIT.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347585
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksтриггер на ней перекидывает прыдыдущие данные в историю + удаляет ровно столько записей сколько вставил, на расcтоянии ID-DELTA.Такой триггер надо будет писать ОЧЕНЬ внимательно, т.к. очень легко словить дэдлок на вставке. Да и мусор будет тут же и появляться, прЯмо в разгар работы. Ты предлагаешь потенциально опасный инструмент. зачистить по крону куда безопаснее и в плане мусора более прогнозируемо.

Гаджимурадов РустамТебе вроде уже много раз советовали снять нимб и спуститься на землю.Да, да, я в курсе файрберд обязан работать на "куске г****", а не на нормальном железе. Какой, нахрен нимб? Сейчас у каждого первого геймера в компе многоядерный проц и ССДшки.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347867
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О-га, у каждого геймера стоит РЕЙД из ЧЕТЫРЁХ ссд ПРОМЫШЛЕННОГО класса, ага...

а вот игровой видеокарты у них нет - не остаётся на нее денег после этого
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347963
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

http://store.steampowered.com/hwsurvey?platform=pc

для проверки только что сделал рестор базы tpcr, бэкап 21 гиг, база 31 гиг,
бэкап на диске sata II, рестор на raid1 из двух дисков sata III,
проц 1075t.
firebird 3.0.1

общее время рестора - 1 час 2 минуты.

бОльшая часть времени ушла на создание индексов, temp был настроен на еще один sata II диск.
везде HDD, ssd у меня нет.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347981
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks сколько таблиц истории
Определяется настроечной таблицей
fraks столько там записей
Зависит от интенсивности изменения состояний сигналов и от периода хранения таблицы
fraks какие таблицы дают такой объем
Любые. Зависит от интенсивности изменений сигналов определенных групп
fraks сколько хранится по времени
Определяется настроечной таблицей
fraks сколько НАДО хранить по времени (а не сколько получается технологически)
Определяется настроечной таблицей
fraks в каких таблицах скапливаются версии

почему они там скапливаются
Не так уж чтоб "скапливаются", но периодически возникают при update. Только в одной.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347983
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, можете более не заострять на моем вопросе внимание. У меня уже созрело решение как "белку подстреоить и шкурку не попортить", но это решение не имеет ничего общего с подкручиванием настроек чего бы-то ни было или с апгрейдом железа.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39347985
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо за отзывчивость и ответы.
...
Рейтинг: 0 / 0
Пожалуйста, поясните про кооперативную сборку мусора.
    #39348124
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochО-га, у каждого геймера стоит РЕЙД из ЧЕТЫРЁХ ссд ПРОМЫШЛЕННОГО класса, ага...

а вот игровой видеокарты у них нет - не остаётся на нее денег после этого
под базу в 30 гб с запасом будет пара, например, вот таких накопителей:
http://www.nix.ru/autocatalog/ssd_intel/SSD-200-Gb-SATA-6Gb-s-Intel-DC-S3700-Series-SSDSC2BA200G301-25-MLC_149361.html
цена вопроса $500

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


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