Adapting Data Representations For Optimizing Data-Intensive Applications