Как распределять данные на веб сайтах?

P
На сайте с 27.10.2012
Offline
24
1035

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

Как распределить это хранилище? Например у меня более миллиарда изображений для моего блога на WordPress и на хостинге сайта вся эта папка с файлами не умещается. Как разместить файлы на разных выделенных серверах? Методом создания ссылок и монтирования к одной папке можно примонтировать только одну директорию, но мне нужно распределение на множество серверов.

Причём такая проблема поголовно во всех CMS. Даже CMS для видео хостингов устроены таким образом, что хранилищем для всех видео выступает одна папка в корне сайта. Неужели нет единого способа распределения данных по серверам? Опять всё писать вручную?

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#1

Platinumix, есть разные виды реализаций, все зависит от того что конкретно вы хотите получить в конечном итоге.... Вот к примеру почитайте о нашей методике балансировки трафика как раз касается раздачи картинок.

Отдельно стоит отметить что такой проблемы как вы говорите поголовно нет в каждой ЦМС, потому что далеко не каждый сайт обладаем набором из миллиарда изображений и как вы понимаете далеко не каждая ЦМС в принципе рассчитана на такие вот объемы и является оптимальной для них же... По этому тут обобщать нечего, у вас ресурс который явно выходит за рамки "обычного", по этому и решение у вас должно выходить за рамки обычных, ничего удивительного в этом нет.

То что приходит в голову сразу:

1. Методика аппаратной балансировки - описанная по ссылке выше.

2. Методика программной балансировки с допиливанием движка.

3. Методика балансировки путем DNS записей.

Это так.... сначала :) А если подумать то вариаций можно найти очень много... В любом случае вы должны понимать что "как есть" ваша CMS "не схавает" ни один из этих вариантов.... надо будет менять логику добавления контента на сайт, а так же создавать некие базы соответствий , если вы решите все это разложить именно на разные сервера.... Кстати, картинки то ваши они сколько весят все вместе, а то "более миллиарда" как-то не совсем точно :D ? Меня недавно один человек просил посчитать количество файлов на его почтовом сервере говоря о том, что там около 7 миллиардов файлов... оказалось 50 миллионов :D

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
P
На сайте с 27.10.2012
Offline
24
#2

Там сейчас не больше 4 тб, но их количество и размер постоянно увеличивается и количество хранилищ надо будет наращивать.

В общем я так и думал, что придётся писать самому. Понятное дело, что для обычных сайтов это не нужно. Я просто возмущаюсь по поводу специализированных CMS для фото и видео хостингов, у них же у всех тоже хранилище представлено в виде одной папки в корне и всё и весь механизм загрузки файлов и их учёта (контрольные суммы и т.д.) в базе заточен исходя их этой одной директории. В общем опять всё писать самому.

MK
На сайте с 05.09.2008
Offline
520
#3

Platinumix, Все зависит от желаемого бюджета на такое хранилище и требований.

Самое простое взять сразу с запасом на будущее, хранилище на 50-100тб например, и не опасаться что его не хватит...

С другой стороны, если рост быстрый, то его точно не хватит со временем и нужно заранее начинать думать о распределении нагрузки, начинать продумывать этот момент, допиливать CMS итд.

*.ru-tld.ru: .RU и .РФ 149р от 25 доменов (https://ru-tld.ru/domain-registration/) / Отличный перехват доменов в зонах .RU/.РФ (https://BackOrder.ru) ISP Manager 4/5 Lite всего 2 евро в месяц (http://ru-tld.ru/soft-ispsystem/) *.ru-tld.ru - Нужен RU-CENTER дешево? Тогда идите к нам! (/ru/forum/929904)
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#4
MrKIM:
Самое простое взять сразу с запасом на будущее, хранилище на 50-100тб например, и не опасаться что его не хватит...

Извините но это самое глупое предложение :) Взять можно и 100 TRB И 200 TRB тут вы конечно правы, но оперировать этими данные тоже ведь надо, ТС же говорит что у него рабочий сайт, а это значит , что чем больше контента тем больше к нему запросов, как скоро умрет хранилище ? Я думаю первом десятке терабайт ему уже будет каюк.... если начнут плотно запрашивать контент.... Тут кроме "тупого места" , нужна еще "раздаточная мощность" и технология раздачи.... ТС копает в правильном направлении, надо разбивать контент на части, допустим на одном сервере не более TRB .... (Это условно).... и плавно наращивать в ширину сервера, а не ставить 1 большой сервер с 100 TRB.. толку будет мало...🤪

---------- Добавлено 28.06.2014 в 19:21 ----------

Platinumix:
Там сейчас не больше 4 тб, но их количество и размер постоянно увеличивается и количество хранилищ надо будет наращивать.

В общем я так и думал, что придётся писать самому. Понятное дело, что для обычных сайтов это не нужно. Я просто возмущаюсь по поводу специализированных CMS для фото и видео хостингов, у них же у всех тоже хранилище представлено в виде одной папки в корне и всё и весь механизм загрузки файлов и их учёта (контрольные суммы и т.д.) в базе заточен исходя их этой одной директории. В общем опять всё писать самому.

Знаете, подходить к вопросу надо комплексно, во первых, я на 99.99% уверен в том, что >50% вашего контента это мертвый груз, к которому в лучшем случае за месяц приходит 1 обращение.... а около 20-30% контента вообще никогда не запрашивается (разве что ботами для индексации).... потому как контент какой бы он не был имеет свойство устаревать, терять актуальность и смысл.... по этому нужна логика работы с активным \актуальным контентом, с помощью такой логики, вы сможете положить на 1-2 сервера самый активно запрашиваемый контент, а остальное отложить подальше на менее производительные и дешевые решения... Если вам интересно - можем пообщаться более предметно, есть опыт раздачи картинок полу миллионой аудитории..

MK
На сайте с 05.09.2008
Offline
520
#5

Romka_Kharkov, Нет ничего глупее, чем передергивать и додумывать, а вы именно этим занимаетесь.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#6
MrKIM:
Romka_Kharkov, Нет ничего глупее, чем передергивать и додумывать, а вы именно этим занимаетесь.

Сверьте количество букавок в моем и вашем пояснении.

Я поясняю вполне доходчиво, что если будет массив размером 100 TRB забит данными станет серьезный вопрос оперирования этими данными... Вы хотите сказать что этого не случится?

Я ничего не передергиваю, говорите конструктивно, если я что-то сказал не так - поправьте, но пока что вы говорите нечто в роде песочного "сам дурак". Аргументы в студию..

N
На сайте с 06.05.2007
Offline
419
#7
MrKIM:
Romka_Kharkov, Нет ничего глупее, чем передергивать и додумывать, а вы именно этим занимаетесь.

Так это обобщение, хотя и не всегда точное. Вы сначала убедите, что чем-то отличаетесь от большинства.

Platinumix:
Причём такая проблема поголовно во всех CMS. Даже CMS для видео хостингов устроены таким образом, что хранилищем для всех видео выступает одна папка в корне сайта. Неужели нет единого способа распределения данных по серверам? Опять всё писать вручную?

Значит просто нет массовой востребованности. По крайней мере на западе, где эти скрипты разрабатываются.

Люди, у которых данные накапливаются естественным образом, постепенно учатся с ними обращаться и проблем с модификацией, например, wordpress у них нет.

Вот откуда вы взяли 4тб картинок? Вы же их слили с торентов "самые лучше картинки для рабочего стала" (опять же, обобщая) А покажите-ка авторские права.

Файловые хостинги тоже какбе вне закона.

Из видеоскриптов clipshare и его порнобрат (забыл как называется) поддерживают мультисерверность. Там просто кодирование очень тяжкая задача и это довольно быстро вызывало проблемы.

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

Кнопка вызова админа ()
MK
На сайте с 05.09.2008
Offline
520
#8

Romka_Kharkov, Есть много неизвестных, без которых гарантированно не возможно сказать что нужно ТСу, тем более решение все равно останется за ним, а не за вами.

Взять хранилище это один из быстрых и простых вариантов.

В такой же ситуации, есть клиенты которым проще пойти именно этим путем, а тем временем заниматься не спеша решением данной проблемы в корне.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#9
MrKIM:
Romka_Kharkov, Есть много неизвестных, без которых гарантированно не возможно сказать что нужно ТСу, тем более решение все равно останется за ним, а не за вами.

Взять хранилище это один из быстрых и простых вариантов.

В такой же ситуации, есть клиенты которым проще пойти именно этим путем, а тем временем заниматься не спеша решением данной проблемы в корне.

Видимо аргументов нет, я еще раз говорю вам и за одно ТС который конечно же будет решать сам что выбрать, что купить 100 TRB массив в принципе проблем особых не составляет, однако забив его данными - работать с ним будет почти что не реально... Если это конечно не локальный диск D: к которому вы обращаетесь за одной екселькой.... а ТС явно написал , что у него посещаемый ресурс с контентом который и надо складировать и раздавать, так что не вводите людей в заблуждение, предложенное вами равносильно тому что я бы сказал "Да тут сервер нужен.....".

MK
На сайте с 05.09.2008
Offline
520
#10

Romka_Kharkov, Читать нужно полностью, а не тешить свое ущемленное самолюбие!

Только как раз оно, меня никак не интересовало.

Продолжайте в том же духе.

Удачи :-)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий