It's things like this that the (limited) documentation (for Catalyst) doesn't make clear, the only thing
Catalyst::Plugin::Authentication::Store::DBIC says is:
For best performance when using roles, DBIx::Class models are recommended. By using DBIx::Class you will benefit from optimized SQL using joins that can retrieve roles for a user with a single SQL statement.
And I have yet to see any example code/tutorials that uses something besides SQLite.