The DBIAgent is your answer to non-blocking DBI in POE.
It fires off child processes (configurable, defaults to 3) and feeds
database queries to it via two-way pipe (or however Wheel::Run is able
to manage it).
WWW: http://search.cpan.org/dist/POE-Component-DBIAgent/