Databases 10 min read

Interview with Wu Li on Database Evolution: Columnar Storage, JIT Compilation, and Push Mode

The article presents an interview with Wu Li, a research engineer at Shanghai Yanhuang Data, discussing how hardware limits have driven database evolution toward columnar storage, the adoption of Apache Arrow and Gandiva for SIMD‑enabled JIT compilation, and the shift from pull to push processing modes to improve OLAP performance.

DataFunTalk
DataFunTalk
DataFunTalk
Interview with Wu Li on Database Evolution: Columnar Storage, JIT Compilation, and Push Mode

The interview begins by describing how the digitalization of enterprises is driven by database evolution, which historically moved from disk‑ and network‑bound bottlenecks to CPU‑bound constraints, prompting the adoption of distributed architectures and new storage models.

Wu Li explains that early columnar storage was a key breakthrough, allowing data in the same column to be stored contiguously, which simplifies aggregation, improves compression, and enables SIMD parallelism for faster calculations.

After evaluating formats such as Parquet and Avro, Yanhuang Data chose Apache Arrow for its in‑memory, language‑agnostic, hierarchical design, and integrated it with the Gandiva expression‑optimization library to accelerate projection and filtering operations.

Because Gandiva lacked some custom function support, Yanhuang contributed patches back to the open‑source project, enhancing its capabilities for their use cases.

The team also adopted JIT (just‑in‑time) compilation to compile expression DAGs at runtime, reducing linking overhead and improving execution speed, especially for complex SQL queries.

Finally, Yanhuang transitioned from a traditional pull‑mode data consumption model to a push‑mode architecture, rewriting execution operators to proactively process and deliver data, which yielded noticeable query‑performance gains across the platform.

Throughout, the focus remains on delivering a consistent, high‑performance user experience for large‑scale OLAP workloads by aligning hardware trends, open‑source tools, and architectural choices.

Database OptimizationOLAPcolumnar storageApache ArrowJIT compilationpush-modeGandiva
DataFunTalk
Written by

DataFunTalk

Dedicated to sharing and discussing big data and AI technology applications, aiming to empower a million data scientists. Regularly hosts live tech talks and curates articles on big data, recommendation/search algorithms, advertising algorithms, NLP, intelligent risk control, autonomous driving, and machine learning/deep learning.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.