Когда файлы хранят в БД???

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
firefly
рядовой
Сообщения: 14
Зарегистрирован: 2009-03-07 13:58:02
Откуда: Беларусь, Минск
Контактная информация:

Когда файлы хранят в БД???

Непрочитанное сообщение firefly » 2009-08-03 12:43:17

Тема может не совсем и подходить к разделу MySQL, но все же, подскажите пожалуйста есть ли смысл хранить файлы в БД. Размер файлов от 1 до 50 МБ примерное количество свыше миллиона содержат в себе изображения. Сам понимаю что работа БД с полями различной длины будет медленной, но просто слабо представляю как этот массив данных рассовать по ФС. Или все же лучше хранить к ним ссылки, пути...?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-08-03 13:11:00

а в каком виде нужно храть? как фотоальбом? то зачем ее туда ставить?

надо тестировать!
можете создать таблицу, вставить миллион картинок, и проетсировать

говорили что апач первый, статику быстрее отдаст, чем вынимать из СУБД...

но появились винчестера скоросные, может оно нормально будет eSata SATA300, т.д.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Fastman » 2009-08-03 17:43:10

firefly писал(а):Тема может не совсем и подходить к разделу MySQL, но все же, подскажите пожалуйста есть ли смысл хранить файлы в БД. Размер файлов от 1 до 50 МБ примерное количество свыше миллиона содержат в себе изображения. Сам понимаю что работа БД с полями различной длины будет медленной, но просто слабо представляю как этот массив данных рассовать по ФС. Или все же лучше хранить к ним ссылки, пути...?
И тот и другой путь содержит как минусы - так и плюсы.
Куча копий сломано на форумах по этой теме, Но главные вопросы можно отметить.

За хранение в базе:
- Централизация
- Бэкап вместе с файлами
- При правильном пострении - гарантия соответствия записи и файлу, отсутствие надобности во внешних сервисах которые будут поддерживать консистенцию в паре запись ссылки на файл/сам файл в хранилище.

Против:
- При большом количестве файлов и их размеров - бэкап таки доставит проблем :)
- Нагрузка на базу дополнительная
- не во всех базах blob до конца готов к промышленному применению.

У нас например софт для архивирование и управлением медиа(звук,аудио,изображения). В базе хранятся только preview кадры к медиаматериалам. Перекрдируется jpeg картинка в base64 и храниться в отдельно таблице. Размер изображения 1-2кб.
Знаю систему где в базе хранятся так же ролики видео.. от 1 до 50мб. Мало того - они прямо из базы стримятся на web страницу.

Вообщем все зависит от конкретного случая, прямых рук разработчика и архитектора.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-09-09 13:38:51

1) если загружать файл из формы и если будет ошибка при загрузке, то как сделать чтобы удалился файл? не вставлялся в каталог

я нашел вариант хранить файлы распределенно в MySQL, на самом деле файл храниться на диске, но управляется через MySQL

Код: Выделить всё

    CREATE TABLE `data_storage`.`files` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `path` VARCHAR( 255 ) ,
    `data` BLOB
    ) ENGINE = FILES

Вставлять данные в такую таблицу можно только в поле `data`, при этом они просто сохраняются в файл, уникальное имя ему при этом генерируется автоматически (используя в качестве префикса поле `id`) — например 764533, а в поле `path` автоматически подставляется правильный путь, по которому MySQL положил наши данные — например `/mnt/storage/mysqldata/76/45/33/764533_myfile.jpg`. Таким образом к данным, сохраненным в такой таблице можно обращаться как к простым файлам, и при этом MySQL будет поддерживать целостность данных.
для просмотра, вот нашел варианты:

http://www.drupal.ru/node/25077
http://xpoint.ru/forums/programming/per ... 4404.xhtml

2) как перекодировать видео?

на youtube больше чем 10М редко занимет (я качал с него)

например поставлю, максимально загржать из формы 10М

дальше как только загрузилось, перекодировать через скрипт который запускается через какое-то время, как только перекодирует отметить что готово для просмотра

или может на ходу перекодировать http://search.cpan.org/search?query=ffmpeg&mode=all как-то ? тогда когда передается файл из форм?

хранить в видео формате FLV (флеш)

может java Script может как-то перекодировать?

(может не перекодировать, пуская сами кодируют?)

хочу попробовать в будущем...

схему которую я описал, правильно ли выглядит?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-03 14:51:17

что с этим делать?

Код: Выделить всё

mysql> CREATE TABLE `data_storage`.`files` (
    -> `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    -> `path` VARCHAR( 255 ) ,
    -> `data` BLOB
    -> ) ENGINE = FILES;

ERROR 1286 (42000): Unknown table engine 'FILES'

дайте документацию на ENGINE = FILES;, я что-то найти нифига не могу...

может надо MySQL пересобрать какой-то?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Fastman » 2009-10-03 15:01:09

Код: Выделить всё

...
может надо MySQL пересобрать какой-то?

Код: Выделить всё

select engine, support from information_schema.engines order by 1;
И расскажи где ты такой бред нарыл....
Последний раз редактировалось Fastman 2009-10-03 15:04:35, всего редактировалось 1 раз.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-03 15:04:05

Код: Выделить всё

mysql> select engine, support from information_schema.engines order by 1;
ERROR 1109 (42S02): Unknown table 'engines' in information_schema
а есть ли доки?
а то я найти что-то не могу...
http://www.google.com.ua/#hl=uk&q=+MySQ ... 4c8c5f5ddc
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Fastman » 2009-10-03 15:06:49

Код: Выделить всё

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 402564
Server version: 5.1.34 FreeBSD port: mysql-server-5.1.34

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select engine, support from information_schema.engines order by 1;
+------------+---------+
| engine     | support |
+------------+---------+
| ARCHIVE    | YES     |
| BLACKHOLE  | YES     |
| CSV        | YES     |
| FEDERATED  | NO      |
| InnoDB     | YES     |
| MEMORY     | YES     |
| MRG_MYISAM | YES     |
| MyISAM     | DEFAULT |
+------------+---------+
8 rows in set (0.00 sec)

mysql>
Перестань курить траву. Нету такого движка.
http://dev.mysql.com/doc/refman/5.1/en/ ... gines.html
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-03 15:28:03

вот статьи такие есть http://www.compdoc.ru/bd/mysql/keeping-files-in-mysql/

т.е. я хотел видео файл отдать чтобы его можно было смотреть через браузер в JavaScript (флеш плеер) там нужна статиска?
или можно через php отдать?
(я вот скрипт писал, хотел контролировать качание, просто, т.е. проще через php отдать)

а кто видео хранил и показывал через http? (я так понимаю через JavaScript (флеш плеер) нужно?)

в mime тип - это наверное не правильно?

в общем ладно сделаю как-то...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Fastman » 2009-10-03 15:32:18

вот статьи такие есть http://www.compdoc.ru/bd/mysql/keeping-files-in-mysql/
Читать до конца не осилил... понятно...

Проблема за малым — не удалось найти готовой реализации такого движка хранения данных для MySQL, хотя идея общем то простая. Возможно кто-то из хабролюдей подскажет ссылку на готовую реализацию такого storage engine, идея ведь плавает на поверхности, и ее точно кто-то уже мог реализовать.
т.е. я хотел видео файл отдать чтобы его можно было смотреть через браузер в JavaScript (флеш плеер) там нужна статиска?
или можно через php отдать?
(я вот скрипт писал, хотел контролировать качание, просто, т.е. проще через php отдать)
а кто видео хранил и показывал через http? (я так понимаю через JavaScript (флеш плеер) нужно?)
в mime тип - это наверное не правильно?
в общем ладно сделаю как-то...
В связи с отсутствием мысли, знаков препинания и понятия зеленого о теме разговора с твоей стороны, отвечать не буду...
Соберись мыслями, поставь четкие задачи, и только тогда спрашивай.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-03 15:46:05

кто как видео хранил и показывал через http?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Fastman » 2009-10-03 15:54:47

ProFTP писал(а):кто как видео хранил и показывал через http?
Мы храним на отдельном NAS-е. Для того чтобы показать юзеру на Flash-е написан браузерный клиент.
Вложения
iArchive.png
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-04 3:46:13

я вот думаю как это сделать лучше, на youtube через JS в котром флеш плэер

еще хотел сделать чтобы можно было контролировать качание, защиту от доса, ботов, флуда, не знаю как это сделать

а кто знает через php можно отдать видео файл, чтобы можно было его смотреть через браузер в JS?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-04 4:42:54

вот я нашел http://dev.mysql.com/doc/refman/5.1/en/files-table.html

только не могу понять как это сделать...
там нужно создать дополнительные таблицы через root в MySQL? пока не могу найти как это сделать все...

Код: Выделить всё

$ mysql --version
mysql  Ver 14.12 Distrib 5.0.83, for portbld-freebsd8.0 (i386) using  5.2
ЗЫ я так понял что у меня версия старая, может еще нельзя хранить в этой, только в 5.1?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-04 8:11:17

короче, опять вопрос автора топика, будет ли оно храниться в базе?

а кто-то смотрели исходники MySQL, на чем вы остановились, т.е. большие файлы можно(целесобразно) хранить прямо в MySQL 10М-300М? или нельзя?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-04 13:43:16

Fastman писал(а):
ProFTP писал(а):кто как видео хранил и показывал через http?
Мы храним на отдельном NAS-е. Для того чтобы показать юзеру на Flash-е написан браузерный клиент.
а что за GUI, это типо GTK+?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Fastman » 2009-10-04 13:50:42

ProFTP писал(а):
Fastman писал(а):
ProFTP писал(а):кто как видео хранил и показывал через http?
Мы храним на отдельном NAS-е. Для того чтобы показать юзеру на Flash-е написан браузерный клиент.
а что за GUI, это типо GTK+?
Ты чего... совсем что ле ??? :))))
Погляди внимательно - это браузер :))) Это web клиент к видео - архиву. Написан на Adobe Flash
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-04 13:56:09

а точно, не увидел
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ADRE
майор
Сообщения: 2645
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ADRE » 2009-10-05 6:52:45

в мануале mysql было написано, как хранить картинки , файло =/ не проще ли там поискать, сам одно время интересовался...
//del

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-05 8:40:23

я смотрел, перед тем как делать надо над архитектурой по размышлять... вот как раз хотел спросить кто как делал...

в общем я пока остановился, чтобы хранить в файлах...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-09 18:16:45

Fastman писал(а): Знаю систему где в базе хранятся так же ролики видео.. от 1 до 50мб. Мало того - они прямо из базы стримятся на web страницу.
ради интереса, если файл будет допустим 50-100М, проигрывателеь флеш чере JS

то как мне этот файлы читать побайтово из MySQL из blob?

или там движок в MySQL был другой со всем?

функция seek разве есть в MySQL?

из файловой системы вот так, отдача через php:

Код: Выделить всё

$start = (int) @$_GET['position'];
if ($start < 0) die("You fucking idiot");
// open file for reading
$fp = fopen($file, 'r+');
$fsize = filesize($file);
if ($start > 0)
{
    // seek to requested position
    fseek($fp, $start);
    // FLV header for the movie part. Magic. Just trust me.
    // Header code is completely taken from flv4php project
    $header = "FLV" . pack('C', 1 ) . pack('C', 5 ) . pack('N', 9 ) . pack('N', 9 );
    header("Content-Length: " . (strlen($header) + $fsize - $start));
    echo $header;
} else {
    header("Content-Length: " . $fsize);
}
set_time_limit(0);
while(!feof($fp)) {
    print(fread($fp, 1024));
    usleep(1000);// limit download speed
}
fclose($fp); 
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Fastman » 2009-10-09 18:33:23

ProFTP писал(а):
Fastman писал(а): Знаю систему где в базе хранятся так же ролики видео.. от 1 до 50мб. Мало того - они прямо из базы стримятся на web страницу.
ради интереса, если файл будет допустим 50-100М, проигрывателеь флеш чере JS
...
там MSSQL, мало того что в MSSQL/Oracle последних версий уже есть втроенные типы STREAM.
К сожалению в этом плане MySQL-ю еще как раком до Москвы :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-09 18:44:52

в Oracle прикольно http://search.cpan.org/~pythian/DBD-Ora ... e_database

может в MySQL 6.0 будет

===
в PgSQL есть какой-то seek
lo_lseek

$loc = $dbh->pg_lo_lseek($lobj_fd, $offset, $whence);

Changes the current read or write location on the large object $obj_id. Currently $whence can only be 0 (which is L_SET). Returns the current location and undef upon failure. This function cannot be used if AutoCommit is enabled.
но лучше пока на FS

(я хотел попробовать в MySQL посмотреть как будет, если бы можно было, если вдруг базу будет грузит, то тогда на ФС переместить не проблема)

===


вот на java есть такая штука по-моему http://dev.mysql.com/doc/refman/5.0/en/ ... notes.html

покускам может вытащить из blob

===

есть как дополнение:
http://blobstreaming.org/
Последний раз редактировалось ProFTP 2009-10-09 19:31:33, всего редактировалось 1 раз.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Pattern
сержант
Сообщения: 180
Зарегистрирован: 2007-08-30 23:45:54
Откуда: Санкт-Петербург
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение Pattern » 2009-10-14 19:07:59

firefly писал(а):подскажите пожалуйста есть ли смысл хранить файлы в БД
Смысла нет никакого, даже если это мелкие файлы. Это не больше не меньше чем просто "удобно", но не более того.
Честно скажу, не изобретайте велосипед и не ломайте голову над не нужными проблемами.
Из приведённых выше плюсов и минусов можно подчеркнуть только минус в сторону разработчика, кто испытывает эти "плюс-минусы". А по факту, лучше держать файлы отдельно, БД отдельно. Для скуля - никаких blob-полей и минимум полей типа text, если вы действительно хотите шустрой и не напряжной работы серваку.
Как распределять данные? Да никак! Все нужные файлы хранятся только в одном месте. Не нужно ломать над структурированным хранением файлов. Это вам не локальный компьютер, чтобы видео в одном месте, картинки в другом, софт в третьем. Конечно, не сомненно, можно посидеть пару суток с карандашом в зубах и продумать как будет организовываться сохранение по каталогам. Но потом можно "хапнуть" горя с этой структурой (например, при переносе файла из одно каталога в другой или когда файл может быть расположен в разных каталогах). Посему, лучше когда единое хранилище для всего хлама. Во время сохранения файла ему присваивается имя текущего времени с точностью до 100 секунды (типо 2009101419365199). Расширение можно так же не указывать, всё равно вы его никогда не будете локально на серваке запускать. Реальное же имя указываем в таблице БД. Всё это делается для того, дабы не получить "случайное" (читай, не предусмотренное) сохранение файла с русским именем. Но если совсем не в моготу, чтобы ещё всё наглядно было при визуальном контроле, расширение можно и оставить. Но говорю из практики, вам это никогда не понадобится даже в мегасуперкритических ситуациях.
Всё остальное отдаём на съедение скриптам и скулю. Про скрипты говорить вообще ничего не буду, придумать как вытащить данные или сохранить их - это не составляет особого труда. Структуру БД для хранения и получения этих данных можно ограничить до 3 таблиц:
1 - дерево каталогов (например, структура nestedset)
2 - тип данных (gif, png, avi и.т.п) с расширениями (отдельным полем)
3 - файлы (имя файла физическое, имя файла отображаемое, тип, каталог)
Но обычно, при хорошем раскладе, таблиц получается больше (если грамотно всё организовывать). Таблицы с обязательным индексированием, иначе при перевале записей за 10к будете ощущать тормоза при обработке данных.
То что я описал выше - работает. Причем работает очень шустро даже при огромном потоке запросов (опыт при работе с СМС-центрами) на компе среднего класса (даже не сервере).
Your bunny wrote: its not a bug, this is a feature, actually... ;)

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Когда файлы хранят в БД???

Непрочитанное сообщение ProFTP » 2009-10-14 21:16:12

Pattern писал(а):Как распределять данные? Да никак! Все нужные файлы хранятся только в одном месте
это точная инфомрация? система не будет тратить усилия чтобы открыть этот каталог если там будет большое n-количество файлов?

насколко я помню это в handbook было написано что при открытии каталога используються специальный кэш, т.к. это ресурсоемко
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение