Имя: Пароль:
1C
1C 7.7
v7: файловое хранилище для сканов
,
0 irina2002
 
14.12.15
15:30
доброго времени суток
есть задача организовать хрранение файлов (сканов документов) с оптимизацией доступа по быстродействию. база данных - ТиС 7.7
ваши предложения?
1 Сержант 1С
 
14.12.15
15:32
ждем гусар
2 vde69
 
14.12.15
15:33
для начала определитесь с количеством файлов (например за 10 лет) и максимальным размером одного файла....

например у меня стоит ограничение 0.5 метра на 1 файл, этого хватает на хороший скан А4
3 vde69
 
14.12.15
15:34
ну вопрос второй

бекапы делать надо ?
4 Tarlich
 
14.12.15
15:37
Больше всего заставило задуматься "с оптимизацией доступа по быстродействию." ..... - это что означает?
5 Сержант 1С
 
14.12.15
15:37
и вде поддал перчику про бекапы ;)
6 Tarlich
 
14.12.15
15:47
первое что пришло в голову DROPBOX - можно на каждом компе поставить и путь "c:\dropbox\pic" и тогда по сети не будут гоняться файлы , не надо думать про бекап  ....
7 Mikeware
 
14.12.15
15:53
(1) "Гусары - они, сударыня, вообще грубияны. они даже коз - того-с"©
8 Mikeware
 
14.12.15
15:54
(4) ну, есть вариант хранить в сиквельной базе образы... это - не лучший по быстродействию вариант
9 Лефмихалыч
 
14.12.15
16:01
>ТиС 7.7

да твою ж...
10 Mikeware
 
14.12.15
16:05
(9) ачо? "пока работает - не трожь!"
я вот тут узнал недавно, что в одной конторке БЭСТ без пригляду проработал аж до 2014 года...
11 vde69
 
14.12.15
16:06
(6) у меня в 7.7 файлы хранились внутри базы, это избавляло от проблем бекапа и проблемы релакации окружения тестовой копии базы.

но то было у меня и было в скуле и там ограничений много было...
12 IVT_2009
 
14.12.15
16:10
сетевая папка , в базе имена файлов просто прописаны а путь в настройках. Объемы десятки тысяч сертификатов по 3-5 листов. Пять лет полет нормальный
13 Fedor-1971
 
14.12.15
16:11
(0) Если есть домен, то можешь развернуть NFS (сетевая файловая система), по сути куча расшаренных ресурсов собранных в вид каталога, есть возможность синхронизации каталогов.
Т.е. решаешь проблему быстродействия раскладывая файлы оптимальным для доступа способом и одновременно, если хочешь, делаешь ночную синхронизацию папок.
И остаётся реализовать хранение пути к файлу. Это уж как нравится.
14 vde69
 
14.12.15
16:15
(12) только разграничение прав сделать не реально...
зная путь одного файла я имею доступ ко всем файлам... причем полный доступ, с право стереть все (или в случае с вирусами - зашифровать)
15 Fedor-1971
 
14.12.15
16:19
(14) ну если с этой точки зрения - можно реализовать принцип FTP положили во входящую папку, автомат забрал в исходящую. Вход доступ на запись, выход, доступ на чтение и пусть себе стучатся в попытках удалить (зашифровать, напакостить) .
16 irina2002
 
14.12.15
17:37
(8) с этого места поподробнее . это будет медленнее, чем обращение к файлу напрямую? при прямом доступе будут проверяться полномочия пользователя, а через СКУЛь - нет..
17 Mikeware
 
14.12.15
17:39
(16) при прямом досупе к файлу, естественно, все быстрее.
а полномочия.... если руки прямые, то тогда при хранении в базе возможностей контроля доступа гораздо больше.
18 Jump
 
14.12.15
17:40
(16)Файловая система это БД оптимизированная для хранения файлов
Скуль это БД оптимизированная для хранения данных.
19 Jump
 
14.12.15
17:41
(16) Какое именно быстродействие вас интересует?
Множественный доступ, большого количества пользователей? Быстрый поиск?
20 irina2002
 
14.12.15
17:43
(6) мне понравился вариант с дропбокс, если не надо покупать лицензию и давать дропбоксу выход в интернет
21 Jump
 
14.12.15
17:44
Доступ будет всегда через 1с, или возможно напрямую?
22 Jump
 
14.12.15
17:46
(20) Дропбопокс? Платный сервис для таких целей?
Если уж нужна синхронизация, то проще поставить BtSync.
Ибо бесплатно и данные под контролем, на своей инфраструктуре.

Только какое это отношение имеет к вопросу заданному в (0) непонятно.
23 irina2002
 
14.12.15
17:46
(21) из 1С. напрямую... наверно, нет. имена файлов генерируются случайным образом.
24 Jump
 
14.12.15
17:48
(23) Выделяете диск, или папку для этих целей, организовываете структуру, чтобы не валить все в одну кучу.
Группируете по дате, или по смыслу. В 1с храните путь от корня хранилища.
25 Jump
 
14.12.15
17:49
Если важен множественный доступ, т.е много народу одновременно будут активно читать и писать эти сканы, то диск следует форматировать с максимально возможным размером кластера.
26 irina2002
 
14.12.15
17:54
(13) сетевая работа в домене. пользователи в терминалках. резервировать файлы не нужно - есть бумажные копии.
27 supremum
 
14.12.15
17:54
(0) Используем FileStream на MS SQL 2008
28 irina2002
 
14.12.15
17:57
дропбокс отпадает, так как хранит файлы в облаке и имеет ограничение на объем информации.
теперь давайте разберемся, почему через mssql неоптимально.
29 Jump
 
14.12.15
17:57
(26) Тогда просто файловая шара, доступная по сети всем кому надо, с прописанными правами, и структурой каталогов для хранения сканов.
30 supremum
 
14.12.15
17:57
+(27) Сканы зашиваются в PDF, скан обычно не более 100 КБ, файлов 1500, открываются быстро.
31 irina2002
 
14.12.15
17:58
(27) в чем профит FileStream?
32 Mikeware
 
14.12.15
17:59
(28) есть 100500 способов.
мы уже разобрались, "почему так оптимально, а сяк - неоптимально". а вам - не поможет...
33 Jump
 
14.12.15
17:59
(28) По той простой причине, что это большой объем информации прогоняемый через SQL.
А MSSQL обычно ставят для других целей.
Поэтому будем хранить файлы - и ресурсы железа будут работать на файлы, а не на 1c/
34 irina2002
 
14.12.15
18:00
(32) с чем связана твоя нервозность?
35 Mikeware
 
14.12.15
18:01
(34) это не нервозность, а констатация факта...
36 supremum
 
14.12.15
18:02
(33) Миф. Файлы в этом случае хранятся в отдельном каталоге. В  таблицах хранятся ссылки.
37 irina2002
 
14.12.15
18:03
(32) один спец из нашей конторы с большим авторитетом у руководства предложил mssql и прямой доступ к базе через объект ADODB.RECORDSET. мне надо пояснить, почему файловая шара лучше.
кстати, сеть в конторе слабая. один терминал там, другой сям ))
38 irina2002
 
14.12.15
18:05
(36) совершенно верно. так и предложил сделать наш суперспец.
39 Jump
 
14.12.15
18:05
(36) При доступе к файлу задействуются ресурсы SQL сервера.
А эта вещь дорогая, ее очень дорого масштабировать.
40 Jump
 
14.12.15
18:07
(37) Ну файл все равно придется гнать по сети.
Какой бы вариант хранения вы не выбрали.
41 supremum
 
14.12.15
18:09
42 Jump
 
14.12.15
18:09
Если филиалы расположены далеко, а сеть между ними очень слабая, нужно организовывать персональное хранилище для каждого филиала.
43 romix
 
14.12.15
18:10
(0) В Википедии файлы хранятся путем раскладывания по папкам 2 или 3 уровней, имя которых формируется как кусок MD5-функции от имени файла. MD5 можно в 7-ке извлечь (надо погуглить как). Затем отрезать кусочками и формировать из них структуру подпапок.
44 Злопчинский
 
14.12.15
18:17
у мну: лежит вне базы.
картинки товаров: > 4000шт, 70 мб
сертификаты/декларации: >600, 520 мб

ни проблем с бэкапами, ни с печать, ни сотсылкой клиентам (из 1С) - нет.
45 Злопчинский
 
14.12.15
18:18
46 Злопчинский
 
14.12.15
18:19
http://catalog.mista.ru/public/15239/
[IMAGE] Шоу "За лупой" (просмотр и установка привязки товар-изображение) - я этих привязок разным клиентам в разных видах (вплоть до подбора товара по изображенимя) - обписался уже, тошнит
47 Злопчинский
 
14.12.15
18:20
http://catalog.mista.ru/public/16038/
[IMAGE] Просмотр, масштабирование и скроллинг картинок
48 Злопчинский
 
14.12.15
18:21
http://catalog.mista.ru/public/17125/
[ОБУЧАЛОВКА] Каким макаром к номенклатуре привязать картинку...?
49 irina2002
 
14.12.15
18:24
(48) любишь эпатировать? ты немного не в тему. файлы в PDF. система работает; ничего переделывать не надо. оптимизируем доступ к файлам.
50 irina2002
 
14.12.15
18:26
с интересом рассмотрю примеры разработок под filestream в mssql
51 Злопчинский
 
14.12.15
18:29
(49) да мне пофиг - эаптировать или нет. мне что пдф, что пнг, что дежавю - один хрен  "файлы". Хранить их - кому как надо - так и хранит, в зависимости от нужд. Выходить на форум с вопросами когда для себя все уже решено - нафейхоа оно надо? то что не по душе =- отвергнешь, то что легло на душу - примешь. вот и весь профит
52 oleg_km
 
14.12.15
18:40
Храним образы (сканы, эл письма, вложенные файлы, и вообще хранилища значений) в отдельной базе MS SQL Server. Размер уже более 500 ГБ.
53 Злопчинский
 
14.12.15
18:56
(52) и это барахло кому-нибудь надо? у нас менеджеры цифровой контент генерят с дикой скоростью, а убирать его - никто не убирает...
54 H A D G E H O G s
 
14.12.15
19:01
55 Garykom
 
гуру
14.12.15
19:14
сделать свою веб файло картинко помойку на апаче и юзать ее по http
56 romix
 
14.12.15
22:05
(54) Здесь примерно так же через MD5 хеш https://www.mediawiki.org/wiki/Manual:$wgHashedUploadDirectory
57 irina2002
 
14.12.15
22:34
(56) почему нельзя помещать все файлы в одну папку?  интерактивного доступа не предполагается. поиска по папке не будет.
NTFS ведь тоже индексирует файлы, как и SQL.. так что по скорости доступа разницы не будет.
58 Garykom
 
гуру
14.12.15
22:37
(57) ммм принцип каталога?
у файловой системы есть некая "база данных файлов" чем больше там записей то тем медленнее (возможно) найти/получить нужную запись одного файла
59 irina2002
 
14.12.15
22:43
(58) я так думаю, работа с индексами одинакова что в файловой системе, что в СУБД. или MSSQL справляется с индексами лучше?
60 Garykom
 
гуру
14.12.15
22:48
(59) причем тут индексы?

вот у Вас на полке 10 книг, сколько нужно времени чтобы достать 10? стоя перед полкой

а в хранилище 10 миллионов книг... сколько нужно времени чтобы, стоя перед входом в хранилище, достать 9 999 999-ю?
61 irina2002
 
14.12.15
23:00
(60) в среднем К * log(2)(10,000,000)
к - скорость обращения к индексному полю
62 oleg_km
 
14.12.15
23:13
(53) Там никогда не угадаешь, что именно понадобится. А там еще образы версионных документов

(59) А ты попробуй создай папку с миллионом файлов. А потом попробуй копирование, бакапы и прочие административные операции. Но я не навязываю. Просто уже богатый опыт
63 EvgeniuXP
 
14.12.15
23:14
(14) ограничь на уровне домена.
64 irina2002
 
14.12.15
23:15
(62) согласна.
65 Jump
 
14.12.15
23:28
(59) Работа с индексами реализована по разному, даже в разных файловых системах, чего уж говорить про совершенно другие бд типа mssql.
66 FN
 
15.12.15
01:41
У себя для хранения файлов с привязкой к товарам сделал так:
Из 1С стучусь в "облако" по http - отправляю список штрихкодов. В ответ получаю список файлов. Если файлов в локальном кеше нет (каталогиб или allusers\pictures - по ситуации)  - скачиваю файлики в кеш. Отдельная форма для привязки новых файлов и заливки в веб.

само "облако" - MySql с парой таблиц - таблица файл, тип, дата актуальности, оригинальное название и таблица привязок штрихкод/файл. Все файлики хранятся с именем, равным хешу МД5.
Пару php в качестве api и простая веб-морда для поиска по штрихкодам.

С системой работают из 7.7, из 8.х и из браузера.

Всякие дропбоксы/гугльдиски и прочие синхронизаторы админы вспоминают как страшный сон.
Рекомендую.
67 H A D G E H O G s
 
15.12.15
02:27
(65) В ntfs работа с индексами файловой системы строится по аналогии с работой с индексами ms sql.
Никто не удосужился почитать мою ссылку, вот и все.
68 H A D G E H O G s
 
15.12.15
02:27
(61) Откуда такие глубокие познания?
69 H A D G E H O G s
 
15.12.15
02:27
(61) В среднем или в худшем?
70 Web00001
 
15.12.15
08:08
(66)Какой смысл во всем этом огороде если надо просто по штрихкоду отдать картинку? ну и храни базу в любой БД и обращайся из 1С к этой БД напрямую.
71 Провинциальный 1сник
 
15.12.15
08:11
Если сканы текстовых документов без особых требований к качеству - то формат djvu идеален. Он жутко сильно жмет их, практически это посимвольный ocr.
72 Кирпич
 
15.12.15
08:35
(0) Последний раз(а разов с внешними файлами было несколько), извратился таким образом: база SQLite плюс здоровенный блоб-файл, в котором лежат собственно сами файлы. В базе SQLite ссылки на файлы в блоб и всякая фигня для поиска. Ну и там ВК была чтобы автоматически сохранять в БД файлы когда юзер в ворде или екселе жмет на save. Не знаю, работает оно сейчас или нет, но года три жалоб не было :)
А так, задача простая, делай как хочешь. Вариантов миллион.
73 Кирпич
 
15.12.15
08:49
74 FN
 
15.12.15
09:21
(70) "клиенты" системы в разных городах
75 Пикчер
 
15.12.15
10:24
(0) имхо хранить в рабочей базе будет ошибкой. за отдельную базу голосую

(66) красивое решение