powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Покритикуйте архитектуру
25 сообщений из 65, страница 2 из 3
Покритикуйте архитектуру
    #37912066
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya Ilyinov2. Предложенный подход гавно, потому что картинки надо хранить на диске, я видел что Ашот так делает и это единственно верное решение.
Картинки в базе никто не хранит т.к. у вас java сервер скорее всего не выдержит и отвалится пока их будет отдавать.
Не отдать ли это дело тем, кто на это заточен. Например тот же nginx для отдача контента + к нему upload module для загрузки изображений.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912070
Александр2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПокритикуйте архитектуру
да гавно, а не архитектура
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912080
Kostya Ilyinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwa,

Насчет "никто не хранит" - весьма спорное утверждение. Из достоинств данного подхода - простота обслуживания. Я уже по-моему говорил, что буду использовать CDN, так что может оверхед разделения сервера на сервер приложений и веб сервер будет менее оправданна. Отсюда собственно и вопрос - в чем недостатки подобного подхода проталкивания картинок на сервера.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912086
Kostya Ilyinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр2,

Боюсь показаться неоригинальным, но хотелось бы услышать более аргументированный ответ. Или у Вас так не принято?
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912100
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaКартинки в базе никто не хранит

Хранят.

schwaт.к. у вас java сервер скорее всего не выдержит и отвалится пока их будет отдавать.

Отваливается не Java сервер. А соединение между Java и базой, если блобы засирают весь канал.

schwaНе отдать ли это дело тем, кто на это заточен.

Несколько лет назад меряли. Томкат с нативными коннекторами отдаёт не медленнее апача. Т.е. для начала можно и не заморачивается. Если производительность упрется, то перевести на nginx.

Теперь по теме. Во-первых сейчас многие SQL сервера предлагают множество оптимизаций для хранения именно файлов.
Во-вторых тупо хранить картинки отдельно можно только если они не привязана к данным - статика. Если картинки привязаны к данным, то отдельное храние выходит боком в процессе бэкапов, массовых апдейтов, интеграций и миграций.
Хранение картинок в базе намного удобнее. Если это становится узким местом сервера, то тогда уже имеет смысл подумать о толстом кэше в файловой системе и быстром HTTP сервере для таких данных.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912103
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaКартинки в базе никто не хранит
спорно))
http://tile.openstreetmap.org/11/1238/642.png
картинка 256х256 пикселей.
Если это инфа о товаре, то почему её нельзя грузить вместе с объектом - сущностью хибером.
Это ведь 1,2 килобайта.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912104
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya IlyinovPetro123,

Спасибо - буду делать. Как запущу, дам знать. Может на хабрушку чего чиркану если время будет. Спасибо всем откликнувшимся.
Что ты там черканёшь? О чем ты там будешь писать? Непонятно. Ведь никакого
новаторства нет. Нет идеи. Зачем там нужен очередной ФВмас?
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912113
Kostya Ilyinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Хехе и то правда, куда мне грешному. Про стартапчик свой напишу. Вот про что.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912115
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше знаешь-ли. Чайку попить. И посидеть тихо сложа руки. Это так. Поверь будет лучше.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912117
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya Ilyinov,

А зачем в этой архитектуре SQL сервер? Если, судя по описанию, происходят сплошные манипуляции "картинками"? Какая-нибудь файл-ориентированая NoSQL база не подойдёт?
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912128
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczKostya Ilyinov,
А зачем в этой архитектуре SQL сервер? Если, судя по описанию, происходят сплошные манипуляции "картинками"? Какая-нибудь файл-ориентированая NoSQL база не подойдёт?
исходная посылка - он любит оракл. Тоже - обоснование ))
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912136
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123исходная посылка - он любит оракл. Тоже - обоснование ))
Ага, однопроцессорная база данных - самое то.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912139
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczschwaКартинки в базе никто не хранит

Хранят.

schwaт.к. у вас java сервер скорее всего не выдержит и отвалится пока их будет отдавать.

Отваливается не Java сервер. А соединение между Java и базой, если блобы засирают весь канал.

schwaНе отдать ли это дело тем, кто на это заточен.

Несколько лет назад меряли. Томкат с нативными коннекторами отдаёт не медленнее апача. Т.е. для начала можно и не заморачивается. Если производительность упрется, то перевести на nginx.

Теперь по теме. Во-первых сейчас многие SQL сервера предлагают множество оптимизаций для хранения именно файлов.
Во-вторых тупо хранить картинки отдельно можно только если они не привязана к данным - статика. Если картинки привязаны к данным, то отдельное храние выходит боком в процессе бэкапов, массовых апдейтов, интеграций и миграций.
Хранение картинок в базе намного удобнее. Если это становится узким местом сервера, то тогда уже имеет смысл подумать о толстом кэше в файловой системе и быстром HTTP сервере для таких данных.
Имея на каждой странице с по парой десятков картинок, с каждый новым заходом получаем кучу не нужных запросов к апп серверу и базе (пока не закэшировал клиент эти изображения и так для каждого нового пользователя).
Мне вот проще взять nginx чем героически бороться с проблемами производительности, которые гарантировано возникнут.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912143
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может у него 99% нагрузки ляжет на апп. Тогда действительно возникает вопрос
а зачем собсно РДБМС ? Картинки они всегда лучше в файловой системе лежали
чтоб там старина Том не говорил. Дешево и сердито. И надёжнее даже как-то.
Вероятность отказа ФС на несколько порядков меньше чем ДБМС.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912144
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczPetro123исходная посылка - он любит оракл. Тоже - обоснование ))
Ага, однопроцессорная база данных - самое то.
Если хочется получить на выходе еще одно нынче модное "высоконагруженное приложение" на пустом месте, то как раз такой выбор является самым оптимальным.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912145
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaИмея на каждой странице с по парой десятков картинок
вот тут он поторопился.
- какой размер картинок?
- грузятся ли они в фоне? Т.к. от ГУИ зависит. Оно будет тормозить.
- как это всё безобразие смотреть на сотовом (мал.экране)?

и т.д.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912160
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага. В этоху клаудов и гридов как-то стало модно забивать на конфигурацию
и расчёт нагрузки. Дескыть один куй всё в облаке. Само-собой распредеилится.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912161
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaИмея на каждой странице с по парой десятков картинок,

Вы уже узнали сколько у автора их будет?

schwa с каждый новым заходом получаем кучу не нужных запросов к апп серверу и базе (пока не закэшировал клиент эти изображения и так для каждого нового пользователя).

Эээ, ну без серверного кэша, можно СУБД нагнуть запросами даже без блобов.

schwaМне вот проще взять nginx чем героически бороться с проблемами производительности, которые гарантировано возникнут.
Ну, тогда расскажите как вы делаете бэкапы и заботитесь о целостности состояний в базе и ФС. Транзакции как откатываете?
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912162
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМожет у него 99% нагрузки ляжет на апп. Тогда действительно возникает вопрос
а зачем собсно РДБМС ? Картинки они всегда лучше в файловой системе лежали
чтоб там старина Том не говорил. Дешево и сердито. И надёжнее даже как-то.
Вероятность отказа ФС на несколько порядков меньше чем ДБМС.
База может понадобиться для того, чтобы иметь некое соответствие этих картинок с другими данными, но в таком случае от картини можно быть достаточно id (+ какие-нибудь данные еще) и хранить ее физически там не обязательно. Т.к. из-того же id можно легко уже вычислять адрес, где на самом деле лежит изображение.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912168
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВероятность отказа ФС на несколько порядков меньше чем ДБМС.
Да, чего там мелочится. Не на несколько порядоков а на десятки и сотни порядоков надежнее. И двух фазный комит поддерживает. И файлы всегда до конца дописывает. И откаты делает с пол пинка.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912172
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня был опыт разработчи (в команде) одной XML-системы на базе IIS+ASP.
Обходились операциями с NTFS. Даже индексы строили на базе junction points
(это так называются сим-линки). Транзакции иммитировались двух-фазной
операцией с XML-документом.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912190
рубист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya Ilyinovрубист,

Оргументируйте, коллега

У самого есть проект с давней историей "интранет\документооборот" jpg\pdf\xls\doc внутри компании, сейчас порядка 30000 файлов в БД блобах.
Приемущество хранения файлов в БД только одно, проще администрировать (бекапы, репликации и т.д.) во всем остальном только минусы.
А именно, больше нагрузка на БД, рост размера БД и её бекапов, сложности доступа к файлам из вне,
меньше гибкость (попробуйте добавить версионность как в вашем случае с картинками) и чисто субьективное мнение - не годится.

С файловой системой чуть сложнее администрировать (бекапы, репликации), зато все остольное очень хорошо.
Можно внешним сервисам файлы отдать, из бекапа проще нужные файлы достать,
файловую систему можно подобрать получше или затюнить в сторону быстрого чтения,
можно пользователям мгновенно отдавать файлы без участия приложения или БД через X-Accel-Redirect (nginx) / X-Sendfile (apache),
версионность проще сделать + создание версий (картинок) делать в фоновом режиме без участия БД. и чисто субьективное - годится.

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

все это IMHO конечно, что лучше - решать вам. :)
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912192
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
альтернатива:

купить хостинг с PHP/MySQL - стоимость 500-1000 рублей в месяц
поставить бесплатную Joomla
выбрать бесплатный скин и добавить в него свой логотип
поставить бесплатные плагины для загрузки картинок

всё. Ничего програмить не нужно, стоит копейки.

Производительности должно хватить. Если нет то можно арендовать выделенный сервер и платить аж 3 тыщи рублей.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912230
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы используете S3, этого достаточно. Хранения картинок в БД, hdd - нафиг. За вас все сделает AWS. На первое время можно обойтись без CloudFront - тем более, что для России он вроде не так, чтобы уж очень полезен.

Если задача тупо хранить графику и отдавать графику, вам хватит что-то типа m1.small за ~2000р/м и s3.
...
Рейтинг: 0 / 0
Покритикуйте архитектуру
    #37912437
Кореец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya IlyinovКартинки предполагается хранить в базе как БЛОБы.

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

Как бы оракл это оптимально не хранил все равно будет медленнее записи файлов на диск.

>пользователям загружать картинки товаров, думаю не более 20 на пользователя.
>при наличии около 1000 одновременных пользователей в системе
>на первое время 11ГБ хватит за глаза,

вы уверены?
1000*20*400Кб..

уже как бы близко к пределу. или фотки мелкие совсем или выдумаете пользователи такие гуманные?
да они вам по 10 метров фотки начнут кидать. Не оболщайтесь что если урезать им такую возможность не урежется само количество пользователей. Придется сжимать и обрабатывать фотки самому. Вот увидите.

Вы собрались после сохранения в БД и перекачки их на СДН потом из БД удалять? а что тогда там останется вместо? урл на фотку в сдн или просто имя а сдн само решает что это за файл и где лежит. имя уникально?
а зачем тогда так сделать когда сразу проще кинуть файлик на диск и сохранить его расположение в базе в виде пути к папке.
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Покритикуйте архитектуру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]