Пыха всегда с тобой

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 10:58:35

Страниц: [1] 2
Печать
Автор Тема: Где лучше хранить картинки?  (Прочитано 894 раз)
0 Пользователей и 1 Гость смотрят эту тему.
gooddaytoday    ↓ 
15 Февраль, 2011, 06:01:41
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 38
Сила слова: 0

Не встречался до сих пор с такой дилемой: где лучше хранить картинки, если их 10 000+ и нужно чтоб быстро все было?
 
1. Рассортировать по папкам на диске?
2. Или записывать в БД?
Записан
TRIAL    ↓ 
15 Февраль, 2011, 06:09:53 , спустя 8 минут 12 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

Ссылки хранить в БД а сами картинки храни как тебе удобно.
Записан

from TRIAL with LOVE
AlexB    ↓ 
15 Февраль, 2011, 06:24:13 , спустя 14 минут 20 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6


Не встречался до сих пор с такой дилемой: где лучше хранить картинки, если их 10 000+ и нужно чтоб быстро все было?
1. Рассортировать по папкам на диске?
2. Или записывать в БД?
Как правило, в 99% случаев, вариант 1 более удобен, быстрее и в работе, и в реализациии.
Но окончательное решение можно принять только зная задачу целиком.
Записан

fgets    ↓ 
15 Февраль, 2011, 06:56:25 , спустя 32 минуты 12 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 1119
Сила слова: -0.09

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

эй детка не ссы в бассейн

Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
AlexB    ↓ 
15 Февраль, 2011, 07:39:18 , спустя 42 минуты 53 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6


И опять таки хочется наебнуть вариант фейсбука с его хранением всех картинок в одном файле, но надо написать демон прежде а потом выебываться. Чем я собственно щас и занимаюсь
А нахуя, собственно?
Записан

fgets    ↓ 
15 Февраль, 2011, 09:15:07 , спустя 1 час 35 минут 49 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 1119
Сила слова: -0.09



И опять таки хочется наебнуть вариант фейсбука с его хранением всех картинок в одном файле, но надо написать демон прежде а потом выебываться. Чем я собственно щас и занимаюсь
А нахуя, собственно?

скорость чтения выше а нагрузка на файловую систему меньше
Записан

эй детка не ссы в бассейн

Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
AlexB    ↓ 
15 Февраль, 2011, 09:26:41 , спустя 11 минут 34 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6


скорость чтения выше а нагрузка на файловую систему меньше
Так то оно так, но ты уверен, что именно это окажется узким местом, и если даже это так не проще ли вынести картинки на отдельный сервер с нжинксом?
У нас свыше 6 миллионов просмотров в сутки, на каждой странице не один десяток картинок, но пока еще не возникла потребность в таких решения.
Оно тебе точно надо? Или просто для научного интереса?
Записан

fgets    ↓ 
15 Февраль, 2011, 09:54:01 , спустя 27 минут 20 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 1119
Сила слова: -0.09



скорость чтения выше а нагрузка на файловую систему меньше
Так то оно так, но ты уверен, что именно это окажется узким местом, и если даже это так не проще ли вынести картинки на отдельный сервер с нжинксом?
У нас свыше 6 миллионов просмотров в сутки, на каждой странице не один десяток картинок, но пока еще не возникла потребность в таких решения.
Оно тебе точно надо? Или просто для научного интереса?

скорее второе
Записан

эй детка не ссы в бассейн

Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
Hight    ↓ 
16 Февраль, 2011, 08:59:51 , спустя 23 часа 5 минут 50 секунд
НЕ ХУЕТА! ХУЕТА!

Красный властелин
Группа: Адекваты

Карма: 31
Сообщений: 1626
Сила слова: 1.91

Все эти оптимизации, как у фейсбука и прочих, нужно делать тогда когда в этом есть жизненная необходимость. С самого начала это экономически не выгодно. Что проще - писать свой софт, этакая БД для картинок, или поставить пару серваков? Пара серваков обойдётся дешевле.
 
А ради спортивного интереса у меня приятель свой сервер БД написал. Поржали и только.
Записан

artoodetoo    ↓ 
24 Январь, 2012, 11:45:16 , спустя 341 день 13 часов 45 минут 25 секунд
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 124
Сообщений: 3805
Сила слова: 3.26

Хз как фейс хранит картинки, теперь понятно как он их отдает: случилось сегодня
 
Спустя 31 секунду добавил
Варниш - кеширующий прокси сервер


* fb_crash.png (6.61 Кб, 484x360 - просмотрено 45 раз.)
Записан
lolcat    ↓ 
24 Январь, 2012, 03:39:01 , спустя 3 часа 53 минуты 45 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -3
Сообщений: 367
Сила слова: -0.82


И опять таки хочется наебнуть вариант фейсбука с его хранением всех картинок в одном файле, но надо написать демон прежде а потом выебываться. Чем я собственно щас и занимаюсь
Антипаттерн головного мозга: преждевременная оптимизация.
 
Присоединяюсь к TRIAL.
Записан
Turos    ↓ 
24 Январь, 2012, 11:12:35 , спустя 7 часов 33 минуты 34 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 1
Сила слова: 0

В файловой системе, только дерево папок надо создавать чтобы в одной папке все не лежало, иначе тормозить будет когда много картинок
Записан
adwo    ↓ 
25 Январь, 2012, 01:22:35 , спустя 2 часа 10 минут
НЕ ХУЕТА! ХУЕТА!

Укусил питон. Python infected.
Группа: Джедаи

Карма: 18
Сообщений: 569
Сила слова: 3.16

amazon s3, ёп
Записан

chmod 777 you mom, bastard
AlexanderC    ↓ 
25 Январь, 2012, 06:52:01 , спустя 17 часов 29 минут 26 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 1
Сообщений: 140
Сила слова: 0.71

хранить на диске, ссылки в бд. структуру папок можно так: 0001, 0002, 0003, ...., 9999, в каждой папке создай ещё папки от AA до EZ(range), ну и в последних хранить файлики...
Запись по одному файлу поочерёдно- 0001 -> АА потом 0001 -> AB потом ... 0001 -> EZ , далее переходит к рут папке 0002 итдитп. при помощи простых алгоритмов можно свести к минимуму калижины(collisions)
Спустя 43 секунды добавил
при паралельных записях
Записан

*Не всё  Windows™ что виснет, не всё  Linux что "да ну его..."
OlegSmirnov    ↓ 
20 Февраль, 2012, 08:43:19 , спустя 26 дней 1 час 51 минуту 18 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 3
Сила слова: 0

структуру папок можно так: 0001, 0002, 0003, ...., 9999, в каждой папке создай ещё папки от AA до EZ(range), ну и в последних хранить файлики...
Я бы по-другому сделал. Например, если у нас интернет-магазин, то структура такая
 
images/ID_товара/ID_фотографии
 
В случае фотогаллереи как-то так:
 
images/ID_альбома/ID_фотографии
 
При такой структуре даже не нужно хранить путь к файлу картинки. Он элементарно строится просто по ID из б.д. Также исключается возможность коллизий. Сперва делаем запрос на вставку данных в б.д. (INSERT), получаем ID добавленной записи (AUTO_INCREMENT) и уже после сохраняем картинку в нужную папку (ID альбома/товара/пользователя и т.п.) с названием, соответствующим ID самой картинки.
Записан
Страниц: [1] 2
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, Sinkler, mario, KaFe