![]() |
|
Самый производительный способ выгрузки во внешние базы данных. Ø (Волшебник 23.05.2025 11:57) | ☑ | ||
---|---|---|---|---|
0
kolts23381
18.05.25
✎
18:19
|
Кто разрабатывал такую выгрузку. Пока остановился на CSV. Выгружаю с помощью скд, который при сохранении в текстовый формат дает csv файл. Это быстрее чем с помощью записи текста. Есть более производительные способы?
|
|||
21
Кирпич
19.05.25
✎
10:42
|
(20) "Какой программой преобразовывали в csv "
да какой. сам писал на паскале:) |
|||
22
kolts23381
19.05.25
✎
10:48
|
Какой подход использовали для преобразования, можете подсказать? Читали построчно, разбирали строку? Как в таком случае разбирали строку, с помощью регулярных выражений или нет?
|
|||
23
Кирпич
19.05.25
✎
10:59
|
(22) да ну просто парсер. нам не сложно. Просто разобрать такую абракадабру.
{"T",4,2,"S","Code","S","Description","S","000000001","S","1 ляля","S","000000002","S","2 ббб","S","000000003","S","3 ббббб"} любой школьник напишет или ИИ. |
|||
24
kolts23381
19.05.25
✎
12:55
|
Все-таки использовали регулярно или посимвольный разбор?
|
|||
25
Кирпич
19.05.25
✎
11:05
|
тут же всё понятно. "T" таблица, "4,2" - четыре строки две колонки и погнали
|
|||
26
Кирпич
19.05.25
✎
11:06
|
(24) посимвольно конечно. регулярки будет медленней
|
|||
27
Кирпич
19.05.25
✎
11:06
|
да и не нужны они тут
|
|||
28
Кирпич
19.05.25
✎
11:10
|
забил это в ИИ :)
Отлично! Ты хочешь написать **парсер на Go** для разбора структуры вида: ```json {"T",4,2,"S","Code","S","Description","S","000000001","S","1 ляля","S","000000002","S","2 ббб","S","000000003","S","3 ббббб"} ``` Это не стандартный JSON, а скорее **сериализованный массив значений**, где: - `"T"` — тип (возможно, "Table") - `4` и `2` — какие-то числа (например, количество строк и столбцов) - `"S"` — указывает, что следующее значение — строка (`S` = String) --- ## 🎯 Цель Превратить это выражение в понятную структуру, например: ```go type ParsedData struct { Type string Rows int Columns int Headers []string Data map[string]string // или []map[string]string в зависимости от формата } ``` --- ## ✅ Пример входных данных ```go input := []interface{}{"T", 4, 2, "S", "Code", "S", "Description", "S", "000000001", "S", "1 ляля", "S", "000000002", "S", "2 ббб", "S", "000000003", "S", "3 ббббб"} ``` > Для упрощения будем считать, что входной массив уже распарсен как `[]interface{}`. --- ## 🔧 Реализация парсера Вот готовый пример парсера на Go: ```go package main import ( "fmt" ) type ParsedData struct { Type string Rows int Columns int Headers []string // Заголовки колонок Data []map[string]string // Строки данных: ключ — заголовок, значение — значение } func parseCustomFormat(tokens []interface{}) (*ParsedData, error) { if len(tokens) < 5 { return nil, fmt.Errorf("слишком мало данных") } p := &ParsedData{} // Первое значение — тип if t, ok := tokens[0].(string); ok { p.Type = t } else { return nil, fmt.Errorf("первое значение должно быть строкой типа") } // Второе и третье — целые числа: Rows и Columns if r, ok := tokens[1].(int); ok { p.Rows = r } else { return nil, fmt.Errorf("второе значение должно быть целым числом") } if c, ok := tokens[2].(int); ok { p.Columns = c } else { return nil, fmt.Errorf("третье значение должно быть целым числом") } idx := 3 // Читаем заголовки for i := 0; i < p.Columns && idx+1 < len(tokens); i++ { if s, ok := tokens[idx].(string); ok && s == "S" { header, ok := tokens[idx+1].(string) if !ok { return nil, fmt.Errorf("ожидалась строка для заголовка %d", i) } p.Headers = append(p.Headers, header) idx += 2 } else { return nil, fmt.Errorf("ожидался 'S' перед заголовком") } } // Проверяем, что удалось прочитать все заголовки if len(p.Headers) != p.Columns { return nil, fmt.Errorf("не найдены все заголовки") } // Читаем данные for i := 0; i < p.Rows && idx+1 < len(tokens); i++ { row := make(map[string]string) for j := 0; j < p.Columns && idx+1 < len(tokens); j++ { if s, ok := tokens[idx].(string); ok && s == "S" { val, ok := tokens[idx+1].(string) if !ok { return nil, fmt.Errorf("ожидалась строка для значения [%d][%d]", i, j) } row[p.Headers[j]] = val idx += 2 } else { return nil, fmt.Errorf("ожидался 'S' перед значением [%d][%d]", i, j) } } p.Data = append(p.Data, row) } return p, nil } func main() { // Исходные данные в виде []interface{} input := []interface{}{ "T", 4, 2, "S", "Code", "S", "Description", "S", "000000001", "S", "1 ляля", "S", "000000002", "S", "2 ббб", "S", "000000003", "S", "3 ббббб", } result, err := parseCustomFormat(input) if err != nil { fmt.Println("Ошибка:", err) return } // Вывод результата fmt.Printf("Тип: %s\n", result.Type) fmt.Printf("Строк: %d | Колонок: %d\n", result.Rows, result.Columns) fmt.Printf("Заголовки: %v\n", result.Headers) fmt.Println("Данные:") for _, row := range result.Data { fmt.Println(row) } } ``` --- ## 📦 Результат выполнения: ```text Тип: T Строк: 4 | Колонок: 2 Заголовки: [Code Description] Данные: map[Code:000000001 Description:1 ляля] map[Code:000000002 Description:2 ббб] map[Code:000000003 Description:3 ббббб] map[Code:000000003 Description:3 ббббб] ← если rows > данных — будет повтор? ``` > ⚠️ В твоих данных только 3 строки, но указано `rows=4`. Если нужно — можно добавить проверку. --- ## ✅ Что умеет парсер: - Парсит тип (`T`) - Читает число строк и столбцов - Читает заголовки по метке `"S"` - Читает данные по строкам и привязывает к заголовкам - Выдает результат в удобной структуре --- ## 🚀 Что можно добавить: - Поддержку других типов, кроме `"S"` (например, `"I"` — integer, `"B"` — boolean) - Валидацию длины данных - Возможность сериализации обратно - Поддержку JSON/YAML вывода --- Если тебе нужно адаптировать это под конкретный протокол, формат или API — пиши, я помогу! 😊 |
|||
29
Кирпич
19.05.25
✎
11:13
|
ИИ конечно фигню написал, но примерный объем работ виден.
|
|||
30
kolts23381
19.05.25
✎
11:15
|
Я уже забивал в ИИ). Буду смотреть, спасибо
|
|||
31
Кирпич
19.05.25
✎
11:21
|
(30) Да на ИИ можно и не тратить время. За день сам напишешь (если конечно знаешь какой нибудь язык программирования). Если большие файлы, обязательно используй буферизацию или MMAP.
|
|||
32
kolts23381
19.05.25
✎
11:28
|
C++, есть опыт
|
|||
33
Кирпич
19.05.25
✎
11:45
|
(32) От это тебя угораздило. Неделю теперь будешь писать :)
|
|||
34
olegves
19.05.25
✎
12:59
|
(0) самый производительный - это репликация БД средствами скуля
|
|||
35
rsv
19.05.25
✎
13:05
|
(0) если источник ms sql , cоздайте в нем линкованый сервер на приемник. И обычным select into.
|
|||
36
rsv
19.05.25
✎
13:07
|
Linked Server
|
|||
37
H A D G E H O G s
19.05.25
✎
13:32
|
Запрос -> ТЗ -> ЗначениеВФайл -> ВнешняяКмпонентаНаДельфи которая преобразует формат 1С в csv -> bulkinsert из csv в БД.
|
|||
38
kolts23381
19.05.25
✎
13:58
|
(34) это да, но не хотелось бы связываться с прямыми запросами, не всегда есть доступ к базе данных. (37) Тоже пришел к такому выводу. Осталось сделать конвертер
|
|||
39
Garykom
гуру
19.05.25
✎
15:01
|
(29) ИИ написал не просто фигню а много фигни
На практике все намного проще в Go |
|||
40
Garykom
гуру
19.05.25
✎
15:04
|
Имхо ТС херней занимается
Если надо самый быстрый способ: То ПолучитьСтруктуруХраненияБазыДанных() и прямые запросы Если надо просто, удобно, гибко и достаточно быстро: Использовать JSON в платформе 1С и не выделываться |
|||
41
Garykom
гуру
19.05.25
✎
15:04
|
(37) объясни нахера промежуточные шаги, когда можно сразу из СУБД запросами прямыми???
|
|||
42
Garykom
гуру
19.05.25
✎
15:07
|
(41)+ пишется запрос на 1С, профайлером (есть ИР) ловится
напрямую исполняется в СУБД, результат в текст в удобном виде зачем еще ВК изобретать? или использовать официально не рекомендованный ЗначениеВФайл |
|||
43
Voronve
19.05.25
✎
15:09
|
(41) Грузани напрямую контрагентов в базу битрикса. А мы похохочем ...
|
|||
44
Garykom
гуру
19.05.25
✎
15:28
|
(43) 1. Конфу не указал
2. Самому что знаний не хватает для подобного? 3. Лично я сделаю на JSON и http-сервисах. И не буду выделываться с разными CSV, ЗначениеВФайл, ЗначениеВСтрокуВнутр, внешними компонентами и прочими извратами |
|||
45
kolts23381
19.05.25
✎
15:26
|
(42)Потому что к субд не всегда есть доступ. А если файловый вариант? JSON сложнее загружать в субд, тоже нужна прослойка, но согласен ее написать легче чем для внутреннего формата 1с(ЗначениеВФайл).
|
|||
46
Мультук
гуру
19.05.25
✎
15:32
|
(45)
"Файловый вариант" Сначала быстрей, быстрей -- напишем конвертер на Си, нет -- на Си, но с asm-вставками. А теперь оказывается выгрузка из файловой базы. |
|||
47
Garykom
гуру
19.05.25
✎
15:33
|
(45) к СУБД всегда есть доступ
если у тебя есть доступ в Конфигуратор, то можно выгнать всех нахрен, выгрузить в DT и загрузить ее в свою СУБД это если разовая выгрузка-загрузка а если постоянная - используйте стандартные общепринятые механизмы (json, http и т.д.) и наймите спецов вместо этого нубского лепета для bulk в СУБД есть специальные форматы и CSV там не главный, главный sql insert |
|||
48
kolts23381
19.05.25
✎
15:38
|
(46)Я ожидал этого сообщения. Решение должно быть универсальным. Мне не охота писать несколько вариантов - один быстрый, другой медленный третий еще какой-то
|
|||
49
Кирпич
19.05.25
✎
16:08
|
(44) как JSON и вебсервис поможет "быстро выгрузить из 1С"? Это же два галимых тормоза тормоза :)
|
|||
50
Кирпич
19.05.25
✎
16:11
|
И JSON этот по умолчанию будет в каждую строчку имена полей вставлять, что есть идиотизм. А если делать нормальный JSON, то он будет похож на CSV как однояйцевые близнецы.
|
|||
51
Кирпич
19.05.25
✎
16:14
|
(48) щас я суп доварю, сделаю тебе конвертор этот. заодно замерим у кого быстрее получится.
|
|||
52
scanduta
19.05.25
✎
17:20
|
(0) Данных недостаточно
выгрузка одноразовая или это периодический обмен? Таблица в плоском виде или более сложная структура? Какие системы участвуют в обмене? Если делается внутри между базами sql , тогда зачем будут нужны файлы если можно напрямую |
|||
53
tabarigen
19.05.25
✎
17:22
|
(34) 🤣 зато честно
|
|||
54
tabarigen
19.05.25
✎
17:24
|
если серьезно, то пост максимально не серьезный.
автор после своего потока сознания поставил знак вопроса и спросил тут. |
|||
55
Кирпич
21.05.25
✎
16:40
|
Вот заколбасил. Только имена полей пока тупо генерятся F1 F2 F3.... Неохота сейчас с ними возиться.
https://github.com/qxlreport/tocsv |
|||
56
Кирпич
20.05.25
✎
11:32
|
Потестил код из (55)
На моем стремительном i7-3770 3.40GHz и SSD гигабайтный файл в 10 млн записей из двух полей переделывает за 5 секунд вполне себе быстренько |
|||
57
Кирпич
20.05.25
✎
11:37
|
За какое время такую кучу сможет вывалить 1С через ЗначениеВФайл() науке пока не известно
|
|||
58
Кирпич
21.05.25
✎
16:54
|
подкрутил чтобы имена полей выводил такие же как и в запросе
кому надо, лежит здесь https://github.com/qxlreport/tocsv |
|||
59
Garykom
гуру
22.05.25
✎
02:27
|
Ммм тут мысля возникла
А есть возможность получить сформированную ВТ с данными в СУБД снаружи текущего сеанса? Я к чему, делать прямые запросы это весьма трудозатратно Но можно же слегка схитрить и подготовить временные таблички простой структуры, причем известной А затем их банально забрать из СУБД |
|||
60
kolts23381
22.05.25
✎
00:58
|
У меня на подходе своя версия на с++ ). (59) Скорей всего если использовать менеджер временных таблиц, то временная таблица будет существовать пока существует менеджер. Осталось узнать ее название.
В 8.3.12 таблица значений обозначается так: {"#",acf6192e-81ca-46ef-93a6-5a6968b78663, |
|||
61
timurhv
22.05.25
✎
01:12
|
(50) Ну добавьте в csv данные по контрагентам, номенклатуре, организации, складу, остаткам и тд. В JSON это все проще, можно отдельной сущностью описать.
(59) => (52) проще какую-то синхронизацию с самописной БД организовать, чем от 1С плясать если нужна скорость именно выгрузки. Актуализацию данных можно организовать через регистр сведений и рег.задание. Чет видал какие-то подобные хотелки по гос.контрактам чтобы данные выгружались не более 3 сек. |
|||
62
Кирпич
22.05.25
✎
07:39
|
(61) " В JSON это все проще, "
А загружать это потом как? SQL Server сам догадается, что в какие таблицы писать? CSV булькнул и готово |
|||
63
ProxyInspector
22.05.25
✎
21:32
|
В JSON однозначно проще и гибче. При желании ваше CSV можно преобразовать в JSON. Размер при этом будет примерно одинаковый. Зато пропадут все проблемы со специальными символами и экранированием. Читать будет не медленнее.
|
|||
64
timurhv
22.05.25
✎
21:53
|
(62) Слон позволяет гибко работать с JSON, помимо этого можно делать запросы SQL к данным файлам JSON, а не линейным таблицам как в MSSQL
|
|||
65
kolts23381
22.05.25
✎
22:41
|
Вот и моя версия на c++
https://github.com/kolts1/1c_converter/tree/main Пока что только исходник, на данный момент нет обработки данных, то есть пишется в csv как есть. Также пока нет обработки экранированных символов, нужно разбираться. Указываем входящий и исходящий файл. |
|||
66
Кирпич
23.05.25
✎
08:50
|
(65) "нет обработки экранированных символов" так там уже всё 1С заэкранировал. Можно тупо копировать, что есть.
|
|||
67
Кирпич
23.05.25
✎
09:02
|
(63)(64) У вас секта какая то чтоли? JSON JSON JSON
|
|||
68
Fish
гуру
23.05.25
✎
09:05
|
(67) Да просто CSV уже практически никто не использует. А JSON быстрый и универсальный. Если он у тебя тормозит - значит, ты не умеешь его готовить.
|
|||
69
laeg
23.05.25
✎
09:22
|
(68) для каждого своя цель.
Как пример для обмена прайсами никому JSON не нужен, а прайсы не редки 1кк +- строк. JSON - сам по себе не может быть быстрым, это механизмы его использующие оптимизированы с ним работать. |
|||
70
Кирпич
23.05.25
✎
09:42
|
(68) CSV используют все. Не выдумывай. Особенно для загрузки во всякие PowerBI и т.п, для которых и нужна быстрая выгрузка из 1С.
|
|||
71
Fish
гуру
23.05.25
✎
09:47
|
(70) Все, кто не осилил более современные и удобные форматы данных. Тот же PowerBI прекрасно работает с XML.
|
|||
72
Кирпич
23.05.25
✎
10:07
|
(71) Ну тогда в какой-нибудь протобуф выгружай. Он пипец какой современный
|
|||
73
Fish
гуру
23.05.25
✎
09:59
|
(72) 1С умеет с ним работать на уровне платформы? Иногда голову желательно всё-таки включать.
|
|||
74
Кирпич
23.05.25
✎
10:04
|
(73) свою голову включи сначала
|
|||
75
H A D G E H O G s
23.05.25
✎
10:16
|
(67) модно, стильно, молодежно.
|
|||
76
Кирпич
23.05.25
✎
10:28
|
(75) "более современные и удобные форматы данных" :) (71)
|
|||
77
Fish
гуру
23.05.25
✎
10:36
|
(76) Прочитай (10) и попробуй подумать. Если не получится, перечитай ещё раз. Понятно, что для ларька, для передачи цен на овощи, вполне хватит и CSV. Но для действительно больших объемов данных, к тому же содержащие что-то сложнее, чем строки типа "Морковка - 10р.", CSV я бы не использовал.
|
|||
78
H A D G E H O G s
23.05.25
✎
10:36
|
(76) карго-культ. Желание подражать java смузихлебам.
|
|||
79
Fish
гуру
23.05.25
✎
10:41
|
(78) Да нет. Всего лишь опыт работы с получением больших объемов данных из различных внешних источников (не 1С). Почему-то никто не передаёт их в CSV.
Наверное, у всех крупных компаний карго-культ :)))) |
|||
80
d4rkmesa
гуру
23.05.25
✎
10:51
|
(68) А ничего, что csv - все еще стандарт в качестве источника для импорта данных аля bulk insert, в различных СУБД? Да даже взять финансовые аппы, везде экспорт-импорт в основном csv. Я вот буквально вчера пилил себе дома импорт из csv для ZenMoney, в 2025. Предыдущая прога тоже csv-only.
(79) Крупные компании передают в чем угодно, от csv и xls, до xml и json. Не стоит думать, что здесь все в ларьках работали всю жизнь. |
|||
81
Fish
гуру
23.05.25
✎
10:49
|
(80) ZenMoney - да, это серьёзный аргумент. Все крупные компании только её и используют. Например, Газпром, РЖД и прочие - всю финотчетность только в ZenMoney ведут. :)))
|
|||
82
Кирпич
23.05.25
✎
11:17
|
|
|||
83
Fish
гуру
23.05.25
✎
10:54
|
(80) "Крупные компании передают в чем угодно, от csv и xls, до xml и json."
Ну вот давненько я не встречал передачи больших объемов данных от крупных компаний в csv, хотя работаю с ними постоянно. Но вы продолжайте теоретизировать. |
|||
84
Кирпич
23.05.25
✎
10:56
|
(78) смузихлёбы тоже уже подозревают, что гонять JSON между сервисами очень накладно
|
|||
85
Кирпич
23.05.25
✎
11:44
|
(83) "большие" объемы получаются из-за xml. Но можно же просто на ночь запустить и нормально. Правда?
|
|||
86
d4rkmesa
гуру
23.05.25
✎
11:03
|
(81) Смешно смотритесь. Мне кажется, прямо сейчас вы с "Газпромом" не работаете. )
Ну давайте без шутовства все-таки, меряться тут, кто с кем работал... Какая капитализация и сравнить с нынешней капитализацией Газпрома (я рад, что не акционер оного ныне). Честно - наплевать в чем там у них отчетность, мне важнее мой дашборд на ZenMoney сделать. csv-один из наиболее распространенных форматов и это факт, а если религия не позволяет с ним работать - это проблемы с вашей религией. |
|||
87
d4rkmesa
гуру
23.05.25
✎
11:02
|
(83) Месье, вы врете. CSV и XLS - были и остаются одними из основных форматов обмена. Но, возможно, мы о разном говорим. Мне пофиг на ваш BI, никогда с ним дело не имел. И миллиарды записей в Elastic не грузил, это да.
|
|||
88
Кирпич
23.05.25
✎
11:01
|
(77) В (10) написана херня. Причем несколько пунктов херни.
|
|||
89
Fish
гуру
23.05.25
✎
11:02
|
(86) А я не говорил, что мне религия запрещает работать с CSV. Вопрос в (0) звучал так: "Самый производительный способ выгрузки во внешние базы данных."
Я дал на него ответ, исходя из личного опыта. Если мой ответ и практический опыт не вмещается в вашу религию - то это проблемы с вашей религией. |
|||
90
Fish
гуру
23.05.25
✎
11:04
|
(87) В овощных ларьках - возможно да. Там, где речь идет о действительно серьёзных объемах данных - CSV не встречал.
|
|||
91
Fish
гуру
23.05.25
✎
11:05
|
(90) А про XLS с его ограничением на количество строк - звучит, как детский сад.
|
|||
92
Кирпич
23.05.25
✎
11:05
|
(89) Ну и какой, по твоему, "Самый производительный способ выгрузки во внешние базы данных."
JSON? JSON это способ? Это же просто текстовый формат, а не способ |
|||
93
d4rkmesa
гуру
23.05.25
✎
11:06
|
(90) Из этого следует, что вы никогда не работали с самыми распространенными СУБД.
Ну вот такая у вас религия, ага. |
|||
94
d4rkmesa
гуру
23.05.25
✎
11:07
|
(90) Овощной ларек - Газпром с нынешней капитализацией.
|
|||
95
Fish
гуру
23.05.25
✎
11:08
|
+(91) Инфа для ларёчников:
https://support.microsoft.com/ru-ru/office/%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D1%85%D0%B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%B8-%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-excel-1672b34d-7043-467e-8e27-269d656771c3 Общее количество строк и столбцов на листе 1 048 576 строк и 16 384 столбца Всего миллион строк - это не объем вообще. Для передачи больших объёмов не подходит от слова совсем. |
|||
96
Fish
гуру
23.05.25
✎
11:09
|
(92) Так и CSV внезапно, это текстовый формат, а не способ :)))
|
|||
97
Fish
гуру
23.05.25
✎
11:11
|
(93) Конечно не работал, успокойся уже. Никто не покушается на твою наивную веру :)))
|
|||
98
Кирпич
23.05.25
✎
11:11
|
(95) Ну добавь еще 100 листов. Excel, кстати, тоже xml. Так что это твой выбор :)
|
|||
99
Кирпич
23.05.25
✎
11:13
|
(96) Вот и я об том же. Нехер тут спорить про форматы, если речь идет совсем о другом
|
|||
100
Fish
гуру
23.05.25
✎
11:13
|
(98) Блин. XML - содержится в формате XLSX, а речь шла про XLS. Ты даже про это не в курсе? :))))
|
|||
101
d4rkmesa
гуру
23.05.25
✎
11:17
|
(97) Так что насчет bulk insert, это тоже для ларьков?
|
|||
102
Fish
гуру
23.05.25
✎
11:20
|
(99) Ну тут не совсем соглашусь. От формата зависит во-первых объем данных, во-вторых скорость разбора данных. Также немаловажно удобство работы с форматом - либо для каждого обмена придется писать новую процедуру разбора, и в случае любого изменения переписывать её, либо использовать более универсальные процедуры выгрузки/загрузки, легко адаптируемые под изменения.
И выбор формата зависит как и от объемов выгружаемых данных, так и от их содержимого. Где-то подойдет CSV, а где-то XML или JSON. в (0), кстати, не озвучены ни объемы данных ни их типы. Так что спор вообще ни о чём. |
|||
103
Кирпич
23.05.25
✎
11:21
|
(100) В XLS 1048576 строк не влезет. Ты в (95) написал про xlsx. В xls 65535 было, если мне не изменяет память
|
|||
104
Fish
гуру
23.05.25
✎
11:22
|
(101) bulk insert можно использовать только внутри компании. Ты извини, конечно, но я не представляю ситуации обмена между различными организациями через bulk insert.
|
|||
105
Fish
гуру
23.05.25
✎
11:25
|
(103) Да? Ну значит, ссылку второпях не ту нашёл.
А 65535 - это вообще детский объём. Но вот товарищ на серьёзных щах утверждал, что это "... XLS - были и остаются одними из основных форматов обмена." :)))) |
|||
106
Кирпич
23.05.25
✎
11:30
|
(102) Ну вот и читай, что сам написал.
Объем - csv меньше чем JSON и XML "Также немаловажно удобство работы с форматом - либо для каждого обмена придется писать новую процедуру разбора" Все БД и аналитические программы всасывают csv как родной. |
|||
107
Кирпич
23.05.25
✎
11:28
|
(105) Ну и правильно говорит. В xls постоянно обмениваются. Это плохо, но это так
|
|||
108
Fish
гуру
23.05.25
✎
11:32
|
(106) Всё-таки попробуй перечитать (10). Похоже, ты так и не понял, что там написано, раз не смог ничего возразить.
|
|||
109
Кирпич
23.05.25
✎
11:33
|
(104) Так ты представь. Всё тоже самое, только в 10 раз быстрее.
|
|||
110
Fish
гуру
23.05.25
✎
11:45
|
(107) Так я же и не спорю, что для небольших объемов данных подойдёт любой формат. Я лишь говорю, что для больших объёмов такой формат не годится. А вы почему-то с этим спорите.
|
|||
111
Fish
гуру
23.05.25
✎
11:34
|
(109) Не представляю крупную компанию, в которой СБ допустит такое. И скорость тут вообще ни при чём. Но в ларьке, вполне допускаю, могут и не такое учудить :)))
|
|||
112
Кирпич
23.05.25
✎
11:35
|
(108) В (10) написана херня. Просто пердок в лужу.
|
|||
113
Fish
гуру
23.05.25
✎
11:37
|
В общем, всё, как обычно. Набежали ларёчники и стали доказывать, что их тормозные, трудозатратные в реализации и костыльные способы обмена (хотя на их объемах разницу вообще не заметишь) - самые лучшие :)))
Но религия - вещь серьёзная. |
|||
114
Fish
гуру
23.05.25
✎
11:37
|
(112) Обосновать по пунктам можешь или ты даже не понял, что там написано?
|
|||
115
d4rkmesa
гуру
23.05.25
✎
11:40
|
(105) Ты зациклился на своих задачах. Обмены на xls-ках и SFTP - пока еще существуют, как бы всем это не нравилось. Разумеется, там не миллионы записей в одном файле, там куча файлов с <65565 строк. Но раз выгружает условный Юнилевер ларькам данные в таком виде, значит, не всегда могут даже в XML сделать. Хотя уже даже ларьки как раз просят json, так как любой Вася умеет с ним работать.
|
|||
116
Кирпич
23.05.25
✎
11:39
|
(110) вот xml и json это для маленьких объемов. А миллионы записей заливаются более простыми форматами. Чем проще формат, тем быстрее заливается. Это же очевидно. CSV гораздо проще JSON и XML.
|
|||
117
rsv
23.05.25
✎
11:42
|
(113) когда сутки устанут выгружать в файлик любого формата , тогда и бэкапскульный с нарочным на диске за радость будет.
|
|||
118
Кирпич
23.05.25
✎
11:44
|
(114) Ты думаешь, если ты не понял, что там написано, то и другие не поняли?
|
|||
119
Fish
гуру
23.05.25
✎
11:45
|
(116) Не вижу смысла даже спорить, раз ты не осилил ответить на вопросы, озвученные в (10).
Когда столкнёшься с реальными данными, тогда и поговорим. |
|||
120
Кирпич
23.05.25
✎
11:52
|
(119) Ой мля. Да о чем с тобой разговаривать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |