Имя: Пароль:
1C
1С v8
Как свернуть большую распределенную базу?
0 prog1Csww
 
15.04.21
07:32
Как свернуть большую распределенную базу?

Первый вариант такой что сверткой базы вводить остатки на дату и всё что до указанной даты удалять.
Но удаление всех документов всех магазинов в центральной базе хотя бы за месяц занимает все выходные (хотя еще не пробовал на рабочем сервере).
Т.е. скорость свертки месяц в неделю. За год удастся свернуть 4 года если работать по выходным. Что нереально.

Второй вариант выгрузкой\загрузкой XML. Ну допустим справочники и документы за год перенесу в чистую центральную базу. Это еще из центральной базы надо 10 магазинов выделить...
А где им работать пока выделять буду? Т.е. одновременно вести две базы в центре и по каждому магазину?
Есть где методика? Есть третий способ? Или большие РБД не обрезаются в принципе а умирают вместе с сетями?
1 Bigbro
 
15.04.21
07:37
ну во-первых если остатки перенесены а проводки у старых документов выключены то их можно неспешно удалять хоть в фоновом режиме по неделе в сутки.
а во-вторых как то слишком долго.
2 mistеr
 
15.04.21
08:28
(0) А какова цель свертки?

Если повышение производительности, то может проще сервер проапгрейдить?
3 AndyD
 
15.04.21
09:16
в выходные:
создать кзр с остатками - это быстро.
далее в несколько потоков чистишь остаточные рн до нужной даты.

потом в течение недели чистишь остальные рн и дочищаешь и помечаешь на удаление ненужные документы.

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

формирование начальных остатков можно делать стандартной обработкой свертка базы, все остальное сам пиши. так будет проще и надежнее.
4 AndyD
 
15.04.21
09:19
сжимал таким образом базу упп, размером в несколько сот гигабайт по 3 квартала за неделю.
методику сам придумал, почитай интернет, может кто-то что-то эффективнее придумал чего-нибудь.
5 Фрэнки
 
15.04.21
09:21
По самому тексту топика - а что вообще обсуждается? Сжатие сферического коня в вакууме?
6 AndyD
 
15.04.21
09:22
эффективнее только что вспомнил как можно:
делаем кзр с остатками

отключаем итоги

пишем скрипт для скл, который из нужных рн по нужным датам удаляет все записи (это на 2-3 порядка быстрее, чем через 1с поштучно чистить)

документы либо так же через скл помечаем на удаление, либо в 1с по старинке в течение недели.

включаем итоги.

таким образом можно 1-2 года за выходные свернуть даже в большой базе.
7 Фрэнки
 
15.04.21
09:22
что это в 1С - понятно. Что есть РИБ или что-то еще... Это не мешает уточнить, а насколько там РИБ? и какой он там
8 Фрэнки
 
15.04.21
09:23
А вот что за конфиг, чего там обрезать собирается... Обрезание сферическому коню
9 Фрэнки
 
15.04.21
09:34
Начинать надо с вопроса : что и кому нужно обрезать, потому что сейчас это не одна база :-)
10 Вафель
 
15.04.21
09:51
У меня где-то была обработка для свёртки как раз Риб через скл
11 Serg_1960
 
15.04.21
10:11
PS: автор, имхо, путает мягкое с тёплым. Пометить на удаление можно во время свёртки, а удалять - после свёртывания, убедившись в корректности результатов свёртки. "Но удаление всех документов всех магазинов в центральной базе..." - если это "настоящий" РИБ, то нет проблем создать ещё один узел, полную "копию" центрального узла и именно там исполнять все длительные операции по свертке (в частности - удаление документов). По узлам распределенной базы удаление объектов распространяется со скоростью молнии (Впрочем, как и все остальные изменения) - без контроля ссылочной целостности.
12 Фрэнки
 
15.04.21
10:22
(11) все верно, но я бы так не делал. Точнее сказать, был реальный опыт, в котором все сделано было намного проще и пока как бы урезались данные у одних, другие спокойно работали и даже не подозревали о происходящем. Узлов обмена было более 30
13 Фрэнки
 
15.04.21
10:23
Т.е. вообще резки, свертки и т.п. не выполнялось. Но на выходе глубина в прошлое сократилась до установленной Даты остатков.
14 WhiteDragon93
 
15.04.21
10:29
(0) под удалением в данном случае понимаем пометку или непосредственное удаление с контролем ссылок? Я писал многопоточную пометку для себя, сократил время с почти 3 суток до 2-3 часов