Data Layer Architecture Best Practices