Вход | Регистрация
 

Организация регистров под большие объемы данных.

Организация регистров под большие объемы данных.
Я
   Kongo2019
 
16.10.19 - 15:48
Доброго.
У нашей дружественной организации, есть отраслевая конфигурация.
Но они на сегодня столкнулись с проблемой. Большие задержки по обработке документов, отчетов и прочего.
Мы свое время, глянув на эту реализацию, прогнали несколько тестов, сказали нафуй. И сделали отдельный блок не на 1С. На 1С мы не осилили. Сейчас надо сделать на 1С.
У них все это сделано на одном регистре сведений, который еще и подчинен регистратору, девять видов документов. На текущий момент, при общем размере БД в 50 гигов, только этот регистр 14 гигов. В общем, печально все.
Структура регистра такова.
Измерения
- Марка – тип строка 160
Ресурсы
- Упаковка - тип строка 120
- Справка – тип СправочникСсылка.алкКлассификаторСправокАиБ
- АлкогольнаяПродукция – тип СправочникСсылка.алкКлассификаторАлкогольнойПродукцииЕГАИС
- Организация - тип СправочникСсылка.Организации
- ПунктРазгрузки - тип СправочникСсылка.алкПунктыРазгрузки
- ОтметкаВыбытия – тип булево

На текущий момент обсуждается вынести это в отдельную базу. Но надо как-то оптимизировать. Если перенести 1 в 1, задница все равно догонит.
Объемы будут только расти.
В общем, рад любой идее.
Может это регистр как-то сжимать периодически.
 
 
   Cyberhawk
 
1 - 16.10.19 - 15:50
1. Не хранить данные в документе, прямая запись и чтение из регистров.
2. Для максимально возможной быстрой записи в регистр (прямой инсерт) использовать запись через НЗ в режиме загрузки и без замещения.
   toypaul
 
2 - 16.10.19 - 15:50
"И сделали отдельный блок не на 1С" надо начать с того как сделали вы. тогда можно достаточно просто рассказать как сделать на 1С
   1Сергей
 
3 - 16.10.19 - 15:51
ХранилищеЗначения? не, не слышал
   Kongo2019
 
4 - 16.10.19 - 15:54
(1)
Так данные в доке вроде и не хранятся.
Меня больше чтение интересует.
   Ёпрст
 
5 - 16.10.19 - 15:56
(0) кт-ая конфа она да, такая..
:)
   Ёпрст
 
6 - 16.10.19 - 15:56
(4) чтение ? Может запись в этот монстр, не ?
   Kongo2019
 
7 - 16.10.19 - 15:56
(2) Не хотят. У нас голый скуль и клиенты на С#.
   Kongo2019
 
8 - 16.10.19 - 15:57
(5) Да блин. Догнали меня они все же. Как я не хотел с ней связываться.
   Ёпрст
 
9 - 16.10.19 - 15:59
Поможет только, независимый рег сведений, марку загнать в элемент справочника и в измерении - ссылку, упаковку - аналогично.
   Kongo2019
 
10 - 16.10.19 - 15:59
(6) Запись тоже нужна. Но запись пока вроде терпит. Но если есть мысли, то буду признателен.
У них начались проблемы с ТСД, тормоза.
   ИУБиПовиц
 
11 - 16.10.19 - 16:01
НАверно база пухнет от того что измерение строка.
Нельзя марку и упаковку справочником сделать (пусть чисто  с одним наименованием)?
   Kongo2019
 
12 - 16.10.19 - 16:01
(9) С упаковкой согласен. А марка какой смысл? Она уникальная. в 1С ссылка гуид, особо ничего не выиграем.
   Злопчинский
 
13 - 16.10.19 - 16:01
(9) присоединяюсь
   Ёпрст
 
14 - 16.10.19 - 16:02
(12) ссылка намного короче. чем строка 160, не говоря уже об индексе
   Злопчинский
 
15 - 16.10.19 - 16:03
я не спец, но мне сомнительно что в ресурсах ряд то, что ябы поставил в измерения.
   Злопчинский
 
16 - 16.10.19 - 16:04
на фузину еще можно перейти. заодно стрясешь денег с фузины за обчуение что к чему.
потом поделишься.
   Kongo2019
 
17 - 16.10.19 - 16:06
(14) Ваша правда, 32 символа против 160. Плюс марка, в этом регистре накопления, не уникальна.
Каждый док пишет ее.
То бишь у меня, в идеале, минимум две записи.
Приход и расход.
А если ее туда сюда погоняли, с десяток может быть.
   Kongo2019
 
18 - 16.10.19 - 16:08
(16) Вот только про фузину не надо. Я закивал удочку боссу. Он сказа по 1с спецы если что есть, по С шарпу тоже найдем. А эту хрень не надо. кто ее пилить будет если чего.
   Ёпрст
 
19 - 16.10.19 - 16:08
От тут советую почитать, там понятно, надеюсь ставить, как должен быть слеплен рег сведений, где индекс воткнуть и где самая быстрая запись будет

http://catalog.mista.ru/public/527518/
   Провинциальный 1сник
 
20 - 16.10.19 - 16:08
(0) "Измерения - Марка – тип строка 160"
Сделать справочник Марки, в нём наименование длиной 160, а в регистре измерением ссылку.
   Kongo2019
 
21 - 16.10.19 - 16:09
Хорошо если сделать регистр независимым, то как сохранить историю?
История движения марки нужна.
   Kigo_Kigo
 
22 - 16.10.19 - 16:11
ИМХО все это надо запихивать в регистр накопления и измерением - ОтметкаВыбытия – тип булево = количество,на остатке - 1 есть 0 выбыло, тогда регистр будет закрываться, и регистр сведений так и будет пухнуть по сути - справизник же
   Ёпрст
 
23 - 16.10.19 - 16:11
(21) ответ же очевиден - в измерение ссылку на док
   Kigo_Kigo
 
24 - 16.10.19 - 16:11
измерением  = ресурсом
   Провинциальный 1сник
 
25 - 16.10.19 - 16:13
И ещё, по-моему, регистр нуждается в нормализации, слишком много ресурсов связаны с маркой. Есть смысл в декомпозиции на несколько регистров по логике изменений данных, чтобы при изменении одного ресурса не производилась запись всего набора. Ну и марка это справочник должен быть, само собой.
   Ёпрст
 
26 - 16.10.19 - 16:13
заместо ОтметкаВыбытия , число с 1.0,  0 - ттн поступила. 1 - акт подтвердил ттн, -1 - товар продали/списали/переместили..

В любой момент можно грохнуть записи лишние, те что на остатках нет. Есть вся история, есть все остатки.
   тарам пам пам
 
27 - 16.10.19 - 16:14
Объясните, почему марку обязательно справочником делать. Один черт же будет сначала поиск элемента справочника по наименованию с использованием почти такого же индекса, как и для регистра.
   tesseract
 
28 - 16.10.19 - 16:19
>> сделали отдельный блок не на 1С. На 1С мы не осилили. Сейчас надо сделать на 1С.

Внешние источники данных не осилили?

>>На текущий момент, при общем размере БД в 50 гигов, только этот регистр 14 гигов. В общем, печально все.

у меня по 120 гиг регистры - все нормально. Просто индексы может регулярно пересчитывать и план запросов сбрасывать?


Марку в отдельный справочник можно выделить - но я не вижу никаких замеров по производительности. Возможно просто сделали подключение через ODBC и этот ODBC объект каждый раз создается да еще и в переборе строк каждый раз идет подзапрос.


Без кода не камлаю.
   Kongo2019
 
29 - 16.10.19 - 16:19
(26) Так это уже регистр накопления получается.
   Ёпрст
 
30 - 16.10.19 - 16:21
(29) итогов нет и..почитайте за разницу, что ле
 
 Рекламное место пустует
   tesseract
 
31 - 16.10.19 - 16:22
(29) Нет. Измерение по марке идет. Ключ перезапишеться - все данные перезапишуться.
   Kongo2019
 
32 - 16.10.19 - 16:24
(28)
1. Нам скорости не хватило. У меня сервер хороший десктоп. Я уже за 500 гигов ушел. Но у меня ушедшая марке в архив сбрасывается. Активный объём 10 гигов.

2. Обслуживание базы сделал как 1с рекомендует.
Статистки раз в сутки, реиндексация раз в неделю.
   Kongo2019
 
33 - 16.10.19 - 16:25
(30) Ну логика работы получается.
   tesseract
 
34 - 16.10.19 - 16:28
(32) 1С ясно дрыщевый сервак, на котором Майнкрафт и bitcoin вертиться вдобавок.

Пересоздай таблицы хотя бы и проверь профайлером от 1С чего у тебя там лочиться.

Убери все индексы с регистра кроме измерения с допупорядочиванием.  Посмотри какие запросы идут к регистру - 95% код в проведении кривой или вообще в подписках какой-нибудь умник допроведение поставил.
   Провинциальный 1сник
 
35 - 16.10.19 - 16:32
(32) Случайно у вас к регистру обращение производится не запросом с ПОДОБНО по измерению?
   Kongo2019
 
36 - 16.10.19 - 16:36
Да хрен его знает. Это отраслевая конфа, я только засел ее ковырять. Она еще и с СЛК защитой.
И пилить мне ее точно не разрешат.
   tesseract
 
37 - 16.10.19 - 16:42
(36) И сколько платят? СЛК всегда можно расковырять, если совсем код в dll не перенесли.
   unregistered
 
38 - 16.10.19 - 17:50
Офигеть. Круто... Народ обсуждает методологию, не зная вообще ТЗ.
Как можно вообще о чем-то говорить, не зная ни для чего этот регистр, ни какие по нему строятся отчеты, ни какие данные, когда и куда берутся?
Может там надо десяток маленьких регистров делать причём разных - накопления (остатков и оборотов), сведений (обычные и периодические) и расчета (с периодами действия и без).

Без методологической постановки - это всё разговоры о сферических конях в вакууме.
Единственное более или менее разумное высказывание в (25): "...регистр нуждается в нормализации, слишком много ресурсов связаны с маркой. Есть смысл в декомпозиции на несколько регистров ...  и марка это справочник". Это то, что сразу бросается в глаза. Но более детально и подробно говорить нельзя без знания методологии и бизнес-процесса - для чего вообще всё это нужно.

Всё остальное - ересь, которая быть может на какое-то время что-то где-то локально улучшит автору в плане скорости. А через пару лет всё встанет колом.
   tesseract
 
39 - 16.10.19 - 18:46
>>А через пару лет всё встанет колом.

Гораздо быстрее.

>>слишком много ресурсов связаны с маркой.

Если марка это GUID - никакого смысла делать отдельный справочник.
   Kongo2019
 
40 - 17.10.19 - 13:35
(38) Ну есть какие общие-то практики проектирования.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.