Имя: Пароль:
IT
 
Какие СУБД позволяют хранить в них бинарные файлы?
0 Doomer
 
модератор
27.05.10
19:51
Это продолжение ветки:
v8: v8: Хранение больших объемов данных внутри базы данных.

Хочется обсудить вопрос хранения файлов в СУБД. Может у кого-нибудь есть примеры хранения, подключения и извлечения файлов? Хочется определиться с СУБД которую буду использовать для хранения файлов. Хотелось, чтобы она была бесплатная.
1 Ork
 
27.05.10
20:07
Тип Blob в таблицах VFP. Не знаю с какой версии, но в 9-ке точно. Насчет бесплатности - мимо.
2 Rabbit
 
27.05.10
20:09
mysql, postgresql...
3 Aleksey_3
 
27.05.10
20:11
"Firebird is faster than filesystem for blob storage! (http://codicesoftware.blogspot.com/2008/09/firebird-is-faster-than-filesystem-for.html)" - тестирование производительности показало, что хранить бинарные файлы в СУБД Firebird эффективнее, чем в файловой системе Windows. В ходе эксперимента было организовано копирование 3659 файлов общим объемом 343Мб, размещенным в 468 директориях. В Firebird данные были обработаны на 27669 ms, а в файловой системе за 40378 ms. (c) http://www.opennet.ru/openforum/vsluhforumID3/43624.html
4 NikVars
 
27.05.10
23:02
(3) " СУБД Firebird" сравнивают с "файловой системе Windows"???????
То есть теплое с мягким?!
Теплое победило?!
5 kitt
 
27.05.10
23:10
sqlite
6 Aleksey_3
 
27.05.10
23:17
(4) Мопед не мой, я просто разместил объяву :)
7 Ковычки
 
27.05.10
23:42
DBF,Paradox,Data и наконекст хит сезона TXT !

автору яд уже предлагали ?
8 Ковычки
 
27.05.10
23:44
(1) не поверишь с версии фоксбейз 2.0 а до того в дб2 (даже не 3)
9 ice777
 
27.05.10
23:53
в каких угодно - современных.
10 ice777
 
27.05.10
23:57
(7) тхт, кстати, стандарт межбанковского обмена. только вот с кодировками хехе.. хехе.
11 nop
 
28.05.10
00:09
(0) Все. BLOB поле (binary large object)
12 Doomer
 
28.05.10
07:53
Господа, давайте по ближе к теме. Понятно, что это можно сделать практически с любой СУБД. Интересует конкретный опыт.
13 Torquader
 
29.05.10
22:46
В FireBird всё прекрасно хранится, и выбирается (причём можно Blob-поля по кусочкам "кушать"). Очень удобно, если писать на Си и т.п. Стандартный ADO DB не очень переваривает (так как пытается хранить копию в памяти, чтоб его).
Кроме того, Firebird позволяет разделить базу на несколько файлов, чтобы не было одного большого (который, например, для FAT-а невозможен).
P.S. а какие объёмы предполагается ?
14 Ковычки
 
29.05.10
22:52
Господа все в Париже (с)
а перечисленое - опыт
15 Лефмихалыч
 
30.05.10
00:56
(10) у этого "стандарта" корни растут из безмозглости банковских программеров. С кодирвками проблема от туда же
16 Лефмихалыч
 
30.05.10
00:59
(12) в приведенной тобой ветке в нулевом посте какие-то сугубо теретические размышления без конкретики. Тут конкретики в нулевом посте еще меньше. В деле хранения больших файлов всё от деталей зависит на 100%, серебряной пули нет.
Либо выкладывай конкретику, либо доволствуйся полученными ответами
17 Doomer
 
30.05.10
04:52
(16) Там под конец и до конкретики дошли. Обсуждали алкогольные компании.
18 Chai Nic
 
30.05.10
06:34
(13) Firebird рулит.. непонятно, почему 1с не поддерживает его как СУБД. Для небольших баз он был бы лучше постгреса, он удобнее в смысле хранения данных, резервного копирования и восстановления - вся база в одном файле. И сам по себе очень компактный. А по сути - такой же версионник, как и постгрес.
19 kitt
 
30.05.10
07:04
(13) админу,который размещает файл(ы) БД на FAT'е уже предлагали стандартный набор из стены\яда\етк?
20 Chai Nic
 
30.05.10
07:33
(19) Что за фетишизм? ) FAT в целом ничем не хуже других ФС, просто у неё есть свои особенности, которые надо учитывать.
21 Torquader
 
30.05.10
12:46
(20) У FireBird можно настроить размер файлов базы данных так, чтобы он имел фиксированный размер (то есть не перемещался и не двигался по диску), тогда FAT оказывается лучше и быстрее всего (запись времени изменения в директорию, где живут файлы и запись в сам файл).
Испортить такой файл достаточно сложно (а для директории просто можно сохранить образ).
NTFS же будет хранить информацию о файле в MasterFile, то есть лазить в начало диска - что не есть хорошо.
Кроме того, FAT оказывается быстрее NTFS, так как всякая служебная информация туда просто не пишется (права доступа и т.п.). Если для базы данных сервер отдельный, то на нём живёт только процесс самого SQL-сервера, а он всё равно имеет полные права на свои базы.
Конечно, если на этом сервере работают пользователи, то FAT уже сразу отменяется - иначе каждый пользователь может просто удалить базу.
P.S. у FireBird есть режим, когда базу можно монтировать с CD или DVD, то есть в режиме ReadOnly, что иногда очень удобно.
22 sapphire
 
30.05.10
15:11
(1) VFP развиваться не будет.
(2) С Вами всё понятно.
(18) Firebird идёт в топку из-за резервного восстановления данных.

И так, ставится вопрос иначе, наверное должен:
Хранение BLOB cо сжатием.

Варианта 2:
1. Использовать СУБД (не обязательно реляционную), которая умеет хранить BLOB и использовать внешний архиватор.

2. Использовать СУБД, которая умеет хранить BLOB в пожатом виде
(Microsoft SQL Server 2008 R2, Oracle 11g, IBM DB2 UDB)
23 Chai Nic
 
30.05.10
15:42
(22) "Firebird идёт в топку из-за резервного восстановления данных"
Что там не так с восстановлением данных? Как будто в постгресе с этим легче.. сколько воплей на форуме было "переустановил систему, как подключить базы постгреса?" )
24 Doomer
 
30.05.10
15:43
А, что про MySQL все молчат?
25 Torquader
 
30.05.10
19:56
(22) Собственно, сжатие на уровне SQL-сервера не есть хорошо, так как SQL-сервер загружается выполнением не свойственной ему задачи. Конечно, если вы хотите потом организовывать поиск или выборку сжатых данных, то другие способы будут хуже, так как потребуют подключения архиватора к SQL-серверу (в принципе, в Firebird можно попробовать использовать внешние функции для сжатия, но нет уверенности, что это всё будет хорошо работать).
P.S. и если мы говорим про FireBird не надо забывать про Interbase (собственно, Firebird - это бесплатный аналог InterBase).