|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Необходимо хранить большие по объему xml файлы. Но хранить в таблицах считаю неправильным, на файлов диске вроде тоже. Посмотрела из встроенных систем хранения данные в MSSQL Server предлагается: FILESTREAM, FileTable и удаленное хранилище больших двоичных объектов. Статью Сравнение параметров для хранения больших двоичных объектов Но все как-то куцо написано. Хотелось бы плюсы и минусы каждой технологии. Сейчас используется MSSQL Server 2019. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 18:37 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Разжевать и покормить с ложечки? Огласите ваши представления о "православном" хранении. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 19:52 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Hel975, файлы обычно хранят в папках, а не в базе данных. Более того, NTFS и есть база данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 23:28 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
aleks222 Разжевать и покормить с ложечки? Огласите ваши представления о "православном" хранении. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 00:16 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Владислав Колосов Hel975, файлы обычно хранят в папках, а не в базе данных. Более того, NTFS и есть база данных. Одно время работал с системой (лет 15 назад) , в которой все документы типа WORD,EXCEL хранились в базе, в бинарных полях. Нормально! Была сделана грамотная система ввода-вывода и никаких проблем. Как и где хранить - пофиг, если это не оскорбляет ваших религиозных чувств. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 10:36 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
SQL2008, а смысл в чём такого хранения? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 10:42 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Что значит большие? Каждый по десятки гигов? Сколько всего? Если у вас в итоге счет на ПТ, то, наверно да, в базу не надо )) Например Filenet от IBM в некоторых случаях рекомендует хранить файлы в блобах в БД (хотя в норме предполагает таки хранения на дисках). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 11:51 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Владислав Колосов SQL2008, а смысл в чём такого хранения? у каждого свои погремушки )) Например, админы шаловливыми ручками не залезут в файлике на диске))) Проще сделать шифрование. А "просто" положить файлы на диск - 90% разработчиков при такой реализации забывают про ограничения файловой системы ))) Хотя это было более актуально в FAT, в NTFS ограничения слабее)), но все равно при сотнях тысяч документов в одной папке начинаются тормоза.. Значит нужно создавать дерево папок.. и тут эти 90% задают вопрос "в чём смысл такого" ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 11:55 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
sergeyns, да, по-моему, не рекомендовано больше 10000 файлов на папку для NTFS. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 12:06 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
sergeyns о десятки гигов? Сколько всего? Если у вас в итоге счет на ПТ, то, наверно да, в базу не надо )) Например Filenet от IBM в некоторых случаях рекомендует хран Пару гиг - это исключение. Ежедневно приходит некоторое кол-во файлов, сами размеры не очень большие, но за год таких файлов может быть несколько миллионов и их надо хранить несколько лет в том виде, в котором пришли и как в данные в бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 14:01 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Hel975 sergeyns о десятки гигов? Сколько всего? Если у вас в итоге счет на ПТ, то, наверно да, в базу не надо )) Например Filenet от IBM в некоторых случаях рекомендует хран Пару гиг - это исключение. Ежедневно приходит некоторое кол-во файлов, сами размеры не очень большие, но за год таких файлов может быть несколько миллионов и их надо хранить несколько лет в том виде, в котором пришли и как в данные в бд. Ну если всё это влезет на "ОБЫЧНЫЙ" диск и нет особых требований по отказоустойчивости, секретности, правам доступа, аудиту и тд тп, то кладите на диск (например на каждый день или час в году - своя папка) и не парьтесь. Это будет самое простое и вполне рабочее. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 15:09 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
[quot sergeyns#22359159] Hel975 пропущено... требований по отказоустойчивости, секретности, правам доступа, аудиту и тд тп, то кладите на диск (например на каждый день или час в году - своя папка) и не парьтесь. . Кстати, жесткие требования к отказоустойчивости - это один из кейсов когда можно класть файлы в БД. Ибо пока файл не запишется - транзакция не закончена. А если писать в файл - то это начинается трудный выбор между синхронным и асинхронным (придется обеспечивать "транзакционность" самому) + обычная запись в файл не гарантирует файла на диске (типа питание вырубилось в момент когда вроде бы ваше save_to_xml отработало, а вот кэш диска - на самом деле нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 15:15 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Hel975, если вы работаете с таком объемом данных, то есть смысл подумать о специализированном файловом сервере, а не пользоваться суррогатами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 16:24 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Владислав Колосов, Я и думала, чем лучше воспользоваться FileTable или удаленным хранилищем больших двоичных объектов (RBS). Но т.к. ни с тем, ни с другим не работала, то решила спросить про подводные камни и проблемах в эксплуатации. А в ответ - закидали помидорами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 16:55 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Hel975, а вариант хранить не файлы, а данные из XML, не вариант? И если потребуется данные извлечь, просто делаем обратное преобразование. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 17:25 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Synoptic Hel975, а вариант хранить не файлы, а данные из XML, не вариант? И если потребуется данные извлечь, просто делаем обратное преобразование. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 17:34 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Владислав Колосов SQL2008, а смысл в чём такого хранения? Там было приложение из которого сразу открывались документы, правились и сохранялись обратно. В чем был особый смысл не скажу ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 17:36 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Relic Hunter завтра довавят в хмл новый узел или удалят и кирдык твоим данным ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 17:50 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Synoptic, Данные из xml тоже будут храниться в таблицах. Весь смысл в том, чтобы еще и хранить сами оригинальные пришедшие файлы. Думаю, что так же должен быть запрет к редактированию этих данных. Понятно, что от админов ничего не скроешь, но у большинства пользователей не должно быть доступа к файлам. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 17:54 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Synoptic Relic Hunter завтра довавят в хмл новый узел или удалят и кирдык твоим данным Во вторых, структуры данных за много лет и за десятки-сотни изменений могут так преобразиться, что сделать реверс-инжениринг пришедших данных будет очень сложно. ИМХО в реально используемой системе хранить в неизменном виде то, что пришло, нужно обязательно. Hel975 Владислав Колосов, Я и думала, чем лучше воспользоваться FileTable или удаленным хранилищем больших двоичных объектов (RBS). Но т.к. ни с тем, ни с другим не работала, то решила спросить про подводные камни и проблемах в эксплуатации. А в ответ - закидали помидорами. 1. Если вы парсите данные в БД, и файлы вам нужны для фиксации исходников, вы их не будете обычно использовать системой после импорта, то лучше вообще с сиквелом файлы не завязывать, зачем это нужно? Храните файлы в ФС, а в сиквеле ссылки. Притом ФС может быть какой угодно, без ограничений. Усложнение ради красоты и ради "попробовать новую фичу" есть признак кривой архитектуры, и джуниор-архитектора. 2. Если вы будете часто использовать файлы внешними приложениями, и контролировать сиквелом, то как вариант можно рассмотреть FileTable. 3. FILESTREAM вообще имеет очень узкое применение - по сути, активное использование контента файлов сиквелом, и больше ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 18:59 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Hel975, храню все пришедшие xml в поле типа varchar(max) но прогоняю после разбора через функцию compress() (появилась в 2016) остается максимум 7-10% очень хорошее сжатие. пробовал хранить с типом xml - sql в этом случае уменьшает размер до %50-60 от исходного. был вариант хранить в varchar(max) в отдельном разделе со сжатием, места меньше чем xml, но значительно хуже чем жмет функция. вариант с xml в отдельном разделе со сжатием экономии не дает. один минус - в xml больше 2 гиг не влазит. и учтите, что больше 1,6 гига из xml практически невозможно конвертнуть в nvarchar(max), а сразу в varchar(max) может не получится. хочу перейти на json, только на одних тэгах можно сильно сэкономить. с другими вариантами не пробовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 19:13 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Filetable - это гаджет для SOHO баз, никак не промышленный mainstream. Не советую пользоваться при таких объёмах. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 19:17 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Владислав Колосов Filetable - это гаджет для SOHO баз, никак не промышленный mainstream. Не советую пользоваться при таких объёмах. FileTable хранят файлы в папках NTFS. Ты знаешь файловую систему круче и "промышленнее"? ЗЫ. А еще они могут использовать сжатие NTFS. На XML-файлах это, минимум, 50% экономии. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 20:01 |
|
Хранение больших файлов xml в БД
|
|||
---|---|---|---|
#18+
Hel975, У нас все складывается в архивную папку архиватором 7z (компануя по месяцам), если распарсилось. То что не распарсилось, тоже в 7z, но Reject папку. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 02:02 |
|
|
start [/forum/topic.php?fid=46&msg=40090647&tid=1684399]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 511ms |
0 / 0 |