OpenMLDB: A Real-Time Relational Data Feature Computation System for Online ML
Xuanhe Zhou, Wei Zhou, Liguo Qi, Hao Zhang, Dihao Chen, Bingsheng He, Mian Lu, Guoliang Li, Fan Wu, Yuqiang Chen
TL;DR
OpenMLDB tackles the challenge of real-time relational feature computation for online ML by unifying offline and online feature pipelines under a single plan generator and code-generation framework. It couples an online real-time engine with pre-aggregation for long windows and self-adjusting window unions, and an offline batch engine with multi-window parallelism and time-aware skew handling, all backed by compact time-series encoding and a skiplist-based in-memory structure. The system achieves substantial performance gains across online and offline tasks—up to $10$–$20\times$ online improvements over Flink and DuckDB, about $6\times$ offline gains over Spark/GreenPlum, and notable memory reductions compared with Redis—while supporting real production workloads. The contributions include a unified SQL extension set for feature computation, LLVM/JIT-based compilation, and data-aware memory management, culminating in a practical, scalable solution for real-time ML feature serving and batch feature generation with strong deployment efficiency.
Abstract
Efficient and consistent feature computation is crucial for a wide range of online ML applications. Typically, feature computation is divided into two distinct phases, i.e., offline stage for model training and online stage for model serving. These phases often rely on execution engines with different interface languages and function implementations, causing significant inconsistencies. Moreover, many online ML features involve complex time-series computations (e.g., functions over varied-length table windows) that differ from standard streaming and analytical queries. Existing data processing systems (e.g., Spark, Flink, DuckDB) often incur multi-second latencies for these computations, making them unsuitable for real-time online ML applications that demand timely feature updates. This paper presents OpenMLDB, a feature computation system deployed in 4Paradigm's SageOne platform and over 100 real scenarios. Technically, OpenMLDB first employs a unified query plan generator for consistent computation results across the offline and online stages, significantly reducing feature deployment overhead. Second, OpenMLDB provides an online execution engine that resolves performance bottlenecks caused by long window computations (via pre-aggregation) and multi-table window unions (via data self-adjusting). It also provides a high-performance offline execution engine with window parallel optimization and time-aware data skew resolving. Third, OpenMLDB features a compact data format and stream-focused indexing to maximize memory usage and accelerate data access. Evaluations in testing and real workloads reveal significant performance improvements and resource savings compared to the baseline systems. The open community of OpenMLDB now has over 150 contributors and gained 1.6k stars on GitHub.
