Имя: Пароль:
1C
 
SQLite: прекращение поддержки формата
0 Жан Пердежон
 
26.08.21
12:24
1. SQLite не нужен 64% (16)
2. Даёшь больше форматов, главное - выбор! 16% (4)
3. Другое 16% (4)
4. Оставить SQLite 4% (1)
Всего мнений: 25

На днях вышла новость:

1C:Предприятие поддерживает два формата ведения Журнала регистрации: SQLite (файлы с расширением .lgd) и последовательный (набор файлов с расширениями .lgf, .lgp и.lgx). К  настоящему времени Компания 1С провела значительную оптимизацию работы ЖР в последовательном формате. Мы рассматриваем возможность прекращения поддержки формата Журнала регистрации SQLite (файлы с расширением .lgd) и поддерживать работу только с последовательным форматом. Прежде чем принять это решение мы хотим собрать информацию от пользователей наших продуктов, чтобы сделать возможный процесс отказа от SQLite наиболее безболезненным.

https://wonderland.v8.1c.ru/blog/opros-zhurnal-registratsii-vozmozhnoe-prekrashchenie-podderzhki-formata-sqlite/

Как считаете, в нём есть необходимость?
1 ДенисЧ
 
26.08.21
12:27
Ни жарко, ни холодно.
На рабочих базах уже лет несколько нет его у меня.
2 Bigbro
 
26.08.21
12:28
во всех случаях когда приходилось настраивать логи, резать и копаться в них - приходилось использовать "старый" формат.
бывало когда базы доставались в наследство с новым, или просто забывали поменять - было печально при попытках что-то отыскать.

SQLite не нужен
3 fisher
 
26.08.21
12:28
Джун какой-то его запилил, а техлид почему-то прохлопал.

SQLite не нужен
4 Жан Пердежон
 
26.08.21
12:32
Моё мнение: для логов главное - быстрая запись, а всякие SQLitы её уж точно не ускоряют

SQLite не нужен
5 fisher
 
26.08.21
12:38
(4) А еще надежность ниже и грануляцию/ротацию не настроить.
6 Garykom
 
гуру
26.08.21
12:40
Почему не писать логи в обычном json формате?
7 Garykom
 
гуру
26.08.21
12:41
Да

Даёшь больше форматов, главное - выбор!
8 ДенисЧ
 
26.08.21
12:42
(5) Чего это ротацию-то не настроить?
9 oslokot
 
26.08.21
12:42
На файловых жестко тормозит

SQLite не нужен
10 fisher
 
26.08.21
12:46
(8) Через сокращение? Такое себе. С гранулированными файликами всяко удобнее.
11 Вафель
 
26.08.21
12:47
нет чтобы коннектор написать и подключать к любой базе
12 H A D G E H O G s
 
26.08.21
12:49
Мертворожденное дитя смузевых родителей.

SQLite не нужен
13 pavig
 
26.08.21
12:52
(0)
Кто-то может объяснить, для чего его вообще делали?
14 1Сергей
 
26.08.21
12:53
(13) шоб не тормозило
15 pavig
 
26.08.21
12:53
Лично мне всё равно, какой формат.

Другое
16 pavig
 
26.08.21
12:53
(14)
Имеется ввиду для ускорения чтения?
17 fisher
 
26.08.21
12:54
(13) ЖР сделали как недо-ТЖ и по засратому вусмерть логу долго искать было. Чья-то "светлая" голова сказала - "так давайте БД прикрутим! Я слыхал там быстро ищет".
18 1Сергей
 
26.08.21
12:55
(16) да
19 shuhard
 
26.08.21
12:55
(0) ну его

SQLite не нужен
20 Вафель
 
26.08.21
12:56
Его сделали чтобы индекс самим не строить. Но потом одумались и осилили индекс и для текстового файла
21 pavig
 
26.08.21
12:56
Ну цель благая была значит.
22 fisher
 
26.08.21
12:57
(21) С отключенной головой все благие намерения приводят известно куда.
23 Вафель
 
26.08.21
12:57
нужно было конечно не скл лайт прикручивать, а кликхаус какой нибудь
24 fisher
 
26.08.21
12:58
(23) Еще один из (12)
25 1Сергей
 
26.08.21
12:59
Вам хорошо тут сидеть и рассуждать чего стоило делать 1С, а чего не стоило
26 fisher
 
26.08.21
12:59
(23) Для агрегаторов логов хоть что угодно прикручивай. На здоровье. А для первичных логов только плоские файлы имеют право на существование.
27 pavig
 
26.08.21
13:00
(23)
Тоже так подумал.
Но потом передумал.
28 pavig
 
26.08.21
13:00
(27)
я про себя
29 Вафель
 
26.08.21
13:00
(27) клик хаус как раз и нужен для сбора плоских логов
30 1Сергей
 
26.08.21
13:01
(26) когда текстовый файлик переваливает за 100 Гб, работать с ним становится проблематично
31 fisher
 
26.08.21
13:02
(29) В том числе. Но не для первичного логирования.
32 Вафель
 
26.08.21
13:02
все таки у яндекса "журнал" куда больше чем у любой базы 1с
33 fisher
 
26.08.21
13:04
(32) Передаю по буквам. Кликхаус используют для агрегации логов а не для первичного логирования.
34 ansh15
 
26.08.21
13:06
(30) Может, встроенный механизм работы с ЖР недостаточно эффективный и компы, на которых с ним работают, не соответствуют поставленной задаче?...
35 1Сергей
 
26.08.21
13:07
(34) первое. Поэтому придумали вести логи в скулайте
36 Вафель
 
26.08.21
13:08
текстовый файл никак не может быть лучшим решением - ибо он не структурирован.
а жр очень даже структурирован
37 Вафель
 
26.08.21
13:08
бинарный формат конечно же бы имел выигрыш
38 Bigbro
 
26.08.21
13:09
(30) а зачем нужны цельнотекстовые файлы логов в 100 Гб?
какая религия запрещает эти файлы дробить по годам, месяцам, дням в конце концов до достижения адекватного размера?
39 fisher
 
26.08.21
13:09
(30) Никто не логирует в один мегафайл. Его банально неудобно сопровождать. Настраивается разбиение по файликам-периодам в зависимости от нагруженности базы.
40 fisher
 
26.08.21
13:11
(38) На нагруженных базах слышал что вообще файлик-час настраивают. ну а мы по дням бъем.
41 1Сергей
 
26.08.21
13:12
(39) ты мне скажи что за рыб такой "первичное логирование" и чем он отличается от вторичного?
42 Вафель
 
26.08.21
13:12
вообще есть целое направление в БД
https://en.wikipedia.org/wiki/Time_series_database
43 fisher
 
26.08.21
13:18
(41) Ну первичное - это непосредственный лог программы. Локально на хосте где работает программа в плоский файл. Это максимально быстро и максимально надежно. Поэтому именно так. Логи должны быть источником информации о сбоях, а не причиной сбоев. Но это ясен пень не очень удобно для централизованного анализа. Поэтому в серьезных системах эти данные из первичных логов (часто с разных хостов) подсасывают в системы агрегации логов имеющие внутри какие-нить БД где уже и индексация и анализ и сопоставление по каким хочешь критериям и с разных хостов удобно взаимовлияющие логи сопоставлять и вся хурма короче.
44 dmpl
 
26.08.21
13:21
(0) Нужна возможность штатно использовать любую СУБД SQL.

Другое
45 fisher
 
26.08.21
13:23
(43) + Поэтому первичные логи еще часто бьют на файлики по периодам и автоудаление старых периодов настраивают, не очень глубокое. В итоге они не могут быть даже причиной сбоев по причине переполнения диска. А в агрегаторах уже держат нужной глубины.
46 dmpl
 
26.08.21
13:23
(4) Основная проблема текущей реализации - полная блокировка операций при выборке данных.
47 dmpl
 
26.08.21
13:26
(14) Но у них это не получилось ;)
48 trdm
 
26.08.21
13:31
Нахрена вобще ЛОГАМ БД???? Файла с маркерами хватит за глаза..

SQLite не нужен
49 Garikk
 
26.08.21
13:46
А можно и эластик было бы подключить
у нас юзали на прошлой работе как систему логирования и поисков по логам, мегаудобная штука

SQLite не нужен
50 mistеr
 
26.08.21
13:52
Пусть будет, я считаю.

Только спецификацию формата желательно открыть полностью. Да, и последовательного формата тоже.

Даёшь больше форматов, главное - выбор!
51 Гобсек
 
26.08.21
13:52
..

SQLite не нужен
52 ansh15
 
26.08.21
14:07
Многопоточность есть при поиске по ЖР, в клиент-серверном варианте? Искать, когда известна дата, хотя бы месяц, несложно. А когда надо за год найти, что делали с документами и файлы журнала за месяц 10-15 ГБ, то будет совсем небыстро.
Если нет, надо предусмотреть. Пересчет итогов же сделали многопоточным, в 8.3.20, кажется..
53 Dmitrii
 
гуру
26.08.21
14:09
(43) >> в серьезных системах эти данные из первичных логов (часто с разных хостов) подсасывают в системы агрегации логов имеющие внутри какие-нить БД где уже и индексация и...

Кстати говоря, наилучшим вариантом был бы как раз какой-нибудь конвертер от 1С, который позволял бы конвертировать последовательные текстовые логи в формат БД. Быть может даже с возможностью выбора разных форматов СУБД и полноты выгружаемых данных.
Только ждать такого решения от 1С не приходится. Т.к. 99% пользователей вполне удовлетворяет текущий журнал. Оставшийся 1% сами выкручиваются или не являются для 1С целевой группой ради которой стоит сильно заморачиваться.
54 ansh15
 
26.08.21
14:10
_

Даёшь больше форматов, главное - выбор!
55 Конструктор1С
 
26.08.21
14:16
(0) на поверку ЖР под SQLite оказался узким местом, снижающим производительность всей системы. Они изначально был ошибкой эволюции

SQLite не нужен
56 Dmitrii
 
гуру
26.08.21
14:17
Интересно, что нет ни одного голоса за п. 1. "Оставить SQLite". Это явно о чем-то говорит.
57 Конструктор1С
 
26.08.21
14:18
(56) большинство не пробовали, кто попробовал - разочаровались
58 Конструктор1С
 
26.08.21
14:20
(14) https://wonderland.v8.1c.ru/blog/kak-my-uluchshili-zhurnal-registratsii/

они хотели ускорить чтение ЖР, но подзабыли, что ещё есть скорость записи в ЖР
59 Ботаник Гарден Меран
 
26.08.21
14:21
В почту опрос прислали.
Проголосовал.

SQLite не нужен
60 Chai Nic
 
26.08.21
14:27
ЖР надо разделить на два. Один, в который пишутся события до логина - сделать как сейчас. Второй - должен хранится в самой базе, используя механизмы нативной СУБД. Чтобы при восстановлении из бэкапа или переносе sql-базы не терялись события.

Другое
61 fisher
 
26.08.21
14:29
(58) > ...и повысить надёжность хранения данных
https://i.gifer.com/51RG.gif
62 Dmitrii
 
гуру
26.08.21
14:31
(58) Цитата из статьи по ссылке.
"...скорость однопоточной записи тоже немного ускорилась. А вот скорость многопоточной записи возросла почти в полтора раза. Как в файловом варианте, так и в клиент-серверном."

Возникают вопросики. Как тестировали? Что изменилось?
Ведь судя по той статье SQLite явно должен был выигрывать по сравнению с последовательным форматом.
63 fisher
 
26.08.21
14:32
(57) В смысле - большинство не пробовали? Долгое время это был дефолтовый формат.
64 fisher
 
26.08.21
14:35
Причем даже человеческой возможности переключиться на файловый формат не было. Только подкладыванием пустого файла с нужным расширением. Мол скулайт - наше все, а файловый формат - это прошлое.
А теперь упс - нет. Таки будущее.
65 Djelf
 
26.08.21
14:36
Во первых они не умеют готовить sqlite, даже режим wal не включили, а он дает резкое ускорение записи.
Во вторых они не прочитали в руководстве по sqlite что по сети его использовать нельзя - база может разрушится.
Да, я знаю что запускать файловую по сети это редкое извращение, но некоторые ххх же так работают!
В третьих можно было бы новый гибридный формат lgp/lgx и в sqlite реализовать, т.е. писать сырые данные в таблицу без индексов, а потом раскидывать по разным таблицам уже по фэншую.

Раз ничего из этого не осилили то sqlite в 1С не нужен.

SQLite не нужен
66 Адинэснег
 
26.08.21
14:38
29.10.2013
Как мы улучшили журнал регистрации
Реализовано в версии 8.3.5.1068.
🤣
67 fisher
 
26.08.21
14:41
(62) Вероятно, они даже в текстовых логах умудрились заложить "громадный потенциал для оптимизации".
68 fisher
 
26.08.21
14:51
(53) Сомнительная плюшка. Агрегация логов 1С нужна немногим и кому надо - легко прикрутит без посторонней помощи.
69 timurhv
 
26.08.21
14:53
Когда снимут с поддержки 8 и вернут 7.7? :)

SQLite не нужен
70 Klesk
 
26.08.21
15:11
сейчас ЖР ломается раз в год, даже база перестает запускаться, пользуюсь тоже раз в год, для остального есть версионирование
ЖР нужен в платформе, но не такой как сейчас

SQLite не нужен
71 timurhv
 
26.08.21
15:26
По ЖР я смотрю раз в неделю все ошибки.
Некоторые отчеты администратора на нем завязаны: по длительности работы регламентных, количеству пользователей.
72 DGorgoN
 
26.08.21
15:38
Удалите уже вообще это анахронизм и встройте журнал в БД.

Другое
73 mistеr
 
26.08.21
15:44
(60) >Чтобы при восстановлении из бэкапа или переносе sql-базы не терялись события.

Чтобы при бездумном/криворуком восстановлении не терялись события, журнал и должен быть отдельно.
74 Dmitrii
 
гуру
26.08.21
15:47
(68) >> Агрегация логов 1С нужна немногим и кому надо - легко прикрутит без посторонней помощи.

Кому надо - так и делают. С этим согласен. Но, учитывая закрытость формата ЖР, это костыль, который в любой нестандартной ситуации может отвалиться.
Было бы проще и надёжнее, если б вендор сам поставлял соответствующее решение. Тем более, что конвертор в SQLite и обратно уже существует. Как и методы самой платформы для выгрузки и копирования записей ЖР.
75 vde69
 
26.08.21
16:07
попробуйте в ЖР размером в 100 гигов открыть форму просмотра на двух компах одновременно.... сервер падает...

100 гигов это еще не очень большой ЖР.....

Оставить SQLite
76 ildary
 
26.08.21
16:16
(73) С другой стороны - при криворуком восстановлении уже будет не до журнала.
77 1Сергей
 
26.08.21
16:32
(43) Для этого существует журнал событий шиндовс. не?
78 TormozIT
 
гуру
26.08.21
16:52
Смерть SQLite. Теперь то с появлением индексов у родного формата журнала...

SQLite не нужен
79 acht
 
26.08.21
18:01
(72) > встройте журнал в БД.
Чтобы можно было внутри транзакции в него писать, а потом откатывать, точна-точна.
80 acht
 
26.08.21
18:03
Поигрались и хватит.

SQLite не нужен
81 dmpl
 
26.08.21
21:45
(52) В случае SQLite поиск очень часто не попадает в индекс, и начинается полное сканирование в 1 поток. Но это все фигня. Не фигня то, что во время этого полного сканирования система не может записать события в журнал - и все, что приводит к записи событий в журнал, встает до завершения этого запроса на чтение.
82 dmpl
 
26.08.21
21:51
(58) Проблема не в скорости записи, а в блокировках. Запись на время чтения блокируется. Это самое фатальное.

(62) Как обычно - тестировали на небольшой базе в ограниченном количестве сценариев. А в реале размер журнала вырастает до нескольких Гб и больше, и при поиске в ЖР с неудачными отборами оно начинает полное сканирование таблицы со скоростью 20-30 Мб/с (упираясь в процессор), при этом останавливая всю работу в базе, т.к. блокировка не позволяет записывать новые события в базу.
83 Жан Пердежон
 
27.08.21
00:22
(81) откуда инфа? звучит как бред
84 Конструктор1С
 
27.08.21
05:43
Лучше бы взяли архитектуру журнала транзакций sql server
https://docs.microsoft.com/ru-ru/sql/relational-databases/sql-server-transaction-log-architecture-and-management-guide?view=sql-server-ver15#transaction-log-logical-architecture

все изменяемые данные прекрасно складываются в один журнал транзакций, и это дело не тормозит с увеличением нагрузки
85 DrZombi
 
гуру
27.08.21
06:41
Что SQL-лайт, что текстовый файл, все висит и тормозит, а так же не предоставляет полную информацию в штатном журнале УФ :)

Даёшь больше форматов, главное - выбор!
86 dmpl
 
27.08.21
07:37
(83) От недовольных пользователей, у которых все встало колом, когда программист 1С запустил невинный поиск по ЖР на 100 Гб.
87 dmpl
 
27.08.21
07:37
+(86) Такая же фигня будет и со старым форматом без разделения.
88 Chai Nic
 
27.08.21
08:16
(73) Не понял вашу логику. Если журнал хранится в базе, то при любом восстановлении/переносе он сохранится. Если отдельно, где-то в невнятном каталоге с именем абракадаброй - риск его не найти в рухнувшем сервере или просто забыть для переноса резко возрастает.
89 fisher
 
27.08.21
09:17
(83) Может и не совсем бред. С чем-то похожим я сталкивался. Скулайт пишет в один поток а читать может в несколько. Но в ЖР есть одна неприятная штука - отслеживание успешности транзакций. То есть после фиксации транзакции программе необходимо пройтись по всем записям ЖР этой транзакции и поменять в них статус. И вот на этом моменте, КМК, возможны коллизии на больших транзакциях с параллельным чтением.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой