|
Чтение большого количества файлов dbf ... | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
Eeeehhhh
03.03.21
✎
12:09
|
... файлов порядка 20 тысяч в каждом порядка 10 - 15 тысяч строк.
Структура файлов одинаковая. Что самое быстрое? |
|||||||||||||
1
Eeeehhhh
03.03.21
✎
12:22
|
GameWithFire?
|
|||||||||||||
2
МихаилМ
03.03.21
✎
12:23
|
GameWithFire на 1с8.3 не работает
|
|||||||||||||
3
Eeeehhhh
03.03.21
✎
12:24
|
(2) печаль.
|
|||||||||||||
4
ДенисЧ
03.03.21
✎
12:30
|
просто прочитать? Или что-то с прочитанным сделать? ))
|
|||||||||||||
5
mikecool
03.03.21
✎
12:36
|
загрузить в скуль
читать как ВИД |
|||||||||||||
6
DrShad
03.03.21
✎
12:40
|
обернуть все в фоновое задание и запустить несколько экземпляров (хоть сотню потоков)
Другое (поделюсь тайной) |
|||||||||||||
7
Eeeehhhh
03.03.21
✎
12:42
|
(6) это не проблема, прочитать файлы и сделать N фоновых заданий. Проблема в другом - нужно будет потом эти 300 млн строк загнать в РС. И тут возникнет проблема с транзакцией и потеря времени при записи. Так как вместо одного набора и общей записи в 300 млн строк мне нужно писать блоками.
|
|||||||||||||
8
Eeeehhhh
03.03.21
✎
12:43
|
(4) необходимо потом данные загнать в РС. Но сейчас проблема прочитать и загнать в ТЗ. Долго. А писать блоками в РС еще дольше.
|
|||||||||||||
9
ДенисЧ
03.03.21
✎
12:45
|
А что им делать в РС? Последуй умному совету из (5)
|
|||||||||||||
10
Mikeware
03.03.21
✎
12:46
|
смотря что в файлах. если числа/строки - то можно попробовать и напрямую
ну и 300 мнл- "загнать в ТЗ" - тоже так себе подход. имхо, коненчно |
|||||||||||||
11
Eeeehhhh
03.03.21
✎
12:46
|
(9) маркетологи хотят получать удовольствие от работы с динамическим списком.
|
|||||||||||||
12
Eeeehhhh
03.03.21
✎
12:47
|
Причем данные будут обновляться каждую ночь.
|
|||||||||||||
13
Eeeehhhh
03.03.21
✎
12:49
|
(5) внешний источник данных не всегда хорошо работает в рамках динамического списка. К тому же в этих файлах будет много дублирующих строк - это убьет все возможности нормальной работы с ВИД и доставит проблемы с формированием ключа.
|
|||||||||||||
14
Eeeehhhh
03.03.21
✎
12:50
|
Но идею с ВИД я попробую.
|
|||||||||||||
15
ДенисЧ
03.03.21
✎
12:51
|
Открою секрет - ни один маркетолух не будет читать все 300 миллионов записей...
|
|||||||||||||
16
Eeeehhhh
03.03.21
✎
12:52
|
(15) все нет, но по ключевым словам хотят получать быстро выборку данных по поставщикам\конкурентам - так работать будут с 100-200 строк.
|
|||||||||||||
17
МихаилМ
03.03.21
✎
12:53
|
(8) врете. писать все равно блоками придется, тк транзакция в 300м сток - бред. при параллельной записи желательно учесть блокировки страничные.
в вашем случае быстрее всего писать сразу в субд. |
|||||||||||||
18
Mikeware
03.03.21
✎
12:53
|
(16) олап?
|
|||||||||||||
19
ДенисЧ
03.03.21
✎
12:55
|
(16) Запрос. Или Олап - любой.
|
|||||||||||||
20
Eeeehhhh
03.03.21
✎
12:55
|
(18) с кубами вряд ли они захотят и смогут работать. Задача простая им нужна общая таблица с которой они будут работать из 1С при анализ цен по тем или иным позициям.
(19) запрос как и олап у трех женщин маркетологов вызовет ступор. |
|||||||||||||
21
Mikeware
03.03.21
✎
12:58
|
(20) да фигли там работать-то? ты их создай...
меня до сих пор достают просьбами "сделать в восьмерке кубики как были в семерке"... |
|||||||||||||
22
ДенисЧ
03.03.21
✎
12:59
|
(20) Сделай олап и выведи его в екселЬ. 10 минут обучения и оргазм у "трех женщин маркетологов" обеспечен...
|
|||||||||||||
23
ДенисЧ
03.03.21
✎
12:59
|
(21) А в семерке были кубики? О_О
|
|||||||||||||
24
mistеr
03.03.21
✎
12:59
|
(16) >работать будут с 100-200 строк
Вот и загружай им эти 200 строк из скуля по запросу. |
|||||||||||||
25
mistеr
03.03.21
✎
13:00
|
Но на будущее есть смысл обучить их простейшим навыкам в консоли отчетов.
|
|||||||||||||
26
Eeeehhhh
03.03.21
✎
13:00
|
(24) хотят видеть все и строить отборы в реальном времени без промежуточных нажатий.
|
|||||||||||||
27
Eeeehhhh
03.03.21
✎
13:00
|
(23) у меня были 0
|
|||||||||||||
28
Mikeware
03.03.21
✎
13:02
|
(23) у меня были. да и не только у меня...
|
|||||||||||||
29
mistеr
03.03.21
✎
13:02
|
(26) Когда увидят в ДС 300 млн, пойдут хотелки "уберите лишнее". Ты что, пользователей не знаешь?
|
|||||||||||||
30
Йохохо
03.03.21
✎
13:04
|
(29) так у них селективность 10е-8%
|
|||||||||||||
31
ДенисЧ
03.03.21
✎
13:05
|
(29) Они не увидят. Не дождутся, пока список с 300 лямами записей откроется.
|
|||||||||||||
32
Eeeehhhh
03.03.21
✎
13:16
|
(31) динамический список в 500 млн записей 15 колонок открывается мгновенно. Стандартный поиск отрабатывает пара секунд.
|
|||||||||||||
33
hogik
03.03.21
✎
21:00
|
xBase. Быстрее ничего нет.
XBase |
|||||||||||||
34
mikecool
03.03.21
✎
21:03
|
я так понимаю - у Маньяка конкурент? ))
|
|||||||||||||
35
mikecool
03.03.21
✎
21:03
|
(32) а почему? потому что отрисовывается 20 строк, которые считаны плюс минус по 20 строк
|
|||||||||||||
36
Eeeehhhh
03.03.21
✎
21:42
|
(34) не, не. Лысый бребер вне конкуренции. Но ведь его поделки кого то интересуют. Здесь не будет универсализма. Просто хотюн заказчика.
(33) как ни странно, да. На текущий момент этот механизм самый быстрый. |
|||||||||||||
37
Garykom
гуру
03.03.21
✎
22:01
|
(0)
1. Не надо это грузить в 1С из этого логично вытекает 2. Внешняя СУБД, например mssql или postgresql или sqlite 3. 1С делает запросы к внешней БД, причем через ВК для скорости |
|||||||||||||
38
Garykom
гуру
03.03.21
✎
22:02
|
Если очень хочется засунуть в РС в 1С то серверная база на MSSQL, делаешь ручками пару записей РС, смотришь как оно прямыми запросами в MSSQL и туда напрямую
|
|||||||||||||
39
Garykom
гуру
03.03.21
✎
22:03
|
(38) это
Другое (поделюсь тайной) |
|||||||||||||
40
Кирпич
03.03.21
✎
22:27
|
Читать способов много. Пихать всё это в 1с не надо. Сделать отдельную БД на SQLite или на чём хош. Грузить программой на чем нибудь компилируемом (C#, C, Pascal, чо умеешь). Такое за пару часов управится. Но лучше на 1с. Неделю будет грузить + измученное страданиями лицо. Больше денег дадут.
|
|||||||||||||
41
hogik
04.03.21
✎
03:50
|
(36)
«как ни странно, да. На текущий момент этот механизм самый быстрый.»(с) Ничего странного. :-) Ведь все инструменты работы с DBF базируются на «теории» xBase и его библиотеках. |
|||||||||||||
42
Eeeehhhh
04.03.21
✎
10:33
|
(41) всю жизнь считал, что ADO без конкуренции )))
(37)(40) да, да. 1С плохая не справится. Буду изобретать велосипед на 100 часов с ВК и дальнейшим гемороемв сопровождении. Вышло даже больше 750 млн строк в РС залетели за ~30 минут идентификацией номенклатуры и контрагента. Стандартный поиск подтормаживает, но 15 секунд на отбор это ни о чем. А через настройку списка так вообще мгновенно. |
|||||||||||||
43
Кирпич
04.03.21
✎
17:43
|
(42) нифига у вас железо. 750 млн за 30 минут...
|
|||||||||||||
44
Kassern
04.03.21
✎
17:46
|
(42) интересно на сколько база распухла после такой заливки?
|
|||||||||||||
45
Eeeehhhh
05.03.21
✎
09:10
|
(43) каждый файл отдельным фоновым заданием, между каждыми 5 фоновыми 1 секунда паузы. На серверу по нагрузке одновременно грузят 10-15 фоновых. Все это будет грузится каждую ночь - очищаться и перегружаться. Пока эксперимент что будет как будет работаться копией в многопользовательском режиме - если выдержит 3-4 пользователей с их хотюнами - оставим в таком режиме - нет. Все ж таки придется думать что то типа OLAP.
(44) не сильно MS SQL говорит, что таблица весит около 40 гиг, индексы в районе 15 гиг. Скорей всего уберем все поля, кроме нужных и будет меньше. Пока захотели все. |
|||||||||||||
46
Почему 1С
05.03.21
✎
10:10
|
Представляю себе накладные расходы на индексирование такой таблицы после каждой порции вставки данных
|
|||||||||||||
47
Почему 1С
05.03.21
✎
10:14
|
В теории нужен способ отключить все индексы, перезаполнить таблицу, включить индексы, перестроить их.
|
|||||||||||||
48
Garykom
гуру
05.03.21
✎
11:07
|
(45) Редкое извращение, не проще (38) сделать?
|
|||||||||||||
49
Garykom
гуру
05.03.21
✎
11:10
|
А еще лучше все же не хранить в 1С ненужные там данные
Если очень хочется то на 1С можно интерфейс для работы с этими данными и все Который запросы к внешней базе делает, что неоднократно уже написали OLAP тут не причем, OLAP куб это предварительный расчет разных результатов (долгий) с быстрым показом |
|||||||||||||
50
Eeeehhhh
05.03.21
✎
11:52
|
(49) вот как ты определяешь "не нужные"? Тебе не нужно, ты и не храни. Люди захотели именно так и ни как иначе. Пока их все устроило и даже согласились мирится со скоростью. Из всей структуры (24 поля) оставят всего 4 поля - таблица должна уменьшиться в размерах в разы.
|
|||||||||||||
51
VladZ
05.03.21
✎
12:07
|
Внешняя база. Не вижу смысла грузить эту пургу в 1с: растет объем базы - как следствие растет время на бэкап и объем самого бэкапа (причем важной и актуальной информации там будет 10%, а остальное - неактуальная хрень, которая тупо занимает место).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |