powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как настроить удаление файлов журнала на количество этих файлов?
19 сообщений из 19, страница 1 из 1
Как настроить удаление файлов журнала на количество этих файлов?
    #39412110
я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я
Гость
В ПУ есть только опции на количество дней или количество удачных бэкапов. Но в базу валится 10+млн записей в час. Плюс очищаются устаревшие 10+млн. Итого в журнале много транзакций записи и удаления. Причем данные сырые и не очень важно, насколько они хорошо легли в базу. Но %Save все равно пишет в журнал, даже если журналирование этой БД отключено. В итоге кривая занятости диска превращается в прямую x = ky где k - минус 0.5 примерно xD
Спасло бы удаление файлов журналов так, чтобы их только пара-тройка оставалась.
Спасибо.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412125
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте класс %SYS.Journal.File для удаления старых журналов.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412127
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще можно подумать над тем, чтобы не создавать логи при записи и удалении.
Я так понимаю, отключить журналирование на базе вы не можете? Или хотя бы вынести перезаписываемые данные в отдельную базу без журналирования и замапить на основную область.
Я так понимаю, вы пробовали использовать DISABLE^%SYS.NOJRN и ENABLE^%SYS.NOJRN для локального отключения журналирования, но сохранение использует транзакции, которые автоматом включают журналирование? Можно попробовать сделать сви методы сохранения, которые не используют транзакции.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412147
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
яНо %Save все равно пишет в журнал, даже если журналирование этой БД отключено

Код: plsql
1.
DO DISABLE^%NOJRN


Всегда выручал
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412180
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn,

Да, действительно, я напутал. Если принудительно отключать журналирование, то транзакция его не включает. А если журналирование отключено на базе, то транзакция его на время включит. Но это не касается временной базы.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412272
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ISC не зря советует журналировать всё (в документации об этом есть, да и Портал ругается при попытке создать нежурналируемую БД).

Если временное отключение журнала действует по отношению к глобалу, журналируемому "в мирное время", то это добавляет проблем с т.з. эксплуатации, т.к. в одном глобале могут оказать данные обеих категорий: записанные в журнал и нет. Как его восстанавливать, случись что? Ведь запись в глобал могла идти и во время бэкапа, и элементарно могут появиться незакрытые транзакции (а журнала в помощь не будет).

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

Кстати, когда активно "зеркало" (mirroring), DISABLE^%NOJRN игнорируется.

Для снижение нагрузки на дисковую подсистему рекомендуется отвести для журналов отдельный физический диск (в случае СХД: отдельный LUN в отдельной дисковой группе) с достаточно высокой производительностью по последовательной записи. Об этом тоже сказано в документации . ISC даже приводит некоторые цифры в качестве ориентиров, см. на коммьюнити .
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412392
я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я
Гость
Alexey Maslov,
Данные все равно перепроверяются при действиях пользователя - т.е. они копятся сотнями миллионов, но когда юзер тыкает в конкретную запись, идет отдельный запрос к источнику данных (в сеть) с проверкой текущего состояния записи из того источника. И целостность сырых данных не нужна. Как и журнал на их запись-удаление. Да и про диски речь не идет - сервер все равно в облаке. Один диск или двадцать пять - без разницы. Есть лимит облачного плана - он только размера касается ;)
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412423
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в облаке, аптайм должен быть огромным у сервера (если только вы сами его не завесите))), поэтому я хранил бы все сырые данные во временных глобалах, которые в cachetemp, не заморачиваясь с включением-выключением журнала.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412438
я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я
Гость
Alexey Maslov,
Хм... А как это сделать, если не секрет?
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412497
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

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

Я работал на конфигурации с зеркалированием и очень сильно сомневаюсь, что в ней DISABLE^%SYS.NOJRN совсем не работает. Совершенно точно, что он не может отключить его полностью (тогда бы нарушилась целостность данных), и какие-то нюансы точно должны быть, но у нас запись логов при сбоях была через DISABLE^%NOJRN, и я очень удивлюсь, если мы теряли все данные при сбоях в транзакции. В общем, это нужно проверять, но сейчас не на чем (документация говорит Disabling journaling using DISABLE^%NOJRN does not affect mirrored databases.).
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412673
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.(документация говорит Disabling journaling using DISABLE^%NOJRN does not affect mirrored databases.).Собственно, и я о том же :)
Проверить, что данный вызов ничего не делает в зеркале, вполне могу, хотя на 100% уверен в результате, иначе вышло бы противоречие с идеологией зеркала: часть данных из зеркалируемой БД "отзеркалилась", а часть - нет.
Блок А.Н....риск потерять все данные в случае сбоя ненулевой, так что я бы не рекомендовал нужные данные хранить во временных глобалах.Согласен, но ТС намекнул, что не сильно опасается потерять сырые данные. А если опасается, то надо журналировать. Тот, кто хоть раз ремонтировал незажурналированные глобалы, меня поймёт :(

P.S. На облаке обычно есть разные виды бэкапов, в том числе и бэкап образа VM. Интересно, можно ли из такого бэкапа вытащить сохранённую БД CACHETEMP и подсунуть в работающую Cache под другим именем, после чего, используя ^GBLOCKCOPY, восстановить нужные глобалы?
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39412751
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С этой Cachetemp есть такая проблема, что глобалы могут в нее тупо не записываться, оставаться только в кэше.
Ну и при старте они могут удаляться. Так что Cachetemp использовать при любом раскладе не стоит.

Но и использовать объекты при миллионах записей в час странновато. Мне кажется, там лишние накладные расходы присутствуют
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39413015
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.С этой Cachetemp есть такая проблема, что глобалы могут в нее тупо не записываться, оставаться только в кэше.Могут, если они короткоживущие: у WD отдельная очередь буферов для CACHETEMP, она просто более длинная, чем для остальных баз.

При старте Cache БД CACHETEMP всегда чистится, но если делать внешний бэкап с заморозкой (недавно здесь обсуждалось), то WD сбросит грязные буфера перед заморозкой, поэтому CACHETEMP в сохранённом образе будет полностью комплектен на заданный момент времени.

Блок А.Н.Но и использовать объекты при миллионах записей в час странновато. Мне кажется, там лишние накладные расходы присутствуютМиллионы в час - это не миллионы в секунду... К тому же ТС, похоже, не жалуется на производительность.

Можно делать инкрементные бэкапы хоть каждый час, тогда критерий очистки журналов будет срабатывать настолько часто, насколько часто делаются бэкапы. Для ускорения бэкапа можно оставить в списке только "основную" БД, выделив сырые данные в другую, отдельную от неё, БД. Отвечая на вопрос анонимного "я": это делается в конфигурации областей, глобалы - добавить отображение, либо в CACHETEMP, либо в специально созданную БД - как хотите. Как правильно задать маску имён глобалов для заданных классов, думаю, сообразите сами.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39413035
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,
Маслов Великий, он все знает!
Добрый день, Алексей.
Вопрос:
Смотрю содержимое файла журнала после записи, там для каждой записи есть поле дата-время.

23:59:35
00:00:01 26с
00:00:58 57с
00:01:17 19с
00:01:30 13с
00:01:42 12с
00:01:55 13с
00:01:56 1с
00:03:07 71с
00:03:17 10с
00:03:25 8с
... и так далее.

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

Что сие означает? может я чего не так думаю?

Всем откликнувшимся тоже буду благодарен!
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39413039
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovМожно делать инкрементные бэкапы хоть каждый час, тогда критерий очистки журналов будет срабатывать настолько часто, насколько часто делаются бэкапы.Это выглядит хорошим решением, но есть нюанс - проблема журналов волнует ТС в контексте расходуемого места. И с инкрементальными бэкапами в облаке тоже придется что-то делать.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39413052
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.... И с инкрементальными бэкапами в облаке тоже придется что-то делать.Это уже проблемы ТС :)
- возможно, существует более дешёвый тарифный план с более медленной скоростью доступа к СХД (где-то читал, что такое бывает, именно для архивации данных),
- к тому же, если не бэкапить ту БД, куда пишутся 10 млн. записей в час, inc-файлы будут скорее всего весьма скромного размера,
- наконец, можно удалять эти файлы неким внешним (или внутренним) скриптом, который несложно написать.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39413067
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKB,

Добрый день, Алексей. Прощаю наглую лесть, но только первый раз :)

Если речь о Cache, то журнал не совсем правильно называть "журнал после записи", т.к. запись в журнал обычно попадает раньше, чем в БД.

По поводу меток даты-времени в журнале: мне когда-то объясняли, что это время записи блока журнала в файл. Демон журнала просыпается очень часто: 1 раз в 2 сек, и при отсутствии ECP пишутся лишь полные буфера (всего их 128*64KB); по ссылке, которую приводил ранее, утверждается, что за 1 раз может писаться от 4K до 4M. Могу предположить, что при небольшом потоке записи порой пишутся и неполные буферы, иначе возник бы риск, что информация, записанная в БД, отсутствует в журнале, а насколько помню, существует гарантия, что всё, что сохранено в БД, должно быть уже в журнале, причём физически.

Подробностей алгоритмов не знаю, но из объяснений саппорта ISC помню главное: не стоит искать логику в журнальных временных метках, и тем более делать далеко идущих выводов.
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39413085
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,
Я тоже помню про то, что каждые 2 сек должен произойти сброс в файл журнала и то, что если буфер журнала переполнен, то сброс произойдет чаще чем раз в 2 сек.
Просто меня насторожило это поле времени, мол если произойдет падение в середине этих периодов, то я потеряю больше, чем наработка только за обещанные ИС 2 сек.

Так можно не бояться и не обращать внимания на эти времена, так ли это?
Что из опыта падавших и восстановившихся?
...
Рейтинг: 0 / 0
Как настроить удаление файлов журнала на количество этих файлов?
    #39413142
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Своё мнение о метках я высказал. Ещё вспомнил, что во новом файле [иногда] дублируется последний недозаполненный блок из предыдущего файла (со старыми метками, естественно).

Насчёт того, сколько можно потерять, вопрос более интересный. Начиная с какой-то версии Cache (кажется, 2013.1), если от демона журнала нет ответа в течение 10 сек, формируется предупреждение (оно пишется в console log), если же нет ответа в течение 30 секунд, формируется ошибка и запись в журнал замораживается. Если в конфигурации системы (... -> Настройка журнала ) активна опция "Замораживать систему при ошибках журнала", работа пользователей будет приостановлена. В таких условиях можно потерять журнальные записи за последние 30 сек перед аварийной остановкой Cache, если она всё же произойдёт. Если же опция не активна, и ошибка фатальна (журнал остановился), то работа пользователей продолжится, но уже без журнала.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как настроить удаление файлов журнала на количество этих файлов?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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