Tag: mongo

Наверное буду аттачи в базу заталкивать

Ну не в mysql, ясен пень. В монгу. Нашел бенчмарк не первой свежести, других нету:

coffeepowered.net/…/serving-files-out-of-gridfs/

Всего в 6 раз медленнее. Зато нема тонн файлов/директорий, не надо мудиться с именами, и репликация/шардинг с пол пинка. К тому же есть мнение, что nginx-овский модуль сильно проседает из-за того, что написан в блокирующем режиме. Исходники тут:

github.com/mdirolf/nginx-gridfs

Впрочем, есть совсем простая идея. На полноразмерные аттачи спрос не сильный - в основном на превьюшки и аватарки. Можно в nginx на них кеш зарядить и не париться. Такие картинки автоматически в виде файлов кеша сложатся, а места на диске добавят процентов 20, что вполне приемлимо. То бишь, и отдаваться будут быстро, и храниться так, как удобно. Осталось сочинить структуру монговских коллекций, куда пихать файлы с метаданными, и формат ссылок, чтобы легко разруливать размеры.

Монга 1.4 вышла

blog.mongodb.org/…/mongodb-1-4-ready-for-productio…

Среди прочего добили фоновое добавление индексов и прикрутили геопоиск. Пацаны давят на больное 😃

Я тут прикинул, что если взять монгу, phpdaemon и задействовать fcgi cache в nginx, то можно склепать вполне реактивную хранилку форумных аттачментов. С учетом специфики нагрузок, должно получиться почти так же быстро, как с простыми файлами. А профит в том, что решение станет масштабируемое, и пропадет гимор с идиотской структурой вобловских подкаталогов. Вобла конечно и сейчас может файлы в базе держать, но под такие задачи мускуль и синхронные запросы - это трындец.

К монге вообще разнообразный корыстный интерес. Барахолка и гуглокарты на реляционку местами говняно ложатся. Если тестовый проект нормально пойдет - можно будет подумать о внедрении. Ну и просто интересно поковыряться, в конце концов 😃