powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Отдельная БД для BLOB
17 сообщений из 17, страница 1 из 1
Отдельная БД для BLOB
    #38381888
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FB 2.5. Сделал загрузку сканированных документов (pdf) в БД. Как следствие, встал вопрос о размере БД (пухнуть она будет достаточно сильно). Коллега подкинул идею хранить сканы в отдельной БД. С технической точки зрения, проблемы нет - EDS и уникальный номер скана документа в той БД. Плюс очевиден - основная база остается такой же маленькой. Вопрос: кто-нибудь делал что-то подобное или есть еще варианты реализации?
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38381893
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

Делали , именно такое (сканы документов), и именно так в отдельной базе.
лет 7 уже живет, полет нормальный
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38381895
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в догонку, уточнение, не совсем сканы, фотографии документов в djvu формате
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38381900
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> Вопрос: кто-нибудь делал что-то подобное

Делали ещё до 2.5 и EDS. Работает, в принципе.

CyberMax> есть еще варианты реализации?

Хранение в файлах и доступ через UDF.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38381989
slay2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CyberMaxВопрос: кто-нибудь делал что-то подобное или есть еще варианты реализации?

Я это реализовал следующим образом:

есть "хранилище" - это большой файл в котором хранится файлы определенного типа (фото, сканы).
В это "хранилище" файлы только добавляются, в базе хранится только смещение и размер файла.

Есть модуль для nginx'а который по определенному урлу может отдать файл (у меня клиенты это браузеры)

Есть отдельная служба, которая умеет принимать и отдавать файлы по их ид.

Как итог: минимум накладных расходов (особенно для мелких файлов), быстрая отдача клиентам через nginx (это 98% всех запросов)
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38382312
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,


а у меня все в одном файле базы. Тоже не жалуюсь.
Гарантия целостности и управление документам простейшими методами DML. Конечно, файл получается здоровенным, но "структура" отдельно от файлов и не нужна.
Файлы у меня небольшие - десятки мегабайт, обычно до мегабайта. Firebird 2.0.
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38382324
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД> Гарантия целостности и управление документам простейшими методами DML

Это и для отдельной БД неизменно.

> Конечно, файл получается здоровенным, но "структура" отдельно от файлов и не нужна.

Не совсем так. Обычно "файлы нужны редко и гораздо реже остальных данных".

По сути, если бы gbak/nbackup умели фильтровать таблицы
(или тем более отдельные столбцы) - проблемаы не было.
Сторонние патчи и известные хаки не в счёт. Так что либо
отдельное хранилище (БД, файлы), либо репликатор.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38382350
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slay2012Как итог: минимум накладных расходов (особенно для мелких файлов)Для этого есть специальные файловые системы, которые в случае малого размера файла хранят его содержимое в метаданных (в записи каталога), без выделения кластеров в области данных.
В вашем же случае случись чего с ФС, замучаетесь собирать свою коллекцию по диску.
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38382409
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arni> В вашем же случае случись чего с ФС

Да нет, дело не в ФС, для этого есть бэкапы, образы и пр.
В его случае двойной оверхед - во-первых, у него своя
прослойка (сервис), который нужно писать, сопровождать
и пр, что усложняет весь процесс разработки, во-вторых,
эта прослойка (возможно, не в его конкретном случае) -
просто лишняя в цепочке клиентское ПО - сервер СУБД.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38382866
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам...
Это и для отдельной БД неизменно.
...

Ну да, "Если все делать правильно - проблем не будет" - (с).

Гаджимурадов РустамНе совсем так. Обычно "файлы нужны редко и гораздо реже остальных данных".
...

Как "обычно" - обычно не интересно, а интересено то, что требуется в каждом конкретно случае.
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38382891
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД> Ну да, "Если все делать правильно - проблем не будет" - (с).

А там трудно неправильно сделать. Кстати, недавно с Серым обсуждали.

> Как "обычно" - обычно не интересно, а интересено то, что требуется в каждом конкретно случае.

Пофлудить сходи куда-нибудь в другое место, будь любезен.
Во-первых, конкретного случая нет, тем более, что Макс
интересуется как раз чужим опытом и набитыми шишками,
во-вторых, "обычно" - это большинство (скажем, > 90%)
действий (и запросов) пользователей. Если это не система
документооборота, конечно.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38383392
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за ответы. Сделаю отдельную БД.

Гаджимурадов РустамЕсли это не система документооборота, конечно. Рустам, а можно вот тут поподробнее?
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38383399
NePZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне доводилось (и приходится и поныне) иметь дело с хранением и обработкой неструктурированной информации (фото, сканы документов и.т.д.). Реляционные базы для этого подходят ПЛОХО.
1.Если объемы неструктурированных данных относительно невелики, порядка Гб, и не планируется их существенное увеличение, то данные вполне можно запихнуть в реляционную БД, если время поджимает. Но лучше не надо. Один раз я так делал, мне не понравилось.
2.1 Можно поднять для контента отдельную базу. Минусы тут в том, что если контента - приличное количество, то отдельная (реляционная) база будет также тормозить, плюс время на обмен данными между базами...Этот способ подходит, только если обращения к контенту относительно редки, а время доступа некритично.
2.2. Можно посмотреть в сторону специализированных БД. Одно время знакомые гуру ругались очень умными словами типа Jasmine да Versant, но особой популярности оные решения, насколько я понимаю, так и не получили.
2.3. Как вариант, часто разумнее, дешевле и эффективнее организовать файловый сервер (с шустрыми дисками) для хранения контента, а в реляционной базе хранить только индекс и описание объекта. Минус - то, что ручками придется допиливать. Плюс - дешево, сердито и весьма шустро, если руки из нужного места растут. Лично я в свое время выбрал этот вариант.
P.S. Если критично время доступа, обращаться с контенту (из приложения) разумнее сразу через индекс в файловом хранилище, минуя реляционную БД. В этом случае надо озаботиться работой с метаданными. То есть в файловом хранилище должны лежать не только объекты, но и их описание. Здесь ОЧЕНЬ важно грамотно организовать поиск (следующий этап)
4. Если объемы могут выйти за 10 ТБ, к материалам могут обращаться сотни или тысячи человек, если важно обеспечить действительно быстрый доступ к контенту и не хочется изобретать лисапед, разумнее всего раскошелиться на объектную базу (программно-аппаратный комплекс) типа той же Hitachi
http://www.karma-group.ru/Sites/karma/Uploads/HCP_rus.10c007ea19b6a259d199140a3966e9f849.pdf
Сейчас архитекторы пытаются меня агитировать за гравицапу по имени IBM ECM, но я к решениям IBM отношусь...прохладно.
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38383413
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NePZ,

//Лениво зевая

Забыл CDN упомянуть для полноты крутости^w картины.
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38383446
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> Рустам, а можно вот тут поподробнее?

В СДО соотношение частоты обращения к обычным
данным и к BLOBАм резко отличается от обычных систем.
Минус - очень часто, вынос в отдельную БД может ничего
не дать или сделать хуже, плюс - обращение почти всегда
идёт к ограниченному количеству BLOB-ов, ибо нужны не
все документы, а "текущие" и только их последние версии.

Но если у тебя СДО, ты это всё итак должен знать.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38383527
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам...плюс - обращение почти всегда
идёт к ограниченному количеству BLOB-ов, ибо нужны не
все документы, а "текущие" и только их последние версии.
...
Да-да, ибо когда в базе есть блобы, то просто невозможно удержаться от того, чтобы к ним непрерывно обращаться. Только размещение в отдельной файле хоть как-то сдерживает разгул блобообмена.


Гаджимурадов РустамчччД> Ну да, "Если все делать правильно - проблем не будет" - (с).

А там трудно неправильно сделать. Кстати, недавно с Серым обсуждали.

> Как "обычно" - обычно не интересно, а интересено то, что требуется в каждом конкретно случае.

Пофлудить сходи куда-нибудь в другое место, будь любезен.
...

Не имею понятия, кто такой Серый.
Твои рекомендации куда более близки к флуду. И Тебе не раз об этом говорили.
...
Рейтинг: 0 / 0
Отдельная БД для BLOB
    #38383552
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты сегодня встал не с той ноги? :)

чччД> Да-да, ибо когда в базе есть блобы, то просто невозможно
чччД> удержаться от того, чтобы к ним непрерывно обращаться

В СДО это будет именно так, буквально дословно.

> Не имею понятия, кто такой Серый.

Ну, в этом разделе только один известный Серый. :)
Он вроде рассказывал, что у них это используется
и без особых проблем (на возможный мусор в виде
неиспользуемых файлов на диске он то ли забил, то
ли регулярно запускает какую-то утилиту очистики).

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Отдельная БД для BLOB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]