[Moscow.pm] persisten storage под AnyEvent

Yury Zavarin yury.zavarin на gmail.com
Ср Сен 29 07:35:00 PDT 2010


Помимо уже предложенного AnyEvent::DBI можете попробовать Coro::Mysql (автор
обоих модулей -- Marc Lehmann).

Его отличие в том, что он использует недокументированные возможности
libmysqlclient, чтобы была возможность асинхронно отправлять запросы.
Поэтому накладные расходы заключаются в том, что создается корутина вместо
fork'а в AnyEvent::DBI.
Из этого следует, что используя AnyEvent::DBI можно получить возможность
задавать запросы параллельно "из коробки", в то время как в Coro::Mysql в
один момент времени можно задавать только один запрос (и за этим надо
следить!), если нужно "параллельно" без блокировок (учитывая, что это Coro)
задавать запросы к одной и той же базе, надо самому создать столько
коннектов, сколько нужно.

Если интересно, то да, мы используем Coro::Mysql в продакшене, полет
нормальный. Есть еще некоторые тонкости при работе с этим модулем, но они
довольно незначительные.

2010/9/29 Ruslan Zakirov <ruz на bestpractical.com>

> Привет,
>
> Решил написать проект на AnyEvent, но нуна БД. Чего выбрать не знаю.
> Можно Pg взять и попробовать его async интерфейс, но как-то не хочется
> по таймеру чекать запросы.
>
> Вполне подойдет key/value storage, но тут сплошной пробел в опыте.
> Какие есть у меня опции?
>
> --
> Best regards, Ruslan.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20100929/9133ccbd/attachment.html>


Подробная информация о списке рассылки Moscow-pm