Карма: 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 секунду добавил Варниш - кеширующий прокси сервер
|
|
|
|
Записан
|
|
|
|
|
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 самой картинки.
|
|
|
|
|
Записан
|
|
|
|
|