| 
    
            
         
         | 
    
  | 
Может ли план обмена положить базу? | ☑ | ||
|---|---|---|---|---|
| 
    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) Скажу так: тема блокировок во время выполнения ВыбратьИзменения() для пользователей базы неактуальна.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |