Имя: Пароль:
1C
1С v8
Использование СУБД
0 Prilepsky
 
08.01.12
18:31
Добрый вечер.
Есть конфигурация на 1с 8.2, которая работает в файловом режиме (Комп двухъядерный с 2 гб оперативы).
В регистр этой конфигурации загружают ежемесячно большое количество информации (около 100 000 строк а на каждые 25000 создается документ), соответственно база начинает раздуваться и тупить.
Будет ли эффективней с точки зрения хранения информации и производительности конфигурации поднять на этом же компе СУБД и перевести конфигурацию в клиент-серверный режим работы ?
1 Reaper_1c
 
08.01.12
18:35
Сначала описание регистра давай в студию...
2 H A D G E H O G s
 
08.01.12
18:38
<<соответственно база начинает раздуваться и тупить.>>

Красиво. Другого не ожидал от автора.
3 Prilepsky
 
08.01.12
18:57
(2) Не придирайтесь к словам. Понятное дело, что не только от этого тупит, а быстро растущий размер базы не устраивает клиента. Но дело вообще не в этом. Меня интересует, какой вариант будет работать более эффективно.
(1) Регистр: непериодический, 13 измерений и 5 ресурсов.
5 H A D G E H O G s
 
08.01.12
19:35
Регистр: непериодический, 13 измерений и 5 ресурсов.

Да вы программист.
6 Reaper_1c
 
08.01.12
20:03
Почему именно 13 измерений и 5 ресурсов? Вот если бы 8 измерений и 10 ресурсов - было бы куда оптимальнее. Количество индексируемых полей лучше подбирать так, чтобы они составляли степень двойки - работать будет быстрее...
7 Prilepsky
 
08.01.12
20:09
(5) В загружаемых данных 15 основных параметров + 3 вспомогательные.
13 измерений - обеспечивают уникальность строки.
Какие же ваши предложения для хранения таких данные?
(6) Хм. Спасибо за совет.

И все же, использование клиент-серверного режима повышает эффективность работы?
8 ДенисЧ
 
08.01.12
20:55
(7) Если эффективность == скорость для одного клиента, то нет.
9 ЗашелСпросить
 
08.01.12
20:57
<<соответственно баБа начинает раздуваться и тупить.>>
10 Prilepsky
 
08.01.12
21:17
(8) спасибо
11 H A D G E H O G s
 
08.01.12
21:28
Почему бы не создать 1 измерение с MD5-хешем от данных, от которых зависит уникальность строки?

MD5 подвержен коллизиям?

Если есть такая паранойя - при каждой записи/поиске в регистр и нахождении уже существующей - проверку на равенство каждого из элемента данных.

p.s.
Когда сильно хочется, но нельзя
Тогда немножко можно, но не со мной.
12 H A D G E H O G s
 
08.01.12
21:29
Это не уменьшит объем базы, но уменьшит время записи.
13 Reaper_1c
 
08.01.12
21:40
(11) Чьерд! Ты переплюнул меня.
*посыпает голову пеплом*
14 ДенисЧ
 
08.01.12
21:57
(11) нафея хеш, если в РАУЗ уже предложена схема такого решения?
15 ILM
 
гуру
08.01.12
22:24
Кто эти люди? Какие данные? Какой хеш? Вы куда со своими советами?
ДАНО: Ежемесячно 100 000 строк данных, 4 документа в месяц (25 000 строк каждый).
И регистр независимый, содержит 15 основных параметров и 3 дополнительных.
ТРЕБУЕТСЯ ПРЕДОТВРАТИТЬ: быстро растущий размер базы и тупость базы.
Это что такое? Поподробнее...
Уточнение:
Зачем нужен документ?
В чем заключается тупость базы?
Что делают с данными?
16 Prilepsky
 
08.01.12
22:38
(15) С количеством строк ошибся, их до 1 000 000  =)
Документ фиксирует запись данных в базу. (документ можно сделать и по 50 000 строк - не важно).
По данным формируют отчеты, печатаю выборки, выставляют счета.  
Тупость базы:
- чем больше загружаем , тем медленнее формируются отчеты, счета и т.д.

- А если подключается по сети еще 1 пользователь - вообще жуть.
Всего с базой будут работать 2 пользователя. ( сообщили про 2ого пользователя только что)
17 H A D G E H O G s
 
08.01.12
22:38
(14) Избыточность.
18 H A D G E H O G s
 
08.01.12
22:39
(16) Ну просто жуть, жуть, жуть.

- А если подключается по сети еще 1 пользователь - вообще жуть.
Всего с базой будут работать 2 пользователя. ( сообщили про 2ого пользователя только что)

С этого и надо было начинать.
19 Prilepsky
 
08.01.12
22:40
(18) Только узнал. Планировалась работа с 1 пользователем.
20 ДенисЧ
 
08.01.12
22:41
(17) избыточность хеш vs гуид?
21 H A D G E H O G s
 
08.01.12
22:44
(20) Ну вообще в РАУЗ доп. справочники есть.
22 ILM
 
гуру
09.01.12
12:25
(16)
Что то напоминает биржевое ПО для брокеров, или биллинг, или торговля...
Пример 15 полей можно? Данные просто грузятся или зависят от документа?
Что за отчеты? Может агрегаты настроить? Или добавить регистры накопления?
Счета выставляются сразу по данным или раз в период?  Данные корректируются после загрузки ли только на чтение потом?  

Решение лежит не в базе а в политике работы с данными:
Сразу возникают вопросы, наличие всех 100 000 строк обязательно? Может достаточно будет одной строки с начало, окончанием, объемом, объемом нарастающим и ценой и т.д.
Наборы из 15 полей может можно сгруппировать? Например, повторяются контрагент, договор и тип цены, храним тогда три поля в одном месте, а ссылку используем для загрузки? Трудно выдать решение сразу...
23 ILM
 
гуру
09.01.12
12:30
Может это и анализ в торговле, тогда непонятна цель такого анализа, а на просьбу сделать всё, можно делать много и долго...
Если биллинг, то грузим частями и сразу считаем нужные итоги. По данным итогов выставляем счета. Распечатку исходных данных берем из базы. но это долго и дорого. Если данные все засунуть в реквизиты, то грузить может будет и ещё быстрее. Необходимость документа как только коммита мне не понятна. Если распровести документ, то 100 тысяч записей снова грузятся в регистр?
24 Neco
 
09.01.12
12:38
(16) В принципе нужен клиент-сервер, а там уже посмотреть, как ты формируешь запросы в отчетах.
25 Neco
 
09.01.12
12:39
И еще, документ лучше использовать без табличной части, просто как регистратор. Данные сразу писать в регистр.
26 Reaper_1c
 
09.01.12
12:49
В принципе мы никак не дождемся структуры регистра.
27 Prilepsky
 
09.01.12
13:34
(22) Данные не зависят от документа.
Теоретически, я могу счета формировать и по общим итогам. (Счета выставляются в любое время)  
Тогда остается только то, что все эти строки нужны для детальных отчетов и сгруппировать ничего нельзя.. Данные корректируются очеень редко.
(25) Бывает, что нужно изменить какую-нибудь строку или параметр за определенный период, поэтому нужны документы с табличной частью.
(26) а в (3) не структура? Или я не правильно понимаю, что конкретно вы подразумеваете под "структура регистра". Типы: строка,число, дата + справочникссылка
28 H A D G E H O G s
 
09.01.12
13:37
Измерение1 - Номенклатура
Измерение2 - серия.
и.т.д.
29 ILM
 
гуру
09.01.12
13:46
(28) Ага, присоединяюсь...
ТС публикуй ТЗ, счас тебе насоветуем.

По мне так важна цель, что делаем!!! Что решаем )))
Ведь все придумано до нас!
30 Prilepsky
 
09.01.12
13:59
Сейчас вот так.

Измерение1 - НомерТелефона - справочник
Измерение2 - ВремяЗвонка
Измерение3 - ДатаЗвонка
Измерение4 - ТипСоединения
Измерение5 - ОписаниеЗвонка
Измерение6 - ИсходящийНомер
Измерение7 - ВходящийВходящий
Измерение8 - НомерСТ
Измерение9 - ТипЗвонка
Измерение10 - НомерДоговора
Измерение11 - ГруппаСчетов
Измерение12 - РоуминговаяСеть
Ресурс1 - Продолжительность
Ресурс1 - Продолжительность с округаление
Ресурс3 - Стоимость
Ресурс4 - ОбъемМБ

(29) Решаем, в каком режиме эффективней работать с большим количеством данных и как уменьшить объем базы.

Конфигурация уже есть и с ней работают. Все устраивает, кроме этих моментов.
31 Reaper_1c
 
09.01.12
14:39
(30) Наконец-то. Спасибо, поржал.

Переделывай. Нужен оборотный регистр. Время и дата будут писаться в предопределенное поле "Период". Нормализуй данные - введи в регистр контрагента и договор. Номер телефона перетащи в реквизиты договора. Создай справочник звонков, в который ссыпай описание, исходящий и входящий номера, роуминговую сеть. Ресурсы числовые - можно не трогать. Врубай на регистр агрегаты, рассчитывай оптимальную сеть. Тупить база перестанет однозначно.

P.S. Так и думал, что на РС пытаются регистр накопления эмулировать...
32 ILM
 
гуру
09.01.12
14:45
(31) И добавить, то почти нечего.
Ну разве малость. Может писать не измерения (1,4,5,9,10,12) А какой-нибудь тариф с договором.
33 Neco
 
09.01.12
14:47
(27) Без табличной части можно обойтись и редактировать набор записей регистр в форме документа.
34 Prilepsky
 
09.01.12
15:35
(31) Почему именно оборотный?
Мне нужно хранить детальные записи, чтобы получить, например, детализацию по номеру за пару дней или месяцев. А как это сделать, если я введу Контрагента и договор (А в договоре будет 20 номеров)? + все параметры нужны при распечатки детализации
Про справочник не совсем понял. Предлагаете создавать справочник, куда заносить записи о каждом звонке(соединение, смс и т.д) ? (Каждая строка уникальна)?
(33) Уже разобрался, что-то протупил сначала.
35 Reaper_1c
 
09.01.12
15:52
(31) Оборотный потому, что он предназначен для решения таких задач. Если один договор содержит несколько номеров - безусловно номер в измерение. Всю дополнительную информацию по звонку, которая используется для отбора в отчетах менее чем в 50% случаев, вытаскивай в отдельный справочник, ты правильно понял про него все.
36 суицид
 
09.01.12
16:01
(0)не очкуй, добавляй ещё 32 гига памяти и переводи 1с в клиент-сервер на оракл.
37 sapphire
 
09.01.12
16:02
(0) Начиная с 8.2.14 можно использовать внешние источники данных.
Если таблицы будут сильно пухнуть, тогда master-данные можно вынести во внешнюю СУБД.
38 sapphire
 
09.01.12
16:04
(36) Не надо постить откровенную лажу, я искренне сомневаюсь, что вы умеете готовить 11 оракл.
39 суицид
 
09.01.12
16:08
Верю ,Prilepsky научится. Тем более под боком пухленький клиент, на котором можна поэкспериментировать. Запомните, дети, биллинг это много денег.
40 sapphire
 
09.01.12
16:10
(39) Но и труда немало.
41 Prilepsky
 
09.01.12
16:10
(37) Где подробней можно почитать как использовать эти внешние источники?
42 sapphire
 
09.01.12
16:11
(41) В дополнении к документации.
Кстати, можно использовать, например, Microsoft master data service for SQL Server
43 sapphire
 
09.01.12
16:12
Т.е. идея выносить точку вводу информации во вне, т.е. создание своего рода БД нормативно-справочной информации (НСИ).
44 ILM
 
гуру
09.01.12
17:08
Уточню (43) не БД НСИ, а исходные данные (листинги звонков) отдельно и базу счетов (биллинг) отдельно. Отделяем мух от котлет.
45 РежимДиалога Вопрос
 
09.01.12
17:31
Кодд в гробу перевернулся%)
46 ILM
 
гуру
09.01.12
18:37
(45) Ты для брокеров на бирже 1С не видел )))))))
47 sapphire
 
09.01.12
19:09
(46) Наверное мне просто повезло, я асинхронный обмен между разношерстными системами освоил.
48 РежимДиалога Вопрос
 
09.01.12
21:18
(46) а че там тоже заставляют "ОписаниеЗвонка" в измерения засовывать?
50 ILM
 
гуру
10.01.12
10:19
(48) Нет там что купил, сколько, по какой цене, короче вся биржевая торговля ссыпается в один документ по клиенту, а потом на это уже идут расценки услуг брокера выставление счетов. Жуть в реальном времени почти... И объем неслабый
Основная теорема систематики: Новые системы плодят новые проблемы.