Self-Driving Database Management Systems: Forecasting, Modeling, and Planning