Имя: Пароль:
1C
1С v8
1c8 ХранилищеЗначения - СжатиеДанных(х)
,
0 new_hope
 
28.03.20
00:29
Доброй ночи бодрствующим :-)

Подскажите, в каком случае и как правильно использовать СжатиеДанных(х) при записи текстовой информации в ХранилищеЗначения. Что-то никак не нашел толком информации по этому поводу. Не - нашел, что _можно_ использовать, но как и в каких случаях еффективно?

Бывают случаи, когда создаешь ZIP архив, и в результате получаешь архив больше, чем исходный файл (особенно касается маленьких файлов)

В данном моем случае, мне нужно записывать текст-овые элементы в ХранилищеЗначения (по примерно 2-3 кБт за один раз). Текст сжимается очень хорошо. Но, какую цифру лучше в моем случае использовать в качестве параметра (Х):

ЭлементХранилища = Новый ХранилищеЗначения(_МойТекст_Переменная, Новый СжатиеДанных(Х));

Что вместо "Х" будет самым оптимальным? Или в моем случае вообще не использовать второй аргумент, то-есть так:
ЭлементХранилища = Новый ХранилищеЗначения(_МойТекст_Переменная);

Дело в том, что ежедневно будут сотни таких документов, по 2-3 килобайта нормально набежит.
1 palsergeich
 
28.03.20
00:42
(0) Не храни в БД мой тебе совет.
В БСП есть совершенно чудная подсистема хранения файлов в томах на диске.
2 palsergeich
 
28.03.20
00:46
Ибо рано или поздно, но чаще всего рано,ь если эту помойку не чистить - вжух и база весит пару ТБ. И тебя просят что нить придумать.
Ибо на скуль ставят дорогие диски.
А для файлопомойки куда как проще оборудование.
Это очень рисково. Я по молодости тоже хранил в БД, и всегда дело кончалось тем, что это все переезжало в файлопомойку в итоге.
3 palsergeich
 
28.03.20
00:47
(0) А если тебя не переубедить - то 9 это максимальное сжатие.
4 new_hope
 
28.03.20
15:02
(1) Так это не файлы, это несколько полей текстовых с хаотичной текстовой информацией. А если точнее 8 полей в каждом поле до 200 символов. Могут иногда вовсе не заполняться или в хаотичном порядке.

Храню все 8 полей в ОДНОМ реквизите документа типа "ХранилищеЗначения"

По ним не нуже поиск, они не учавствуют в запросах. Эта инфа должна быть и нужна как информация только в открытом на просмотр документе, и, возможно для печати. Все.

Может тогда посоветуйте более красивое решение?
5 palsergeich
 
28.03.20
15:08
(4) Воткни доп реквизиты тогда
6 palsergeich
 
28.03.20
15:09
особо ничего не выиграешь на таких микро данных, а геморроя потом не оберешься
7 new_hope
 
28.03.20
15:10
(5) воткнуть в документ 8-мь реквизитов типа "строка.200"? Если да - то в чем преимущества? И как это поможежет экономить размер занимаемого места в базе?
8 palsergeich
 
28.03.20
15:11
(7) Перимущества в легком доступе к ним.
На таких микроданных ты особо ничего не ужмешь просто, а програмный доступ и читаемость - усложнишь.
9 new_hope
 
28.03.20
15:12
(6) под гемороем - имеется ввиду размер базы, или есть еще нюансы в хранении такими способом?
10 new_hope
 
28.03.20
15:16
(8) Да, понял...

Просто в случае, если нужно будет добавить 9-е поле, то все добавляется без реструктуризации БД... Или если удалить 3 поля (оставить 5) то они удалятся также без реструктуризации базы. И главное - в старых документах можно будет прочитать все 8 полей. В новых уже 5 будет

Ну я сам себе такое подумал... Могу конечно жестко ошибаться
11 palsergeich
 
28.03.20
15:16
(9) Еще раз говорю.
Сжатие это штука которой нужны данные для простроения алфавита и ТД.
Я взял 200 символов только что и сжал их раром максимально. Размер архива стал в 2 раза больше исходного файла.
Что ты там экономить собрался?
12 palsergeich
 
28.03.20
15:17
(10) Ты был лучше над архитектурой подумал. Ибо то, что у тебя сейчас - это путь в ад.
13 new_hope
 
28.03.20
15:19
(11) ничего. Просто изначально спрашивал, как правильно использовать СжатиеДанных(х)... И интересовался, возможно в моем случае его лучше вообще и не использовать. Ну и по ходу - хорошо, если есть и другие советы
14 palsergeich
 
28.03.20
15:22
(13) Сжатие использовать можно.
Только смысла особого ИМХО нет.
Ибо сжатие данных - это алгоритм Deflate, он одна из ветвей от ZIP для беглой оценки пользы - можешь зипом проверить - даст что нить или нет
15 new_hope
 
28.03.20
15:23
(12) То, что там планируется храниться - текстовая информация, необходимая "сейчас и здесь". После завершения события, она нужна как справочная информация "на всякий случай"... Но даже если ее удалить, или сама "удалиться" - нет ничего страшного, но пусть лучше будет.
Все ценное - в реквизитах.

Вот я так и решил ее хранить.
16 new_hope
 
28.03.20
15:23
(14) Спасибо за советы
17 такт
 
28.03.20
15:34
можно поле Строка, поля в json
18 такт
 
28.03.20
15:35
+17 и не в самом документе, а РСв
19 Сияющий в темноте
 
28.03.20
23:50
если она потом не нужна-пишите в журнал регистрации.
20 Cyberhawk
 
29.03.20
09:47
"изначально спрашивал, как правильно использовать СжатиеДанных(х)" // Ну хорошо что хоть не спрашиваешь, "Как правильно использовать Перем"
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший