Achieving Performance Predictability in Transactional Databases