Имя: Пароль:
1C
 
Может ли план обмена положить базу?
,
0 pumba055
 
07.09.22
19:03
Добрый день!
Коллеги, у меня вопрос. Может кто-то сталкивался...
Если создать план обмена и вообще все элементы на него назначить в регистрацию, то может ли он повесить базу?
Каждый день предположительно много данных будет через базу проходить.
Можно каждый день его чистить. Не будет ли проблем с производительностью базы?
1 Волшебник
 
07.09.22
19:03
Может. Будут.
2 Волшебник
 
07.09.22
19:03
Ещё 100 узлов в нём создай.
3 pumba055
 
07.09.22
19:08
узел один будет
4 pumba055
 
07.09.22
19:09
реально у кого-то проблемы были или это только предположение?
5 Волшебник
 
07.09.22
19:12
Был срыв промышленного старта одной системы.
6 pumba055
 
07.09.22
19:14
а с чем связано, почему так, просто чтобы понимать
7 pumba055
 
07.09.22
19:15
если был старт, то как на старте повесило - получается при старте план обмена пустой будет
8 Волшебник
 
07.09.22
19:15
(6) Связано с планом обмена. Включение объекта в план обмена — это ответственное действие. Если это регистр сведений и там неправильно расставлены флажки "основной отбор", то запись в регистр будет вызывать каскад записей в таблицу регистрации изменений.
9 Волшебник
 
07.09.22
19:16
(7) Сначала пустой, а потом быстро наполняется. И потом начинаются выгрузки и удаления. Это всё повесит базу.
10 timurhv
 
07.09.22
19:18
11 pumba055
 
07.09.22
19:19
ну сама запись в регистрацию даже в каскаде вешать не должна, вот что потом происходит и почему что тормозить начинает не понятно...
12 Волшебник
 
07.09.22
19:21
(11) У вас теоретически "не должно", а я на обменах собаку съел.
13 pumba055
 
07.09.22
19:23
поняла, спасибо коллега)
14 pumba055
 
07.09.22
19:46
Посмотрела видео, я как раз так и хочу делать через запрос - как в видео вторым способом говорят.
Создать план обмена на него назначить все объекты. Потом что попало в регистрацию считываю запросом, записываю в xml файл и удаляю регистрацию по этому объекту.
15 FIXXXL
 
07.09.22
21:20
(2) тоже мякотка :)
16 rozer76
 
07.09.22
21:49
(14) накидал к видео комментов - как раз классическое ВыбратьИзменения используют чтобы записать номерсообщения и номерпринятого для квитирования обмена - второй способ не подойдет. Если квитирование не нужно то и второй план обмена не нужен - сразу удалять в рабочем плане.

Я делал другим обращом: классическое ВыбратьИзменения но выбирать не все а список порции изменений (массив объектов). Порцию можно сделать небольшой и тогда ВыбратьИзменения будет недолго блокировать и проставлять номер сообщения. Такое удобно например, если с мобильного приложения дергать сервер циклом повторяющихся обменов с размером порции. Таким образом и классическое удаление  по "номеру принятого" реализуем и опять же обмен идет порциями что благоприятно и на блокировках сказывается и при http или soap обменах размером данных можно управлять.
17 pumba055
 
07.09.22
23:31
Считывать записи из плана обмена буду запросом. Записи удаляться будут сразу из первого плана обмена как записала их в xml. При таком раскладе все норм будет или база повиснет?
18 Aleksey
 
08.09.22
02:12
У меня в бухии когда было куча планов обмена были проблемы. Таблица изменений одна общая и на нее нельзя наложить управляемые блокировки. И при большом количестве изменений во первых обмены стопорили работу пользователей (транзакции). Во вторых перепроводка по одной организации влияло на производительность по остальным (таблица изменений то общая, и чем больше там данных тем выше шанс нарваться на блокировки на ровном месте). Пришлось отказаться от обменов и пересадить их в одну базу
19 Serg_1960
 
08.09.22
09:09
"Таблица изменений одна общая" - не совсем так: для каждого элемента данных, указанного в плане обмена, создаётся и заполняется своя собственная, автономная от других элементов плана обмена, таблица регистрации изменений.
20 Обработка
 
08.09.22
09:38
(0) Банально просто мертвые узлы которые давно не нужны мешают работать. Ну не точно торомозит базу конечно.
Вот я в компании новой обнаружил кучу узлов и регистрация все шла и шла.  Удалил регистрации и удалил узлы сократил базу на 70 Гигов!
Удалил 635 млн регистраций!
21 Волшебник
 
08.09.22
09:40
(19) Инфа 100% ?
22 Обработка
 
08.09.22
09:44
(21) Конечно же. Я вчера прям в скуле удалял эти таблицы.
В таблицах скуля если есть суффикс  в названии "Chng" это и есть таблица изименений объекта метаданных.
Пример
DocumentChngR6522
InfoRgChngR4431
ReferenceChngR6371
DocumentChngR3246
AccumRgChngR5472
DocumentChngR3204
ReferenceChngR6385
InfoRgChngR5121
InfoRgChngR6961
DocumentChngR3754
DocumentChngR1182
DocumentChngR7665
DocumentChngR2007
DocumentChngR1720
ReferenceChngR449
ReferenceChngR724
23 Timon1405
 
08.09.22
09:49
(19) >>автономная от других элементов плана обмена
нужно читать как "таблица автономная от других элементов метаданных". таблица изменений все-таки одна на объектМД, неважно в скольких планах он состоит, т.к. в таблице изменений есть колонка "узел"
24 Волшебник
 
08.09.22
10:15
(22) А... Мне показалось, что речь про узлы.
25 Serg_1960
 
08.09.22
10:20
(21) Я своим замечание решил уточнить возможное недопонимание утверждения "Таблица изменений одна общая" - по моему мнению, это утверждение как-то двойственно звучит. И потому уточняю:

"Состав данных, которыми осуществляется обмен, описывается в плане обмена... Для каждого элемента данных, указанного в плане обмена, ведется своя таблица регистрации изменений... При изменении элемента данных его изменение регистрируется для всех узлов, в которые это изменение должно быть передано"

Источник: "Служба регистрации изменений" - https://v8.1c.ru/platforma/sluzhba-registratsii-izmeneniy/

НО: Aleksey в (18) прав, относительно множества планов обмена: каждая из таблиц регистрации изменений предназначена для всех(!) узлов.
26 DTX 4th
 
08.09.22
10:36
Так, можно я немного попробую это все систематизировать?
Таблицы изменений - просто плоские таблицы. Запись в них не должна быть дорогой. Да, если с регистрами налепить что-то непонятно, понятно дело, но что становится бутылочным горлышком в остальных случаях? Типа, если раз в день выгрузку производить.

1. Выборка = ПланыОбмена.ВыбратьИзменения(Узел, ОбУзел.НомерОтправленного);
2. ПланыОбмена.УдалитьРегистрациюИзменений(Узел, ОбУзел.НомерОтправленного);

Вроде и то и другое не должно долго отрабатывать.
27 СеменовСемен
 
08.09.22
11:00
(26) выбрать изменения устанавливает исключительную блокировку.
А другие в это время хотят писать
28 DTX 4th
 
08.09.22
11:05
(27) Я потому и упомянул про раз в день. Ночью, например.
29 pumba055
 
08.09.22
15:14
Коллеги, так в итоге если план обмена создать со всеми объектами и при обращении к нему НЕ использовать ПланыОбмена.ВыбратьИзменения, а использовать запрос, то база ляжет?
30 Фрэнки
 
08.09.22
16:07
(29) извини, конечно, но это сильно на троллинг смахивает.

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

Начнешь обработку выполнять и либо положишь, либо не положишь - как напишешь, так и будет.
31 Serg_1960
 
08.09.22
16:12
(29) Нет, не ляжет. У меня РИБ (полный состав объектов базы данных) используется много лет и ни разу ничего подобного не было нри с одной базой. Если хотите уменьшить этот теоретически потенциально конфликтный период - чаще проводите сеансы обмена данными. Чем меньше данных в сеансе обмена - тем быстрее он проходит и вероятность возникновения deadlock уменьшается.

И кстати: если используется ВыбратьИзменения() - это вовсе не означает блокировку всех объектов на всё время выборки изменений - таблицы регистрации будут поочередно обрабатываться (и поочередно блокироваться на запись).
32 pumba055
 
08.09.22
17:46
Фрэнки, после запроса единственное что будет происходить что объект запишется в xml файл и все.
33 DTX 4th
 
08.09.22
19:41
(29) Делай, все норм. Альтернатив не видно все равно.
Основные мысли в (26). Ну и в (31) тоже по делу.
34 Aleksey
 
08.09.22
22:14
(33) Читал давно (подробности не помню) в качестве альтернативы РС на который можно наложить управляемую блокировку
35 TormozIT
 
гуру
08.09.22
22:20
(16) Тоже накидал комментов к видео. В целом исповедую такой же подход к обмену через узлы - вызов ВыбратьИзменения по подготовленному запросом списку объектов с ограничением количества объектов каждого типа.
36 pumba055
 
09.09.22
09:19
Serg_1960 а у Вас в регистрации все объекты? Я то всю базу, все объекты, все данные и все матаданные в базе собираюсь поставить в регистрацию
37 Serg_1960
 
09.09.22
09:42
(36) Да все. Точнее, все те, которые могут участвовать в миграции данных. Дело в том, что в типовых конфигурациях есть объекты, которые не предназначены для миграции данных так, как они предназначены для содержания "локальных" данных узлов. Например, некоторые настройки не мигрируют по узлам (они у каждого узла свои собственные); элементы электронного документооборота автономны по узлам, каждый со своими настройками... Последовательностями документов, например, нет смысла обмениваться - он у каждого узла свой собственный...
38 Serg_1960
 
09.09.22
09:53
*(37) Эээ... по поводу последовательности документов: там всё не так однозначно :)
"Особенности использования последовательности документов в распределенной информационной базе (РИБ)"
https://its.1c.ru/db/metod8dev/content/2270/hdoc
39 pumba055
 
09.09.22
10:43
Serg_1960 а у Вас много данных помеченных в самих узлах? А то у меня в таблицах регистрации данных будет миллионы.
Извините что переспрашиваю все так, просто организация в которой сейчас работаю обложила нас со всех сторон штрафами...
40 Serg_1960
 
09.09.22
13:16
Нет, у меня значительно всё скромнее. Единственно только, когда месяц закрывают по УУ и БУ расчетами себестоимости (а у меня РАУЗ) или обработки обновления массово перезаполняют/перепроводят документы - вот тогда эти самые пресловутые "миллионы" :) и бывают.
41 Обработка
 
09.09.22
13:43
(39) У меня есть РИБ ЦБ+ Управленка
Есть РИБ по Орг-ции там было порядка 23 так вот.
РИБ уже года 2 не юзают а узлы есть.
В итоге регистрации у меня были миллионы записей.
Я сначала удали регистрации  потом сам узлы базу с 686 ГБ сократил до 565 ГБ
42 pumba055
 
12.09.22
14:13
Serg_1960 значит получается миллионы бывают и база из-за этого не тормозит
43 Serg_1960
 
12.09.22
14:54
(42) Скажу так: тема блокировок во время выполнения ВыбратьИзменения() для пользователей базы неактуальна.