v7: файловое хранилище для сканов #760731


#0 by irina2002
доброго времени суток есть задача организовать хрранение файлов (сканов документов) с оптимизацией доступа по быстродействию. база данных - ТиС 7.7 ваши предложения?
#1 by Сержант 1С
ждем гусар
#2 by vde69
для начала определитесь с количеством файлов (например за 10 лет) и максимальным размером одного файла.... например у меня стоит ограничение 0.5 метра на 1 файл, этого хватает на хороший скан А4
#3 by vde69
ну вопрос второй бекапы делать надо ?
#4 by Tarlich
Больше всего заставило задуматься "с оптимизацией доступа по быстродействию." ..... - это что означает?
#5 by Сержант 1С
и вде поддал перчику про бекапы ;)
#6 by Tarlich
первое что пришло в голову DROPBOX - можно на каждом компе поставить и путь "c:dropboxpic" и тогда по сети не будут гоняться файлы , не надо думать про бекап  ....
#7 by Mikeware
"Гусары - они, сударыня, вообще грубияны. они даже коз - того-с"©
#8 by Mikeware
ну, есть вариант хранить в сиквельной базе образы... это - не лучший по быстродействию вариант
#9 by Лефмихалыч
да твою ж...
#10 by Mikeware
ачо? "пока работает - не трожь!" я вот тут узнал недавно, что в одной конторке БЭСТ без пригляду проработал аж до 2014 года...
#11 by vde69
у меня в 7.7 файлы хранились внутри базы, это избавляло от проблем бекапа и проблемы релакации окружения тестовой копии базы. но то было у меня и было в скуле и там ограничений много было...
#12 by IVT_2009
сетевая папка , в базе имена файлов просто прописаны а путь в настройках. Объемы десятки тысяч сертификатов по 3-5 листов. Пять лет полет нормальный
#13 by Fedor-1971
Если есть домен, то можешь развернуть NFS (сетевая файловая система), по сути куча расшаренных ресурсов собранных в вид каталога, есть возможность синхронизации каталогов. Т.е. решаешь проблему быстродействия раскладывая файлы оптимальным для доступа способом и одновременно, если хочешь, делаешь ночную синхронизацию папок. И остаётся реализовать хранение пути к файлу. Это уж как нравится.
#14 by vde69
только разграничение прав сделать не реально... зная путь одного файла я имею доступ ко всем файлам... причем полный доступ, с право стереть все (или в случае с вирусами - зашифровать)
#15 by Fedor-1971
ну если с этой точки зрения - можно реализовать принцип FTP положили во входящую папку, автомат забрал в исходящую. Вход доступ на запись, выход, доступ на чтение и пусть себе стучатся в попытках удалить (зашифровать, напакостить) .
#16 by irina2002
с этого места поподробнее . это будет медленнее, чем обращение к файлу напрямую? при прямом доступе будут проверяться полномочия пользователя, а через СКУЛь - нет..
#17 by Mikeware
при прямом досупе к файлу, естественно, все быстрее. а полномочия.... если руки прямые, то тогда при хранении в базе возможностей контроля доступа гораздо больше.
#18 by Jump
Файловая система это БД оптимизированная для хранения файлов Скуль это БД оптимизированная для хранения данных.
#19 by Jump
Какое именно быстродействие вас интересует? Множественный доступ, большого количества пользователей? Быстрый поиск?
#20 by irina2002
мне понравился вариант с дропбокс, если не надо покупать лицензию и давать дропбоксу выход в интернет
#21 by Jump
Доступ будет всегда через 1с, или возможно напрямую?
#22 by Jump
Дропбопокс? Платный сервис для таких целей? Если уж нужна синхронизация, то проще поставить BtSync. Ибо бесплатно и данные под контролем, на своей инфраструктуре. Только какое это отношение имеет к вопросу заданному в непонятно.
#23 by irina2002
из 1С. напрямую... наверно, нет. имена файлов генерируются случайным образом.
#24 by Jump
Выделяете диск, или папку для этих целей, организовываете структуру, чтобы не валить все в одну кучу. Группируете по дате, или по смыслу. В 1с храните путь от корня хранилища.
#25 by Jump
Если важен множественный доступ, т.е много народу одновременно будут активно читать и писать эти сканы, то диск следует форматировать с максимально возможным размером кластера.
#26 by irina2002
сетевая работа в домене. пользователи в терминалках. резервировать файлы не нужно - есть бумажные копии.
#27 by supremum
Используем FileStream на MS SQL 2008
#28 by irina2002
дропбокс отпадает, так как хранит файлы в облаке и имеет ограничение на объем информации. теперь давайте разберемся, почему через mssql неоптимально.
#29 by Jump
Тогда просто файловая шара, доступная по сети всем кому надо, с прописанными правами, и структурой каталогов для хранения сканов.
#30 by supremum
+ Сканы зашиваются в PDF, скан обычно не более 100 КБ, файлов 1500, открываются быстро.
#31 by irina2002
в чем профит FileStream?
#32 by Mikeware
есть 100500 способов. мы уже разобрались, "почему так оптимально, а сяк - неоптимально". а вам - не поможет...
#33 by Jump
По той простой причине, что это большой объем информации прогоняемый через SQL. А MSSQL обычно ставят для других целей. Поэтому будем хранить файлы - и ресурсы железа будут работать на файлы, а не на 1c/
#34 by irina2002
с чем связана твоя нервозность?
#35 by Mikeware
это не нервозность, а констатация факта...
#36 by supremum
Миф. Файлы в этом случае хранятся в отдельном каталоге. В  таблицах хранятся ссылки.
#37 by irina2002
один спец из нашей конторы с большим авторитетом у руководства предложил mssql и прямой доступ к базе через объект ADODB.RECORDSET. мне надо пояснить, почему файловая шара лучше. кстати, сеть в конторе слабая. один терминал там, другой сям ))
#38 by irina2002
совершенно верно. так и предложил сделать наш суперспец.
#39 by Jump
При доступе к файлу задействуются ресурсы SQL сервера. А эта вещь дорогая, ее очень дорого масштабировать.
#40 by Jump
Ну файл все равно придется гнать по сети. Какой бы вариант хранения вы не выбрали.
#41 by supremum
подробнее тут И тут
#42 by Jump
Если филиалы расположены далеко, а сеть между ними очень слабая, нужно организовывать персональное хранилище для каждого филиала.
#43 by romix
В Википедии файлы хранятся путем раскладывания по папкам 2 или 3 уровней, имя которых формируется как кусок MD5-функции от имени файла. MD5 можно в 7-ке извлечь (надо погуглить как). Затем отрезать кусочками и формировать из них структуру подпапок.
#44 by Злопчинский
у мну: лежит вне базы. картинки товаров: > 4000шт, 70 мб сертификаты/декларации: >600, 520 мб ни проблем с бэкапами, ни с печать, ни сотсылкой клиентам (из 1С) - нет.
#45 by Злопчинский
#46 by Злопчинский
[IMAGE] Шоу "За лупой" (просмотр и установка привязки товар-изображение) - я этих привязок разным клиентам в разных видах (вплоть до подбора товара по изображенимя) - обписался уже, тошнит
#47 by Злопчинский
[IMAGE] Просмотр, масштабирование и скроллинг картинок
#48 by Злопчинский
[ОБУЧАЛОВКА] Каким макаром к номенклатуре привязать картинку...?
#49 by irina2002
любишь эпатировать? ты немного не в тему. файлы в PDF. система работает; ничего переделывать не надо. оптимизируем доступ к файлам.
#50 by irina2002
с интересом рассмотрю примеры разработок под filestream в mssql
#51 by Злопчинский
да мне пофиг - эаптировать или нет. мне что пдф, что пнг, что дежавю - один хрен  "файлы". Хранить их - кому как надо - так и хранит, в зависимости от нужд. Выходить на форум с вопросами когда для себя все уже решено - нафейхоа оно надо? то что не по душе =- отвергнешь, то что легло на душу - примешь. вот и весь профит
#52 by oleg_km
Храним образы (сканы, эл письма, вложенные файлы, и вообще хранилища значений) в отдельной базе MS SQL Server. Размер уже более 500 ГБ.
#53 by Злопчинский
и это барахло кому-нибудь надо? у нас менеджеры цифровой контент генерят с дикой скоростью, а убирать его - никто не убирает...
#54 by H A D G E H O G s
Получи гранату
#55 by Garykom
сделать свою веб файло картинко помойку на апаче и юзать ее по http
#56 by romix
Здесь примерно так же через MD5 хеш
#57 by irina2002
почему нельзя помещать все файлы в одну папку?  интерактивного доступа не предполагается. поиска по папке не будет. NTFS ведь тоже индексирует файлы, как и SQL.. так что по скорости доступа разницы не будет.
#58 by Garykom
ммм принцип каталога? у файловой системы есть некая "база данных файлов" чем больше там записей то тем медленнее (возможно) найти/получить нужную запись одного файла
#59 by irina2002
я так думаю, работа с индексами одинакова что в файловой системе, что в СУБД. или MSSQL справляется с индексами лучше?
#60 by Garykom
причем тут индексы? вот у Вас на полке 10 книг, сколько нужно времени чтобы достать 10? стоя перед полкой а в хранилище 10 миллионов книг... сколько нужно времени чтобы, стоя перед входом в хранилище, достать 9 999 999-ю?
#61 by irina2002
в среднем К * log(10,000,000) к - скорость обращения к индексному полю
#62 by oleg_km
Там никогда не угадаешь, что именно понадобится. А там еще образы версионных документов А ты попробуй создай папку с миллионом файлов. А потом попробуй копирование, бакапы и прочие административные операции. Но я не навязываю. Просто уже богатый опыт
#63 by EvgeniuXP
ограничь на уровне домена.
#64 by irina2002
согласна.
#65 by Jump
Работа с индексами реализована по разному, даже в разных файловых системах, чего уж говорить про совершенно другие бд типа mssql.
#66 by FN
У себя для хранения файлов с привязкой к товарам сделал так: Из 1С стучусь в "облако" по http - отправляю список штрихкодов. В ответ получаю список файлов. Если файлов в локальном кеше нет (каталогиб или alluserspictures - по ситуации)  - скачиваю файлики в кеш. Отдельная форма для привязки новых файлов и заливки в веб. само "облако" - MySql с парой таблиц - таблица файл, тип, дата актуальности, оригинальное название и таблица привязок штрихкод/файл. Все файлики хранятся с именем, равным хешу МД5. Пару php в качестве api и простая веб-морда для поиска по штрихкодам. С системой работают из 7.7, из 8.х и из браузера. Всякие дропбоксы/гугльдиски и прочие синхронизаторы админы вспоминают как страшный сон. Рекомендую.
#67 by H A D G E H O G s
В ntfs работа с индексами файловой системы строится по аналогии с работой с индексами ms sql. Никто не удосужился почитать мою ссылку, вот и все.
#68 by H A D G E H O G s
Откуда такие глубокие познания?
#69 by H A D G E H O G s
В среднем или в худшем?
#70 by Web00001
Какой смысл во всем этом огороде если надо просто по штрихкоду отдать картинку? ну и храни базу в любой БД и обращайся из 1С к этой БД напрямую.
#71 by Провинциальный 1сник
Если сканы текстовых документов без особых требований к качеству - то формат djvu идеален. Он жутко сильно жмет их, практически это посимвольный ocr.
#72 by Кирпич
Последний раз(а разов с внешними файлами было несколько), извратился таким образом: база SQLite плюс здоровенный блоб-файл, в котором лежат собственно сами файлы. В базе SQLite ссылки на файлы в блоб и всякая фигня для поиска. Ну и там ВК была чтобы автоматически сохранять в БД файлы когда юзер в ворде или екселе жмет на save. Не знаю, работает оно сейчас или нет, но года три жалоб не было :) А так, задача простая, делай как хочешь. Вариантов миллион.
#73 by Кирпич
ах да. забыл
#74 by FN
"клиенты" системы в разных городах
#75 by Пикчер
имхо хранить в рабочей базе будет ошибкой. за отдельную базу голосую красивое решение
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С