Имя: Пароль:
1C
 
какой лучше выбрать объект для хранения больших объемов более 500 тыс записей
,
0 olegon7
 
05.04.16
10:36
Собственно сабж

какой лучше выбрать объект для хранения больших объемов более 500 тыс записей?

ежемесячно получаю по 600 000 записей из mysql
со следующими полями
лицевой счет
принадлежность
аскуэ
показания обхода
дата показ обхода
предыдущие показания
следующие показания
достоверность пред
достоверность след
флаг
датааскуэ

их надо где то хранить в 1 с ...ну и соответственно обрабатывать и строить отчеты, делать выгрузку в dbf формат

система 1 с 8.3 и субд ms sql

склоняюсь к регистру сведений периодическому независимый

кто что скажет порекомендует?
1 Чайник Рассела
 
05.04.16
10:37
записывай в амбарную книгу
2 Cyberhawk
 
05.04.16
10:37
Справочник или регистр сведений
3 Мимохожий Однако
 
05.04.16
10:38
Рекомендую попробовать на копии
4 Cyberhawk
 
05.04.16
10:38
Минусы независимого РС - записи из него могут взять и одномоментно пропасть по неосторожно дрогнувшей руке
5 mishaPH
 
модератор
05.04.16
10:41
500 тыс это больные объемы??? да вы что..

у меня вот 1.5 млн записей в справочнике легко лежит на 7ке счас вот в постгри запихнул кое-что на 2 млн записей..
6 olegon7
 
05.04.16
10:43
600 тыс падают ежемесячно
естественно они накапливаться будут....
за 10 месяцев 6 млн
7 butterbean
 
05.04.16
10:43
(5) ну у него 600000 в месяц, только за год набежит больше 7 млн
8 Sammo
 
05.04.16
10:46
(7) Это тоже не сильно много. Вот когда у него будет 600 тысяч в день...

Например, регистр сведений. Плюс - не надо делать ссылку на каждую запись. Возможность записи с отбором за период, например - получается достаточно быстро.
9 ГеннадийУО
 
05.04.16
10:46
(6) Да ладно, не много это. У меня в одной конфе около 2 млн документов в месяц падает, и ничего, работает...
10 olegon7
 
05.04.16
10:46
или лучше разбить один регистр на несколько по рэсам?
11 olegon7
 
05.04.16
10:51
Если какие то ограничения на измерения?
12 Cyberhawk
 
05.04.16
10:51
(11) Длина ключа (комбинация всех измернений) не больше ~1000 символов
13 Cyberhawk
 
05.04.16
10:52
Считай, что одно ссылочное измерение (ГУИД) занимает 36 символов, отсюда не больше ~28 ссылочных измерений
14 Cyberhawk
 
05.04.16
10:52
(если гоню, то знающие люди меня, надеюсь, поправят)
15 Sammo
 
05.04.16
10:53
(11) Стандартно. Уникальность измерений (включая служебные).

Да и еще такой момент - есть ли некий уникальный идентификатор, по которому потребуется идентифицировать каждую запись (например, для перезагрузки)
16 H A D G E H O G s
 
05.04.16
10:55
(14) Гонишь. 16 байт.
17 olegon7
 
05.04.16
10:57
Ключом может быть не только комбинация измерений так?
18 olegon7
 
05.04.16
11:04
Что порекомендуете для установки данных регистра измерения?

я имею ввиду измерения , ресурсы и реквизиты

поля следующие -
лицевой счет  (уникальный)
принадлежность (строка)
аскуэ (булево)
показания обхода (число)
дата показ обхода (дата)
предыдущие показания (число)
следующие показания  (число)
достоверность пред   (булево)
достоверность след  (булево)
флаг (булево)
датааскуэ (дата)
19 Tateossian
 
05.04.16
11:06
(16)

SQL Server 2008 R2 Другие версии
При проектировании индекса, содержащего множество ключевых столбцов или столбцов большого размера, следует вычислить размер ключа индекса, чтобы удостовериться, что он не превысит максимальный. В SQL Server сохраняется предел в 900 байт на максимальный общий размер всех ключевых столбцов индекса. При этом исключаются неключевые столбцы, входящие в определение некластеризованных индексов.
20 vi0
 
05.04.16
11:26
(18) Что будет измерениями нужно исходить из предполагаемых запросов к таблице, учитывая что измерения войдут в составной кластерный индекс
А с учетом того, то у регистра сведений индекс всегда избыточно составной, и в него всегда входят измерения, даже если индексируешь по ресурсу, то можно рассмотреть регистр накопления + регистратор типа "Корректировка регистров", как в типовых конфигурациях.
http://its.1c.ru/db/pubapplied#content:352:hdoc
http://its.1c.ru/db/pubapplied#content:357:hdoc

Но опять же нужно отталкиваться от предполагаемых запросов к регистру.
21 Cyberhawk
 
05.04.16
11:42
(16) А, ну тогда максимум 56 измерений (896 байт) может быть в независимом регистре сведений, так?
22 ДенисЧ
 
05.04.16
11:43
видел регистр накопления, в котором было 45 лямов записей...
23 mistеr
 
05.04.16
11:50
(6) Если это все append-only, то лучше положить во внешнюю базу. Или оставить в той же Mysql. Отчеты строить по внешнему источнику данных.
24 f_vadim
 
05.04.16
11:52
оставить во внешней базе, лазить по необходимости.
25 olegon7
 
05.04.16
12:26
Отчеты быстро строятся по внешнему источнику??

для  таблиц с 500 тыс и 12 млн
26 olegon7
 
05.04.16
12:27
а могу я постороить отчет по http сервису(вытвскивать оттуда данные) ?
27 olegon7
 
05.04.16
12:29
смысл в чем у меня 2 источника данных

mysql база
и http-сервис (но мне опять же надо сделать post запрос и заведомо знать какие значения параметров отправить (эти значения я получаю из mysql) )
28 mistеr
 
05.04.16
16:43
(25) Попробуй и рссскажи нам.

(26) Данные кладешь в ТЗ, ТЗ суешь в СКД.
29 dvva
 
05.04.16
16:49
ТС скажи в каком МРСК такое реализуют, кто отказался от святого IS-U.
30 rs_trade
 
05.04.16
16:55
(0) объект никак не выбирается исходя из количества строк.
31 rs_trade
 
05.04.16
16:59
(18) такие вещи тоже не рекомендуются, а определяются исходя из условий получения и хранения данных.

может там и одного измерения хватит - лицевой счет, с периодичностью месяц.
32 rs_trade
 
05.04.16
16:59
(25) вообще не быстро будет
33 dvva
 
05.04.16
17:17
(31) периодичность месяц не покатит, съёмов показаний может быть несколько
34 dvva
 
05.04.16
17:19
вот измерений да, л/с должно хватать
35 olegon7
 
07.04.16
15:36
может кто объяснить на что влияют измерения,
я так понимаю для быстрого отбора именно по измерениям? так?
что записывать в ресурсы и что в реквизиты

ведь регистр сведений мне понадобиться для построения отчетов а также для выгрузки dbf
36 Cyberhawk
 
07.04.16
15:38
Измерения влияют на количество "разрезов" записей - две записи с одинаковыми измерениями в регистр не запишешь
37 olegon7
 
07.04.16
15:43
по сути тогда лицевой счет в измерения так как он уникальный + дата

а в ресурсы и реквизиты что?
чем они отличаются?
38 Карупян
 
07.04.16
15:51
можно вообще внешнюю таблицу заюзать
39 Карупян
 
07.04.16
15:52
РС с одним измерением УИД - это и есть справочник
40 olegon7
 
07.04.16
15:58
(38) через внешние источники?поподробнее
41 olegon7
 
07.04.16
15:59
мне необходимо что бы по полученным данным можно было построить запросы
например по срезу последних сформировать все лицевые счета с одного рэса
42 olegon7
 
07.04.16
16:06
алгоритм следующий

данные будут накапливаться - раз в месяц я буду получать данные- посылать запрос на удаленный сервер- он будет возвращать данные , и буду записывать в один регистр сведений (мне не мешало бы определить структуру- измерения, ресурсы,реквизиты, периодический 1 день, независимый )

затем запросом получаю срез последних все лицев и дополн инфу по им ,отправляю пост http запросом получаю ответ - его в тз, и соединяю с Регистром Сведений по лицевому счету.

Далее делаю анализ на правильность записей, всевозможные проверки, выгружаю правильные данные в дбфки, отправляю их на уд сервер.
Формирую всевозможные отчеты
43 mingw
 
07.04.16
16:26
Для таких количеств рекомендую Oracle и на PL/SQL написанные вибюхи с хранимками по триггерам.

Которые отдельные готовые сводные таблички-отчетики в том же оракле.
А из 1С к этим готовым сводным табличкам как внешним источникам данных подключаться и выводить...
44 mingw
 
07.04.16
16:27
(43) *вьюхи = views
45 olegon7
 
07.04.16
16:37
(43) можно вызвать хранимку на mysql через 1 с через ado?
46 mingw
 
07.04.16
16:38
(45) смотря какой mysql, но да
47 olegon7
 
07.04.16
16:43
(46) мне все равно надо тянуть данные на клиента
надо выгружать dbf
и еще взаимодействовать с http сервисом
48 olegon7
 
07.04.16
16:45
(43) тем более удаленным сервером я не занимаюсь
для этого есть другой человек
49 mingw
 
07.04.16
16:50
(47) (48) Суть если нужно быстро то с такими объемами это не к 1С.
В 1С все что выше сотен тысяч это долго. медленно и мучительно.
Но если подождать несколько часов или суток устраивает то можете делать.

Хотя смысла не вижу, там 100% данные простые линейные с простыми привязками по id.
Все можно на хранимках сделать и по команде из 1С (с параметрами) будет готовая для записи в DBF выдаваться табличка.
50 olegon7
 
07.04.16
17:07
(49)а как взаимодействовать с веб-сервисом?
51 Живой Ископаемый
 
07.04.16
17:30
2(0) Внешний Источник данных. к тому же МайСКЛ. ему надо - пусть он и хранит. А 1С - интерфейс.
52 Смотрящий
 
07.04.16
17:38
(0) Хранить в сторонней бд записи, из 1С только дергать нужное (51) короче
53 H A D G E H O G s
 
07.04.16
17:57
(39) Добавь туда пометку удаления, версию, имя и флаг предопределенных данных. Это по минимуму.
54 H A D G E H O G s
 
07.04.16
17:58
(49) В кривых рученьках то конечно.
55 mingw
 
07.04.16
18:05
(54) это еще вопрос у кого они кривее
56 ДенисЧ
 
07.04.16
18:49
с веб-сервиса миллионы записей тянуть?
И кто-то тут будет говорить о скорости?
Или через адо те же миллионы?
Вы, ребята, с дубу рухнули?
57 mikeA
 
07.04.16
19:49
(54) + дохлое железо
58 mingw
 
07.04.16
19:57
(56) Ну у них в тестах то все ок будет, на паре тыщ записей ))
59 H A D G E H O G s
 
07.04.16
19:58
(57) Дохлых желез не бывает. Уже лет 10 как.
60 mikeA
 
07.04.16
19:59
(59) бывает мало денег и/или жаба давит
61 H A D G E H O G s
 
07.04.16
20:03
(60) В современном ИТ дохлое железо ты найдешь в каких-нибудь ипинях, и то вряд ли.
62 mingw
 
07.04.16
20:08
(59) (61) А что будет если на самом навороченном железе несколько дятлов одновременно запустят подобную (0) заливку данных в одну базу?
63 mingw
 
07.04.16
20:09
(62)+ типа за разные месяца...
64 H A D G E H O G s
 
07.04.16
20:15
(62) Данные будут записываться. В чем смысл вопроса то?
65 mikeA
 
07.04.16
20:17
(63) видимо ничего страшного, если в РС месяц будет измерением
в РС вроде по умолчанию блокировка по измерениям при записи
66 mingw
 
07.04.16
20:24
(64) Советую потестировать.
Особенно в случае замены записей по составным полям поиска (без индексов) и еще "разработчик" не в курсе про транзакции.

(65) Ну да месяц измерением когда ТС походу не в курсе что записи могут придти в текущем месяце за любой предыдущий...
67 H A D G E H O G s
 
07.04.16
20:31
(66) Я в курсе про замену. И чем мне кажется, тут пасует любая СУБД, если предварительно запись надо найти и обновить (или удалить и записать новую с тему же ключами, как это почему то делает 1С).

Либо либо предварительно очищать регистр набором записей с отбором по периоду (месяц) и затем записывать не замещая (РС.ОбменДанными.Загрузка=Истина; РС.Записать(Ложь)), либо медленно через РС.Записать(Истина)
68 mingw
 
07.04.16
20:42
Ну можно еще один в один данные из MySQL (чужой) переносить в MSSQL базу (свою).
Затем написать на T-SQL нужный код.
И юзать написанные хранимки/вьюхи через внешние данные из 1С. Для отчетиков и вывода в DBF.

Тащит все данные вместо только сводных в базу 1С не вижу смысла.
69 olegon7
 
08.04.16
08:52
написал запрос к mysql
к таблицам к kartab_askue и kartkvdg_askue

select t2.yearmon,
t2.lic_sch,
t2.data_new,
kartab_askue.lic_sch,
kartab_askue.data_kon,
kartab_askue.date_kon,
kartab_askue.base
from
kartab_askue Left JOIN (select t1.yearmon,
t1.lic_sch,
kartkvgd_askue.data_new
from
(select MAX(kartkvgd_askue.yearmon) yearmon,
kartkvgd_askue.lic_sch
from
kartkvgd_askue
where kartkvgd_askue.del=0
GROUP BY kartkvgd_askue.lic_sch) t1 inner join kartkvgd_askue
on t1.lic_sch=kartkvgd_askue.lic_sch and t1.yearmon=kartkvgd_askue.yearmon) t2
on kartab_askue.lic_sch=t2.lic_sch
where kartab_askue.del=0


могу ли я его разбить на подзапросы на вьюхи
и потом вызывать главную вьюху через ado
70 mingw
 
08.04.16
12:59
71 mingw
 
08.04.16
12:59
72 stopa85
 
08.04.16
13:27
(0) По идее в 1С объект метаданных выбирается исходя не из объемов, а из его прикладного смысла. У вас, видимо, регистр сведений. Что будет его измерениями, что ресурсами, что реквизитами тоже.

Что касается объемов - нужно пробовать, мне кажется вполне потянет.
73 olegon7
 
08.04.16
13:44
в чем преимущества использования вьюх от простого запроса?

бЫСТРОДЕЙСТВИЕ?
74 olegon7
 
08.04.16
13:44
будет ли вьюха нагружать сервер если в таблицах часто происходят изменения каждые 2 часа
75 rs_trade
 
08.04.16
13:49
(74) вьюха тот же запрос. но скажем так статичный и сохраненный. бывают индексированные вьюхи, они физически хранятся.

(74) будет при обращении к ней.
76 Живой Ископаемый
 
08.04.16
13:51
материал вью.
77 rs_trade
 
08.04.16
13:52
(69) зачем вообще здесь вьюхи?
78 olegon7
 
08.04.16
13:55
сама вьюха

elect t2.yearmon,
t2.lic_sch,
t2.data_new,
kartab_askue.lic_sch,
kartab_askue.data_kon,
kartab_askue.date_kon,
kartab_askue.base
from
kartab_askue Left JOIN (select t1.yearmon,
t1.lic_sch,
kartkvgd_askue.data_new
from
(select MAX(kartkvgd_askue.yearmon) yearmon,
kartkvgd_askue.lic_sch
from
kartkvgd_askue
where kartkvgd_askue.del=0
GROUP BY kartkvgd_askue.lic_sch) t1 inner join kartkvgd_askue
on t1.lic_sch=kartkvgd_askue.lic_sch and t1.yearmon=kartkvgd_askue.yearmon) t2
on kartab_askue.lic_sch=t2.lic_sch
where kartab_askue.del=0
79 H A D G E H O G s
 
08.04.16
13:55
Вьюхи наверное из Ораклом приползли, где если уж строится план запроса, так он строится капитально.
Ошибка? Это не ошибка, это системная функция.