Add database pool abstraction