Рубрика: Базы данных

Persistent Key-Value база с Memcached-интерфейсом

Berkeley DB

Форменное свинство, замечательная persistent key-value база memcachedb с декабря 2014 выкинута из портов FreeBSD с формулировкой: «Depends on deprecated Berkeley DB version». Я этого не понимаю. Они же не планируют выкинуть memcached, на которой кешируется туча сайтов? Ну и что тогда стоило поддержать базу, использующую тот же движок? Причем MemcacheQ пока благополучно присутствует, на чем спасибо, […]

Обработчик очереди сообщений (вариант от ruhighload.com)

ruhighload.com — хороший ресурс, там много полезного. Недавно появилась статья Асинхронность на MemcacheQ, вызывающая сомнения в части обработки очереди. Глядя на такой код, запускаемый из CLI:

Использование очереди сообщений

message queue

Вопрос первый — что использовать. Варианты есть, я пробовал три. Gearman — штука тяжелая, и для работы (в смысле потребных ресурсов), и для использования. На мой взгляд, его использование оправданно только если вы дали себе труд его полноценно освоить, и вся его функциональность вам действительно необходима. Кому-то, видимо, это может потребоваться.

Не злоупотребляем RDB

Если наше приложение (сайт) активно использует RDB (relational database), например MySQL или PostgreSQL, у нас появляется определенный соблазн пихать туда что ни попадя, даже безо всякой надобности. Понадобился флаг? — создадим табличку. Захотелось сохранить профиль посетителя в виде одного XML-файла? — создадим еще одну.

Nginx и memcached

memcache nginx diagram

Про то, как правильно (локально) подключать memcached, я уже писал. Но еще есть вопрос, как правильно с ним работать. Если из php, написано там же. Но во всех случаях, когда можно, лучше не дергать php попусту. Если нужно, например, поднять или сбросить флаг, для которого используется memcached, лучше делать это прямо из nginx.

phpMyAdmin на жесткой ссылке

phpMyAdmin

Если ваш document_root совпадает с /usr/local/www, вопросов нет, установили и пользуемся. Но если вы предпочитаете в качестве document_root что-нибудь вроде /home/user/www/domain.com, то приходится для phpMyAdmin заводить виртуальный сервер с изрядным куском текста в конфиге сервера. Но можно сделать проще: