Design and implementation of learning-based storage systems: a holistic approach