MySQL abstraction layer