Помимо уже предложенного AnyEvent::DBI можете попробовать Coro::Mysql (автор обоих модулей -- Marc Lehmann).
Его отличие в том, что он использует недокументированные возможности libmysqlclient, чтобы была возможность асинхронно отправлять запросы. Поэтому накладные расходы заключаются в том, что создается корутина вместо fork'а в AnyEvent::DBI. Из этого следует, что используя AnyEvent::DBI можно получить возможность задавать запросы параллельно "из коробки", в то время как в Coro::Mysql в один момент времени можно задавать только один запрос (и за этим надо следить!), если нужно "параллельно" без блокировок (учитывая, что это Coro) задавать запросы к одной и той же базе, надо самому создать столько коннектов, сколько нужно. Если интересно, то да, мы используем Coro::Mysql в продакшене, полет нормальный. Есть еще некоторые тонкости при работе с этим модулем, но они довольно незначительные. 2010/9/29 Ruslan Zakirov <[email protected]> > Привет, > > Решил написать проект на AnyEvent, но нуна БД. Чего выбрать не знаю. > Можно Pg взять и попробовать его async интерфейс, но как-то не хочется > по таймеру чекать запросы. > > Вполне подойдет key/value storage, но тут сплошной пробел в опыте. > Какие есть у меня опции? > > -- > Best regards, Ruslan. > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
