Online learning is a subfield of machine learning where practitioners sometimes refer to as incremental or out-of-core learning where machines need to continuously learn and predict in real-time. Lately, this field is gaining more attention, especially with the continuous training and deployment of machine learning models. According to the traditional learning paradigm, data becomes available in sequentially incremental order to update predictors for future data at each step or point in time. This is opposing to the conventional batch learning techniques which generate the best predictor by learning on the entire training data set at once. Compared to “traditional” ML solutions, online learning is a fundamentally different approach, one that embraces the fact that learning environments can (and do) change over time. Ideally, we need a model that not just predicts in real-time, but learns in real-time.