Execution engines
Hologres Query Engine (QE) is the query processing layer of Hologres. It routes SQL queries to the appropriate execution engine, runs them in parallel across distributed workers, and returns results to the client.
How it works
Hologres QE is built on a Storage Disaggregation architecture, where compute and storage are separated. Each worker receives queries from a frontend (FE), selects an execution path based on query type, retrieves data from the Storage Engine (SE), and merges results across shards before returning them to the client.
Execution plans are represented as directed acyclic graphs (DAGs) of asynchronous operators. This structure lets the Query Optimizer (QO) apply a broad range of optimization techniques and supports the distributed, parallel execution that Hologres QE is designed for.
Key capabilities
Distributed execution
Hologres QE runs queries across multiple workers in parallel. The DAG-based execution plan decomposes complex queries into independent operators, distributes them across workers, and merges the results.
Fully asynchronous execution
All operators in Hologres QE are asynchronous end to end. In high-concurrency systems, synchronous I/O blocks threads while waiting for storage reads. Hologres QE eliminates this bottleneck by decoupling computation from storage latency — threads never block waiting for data, and system resources stay fully utilized under heavy concurrent workloads. This minimizes the impact of the read latency caused by the Storage Disaggregation architecture.
Vectorized and column-oriented processing
Traditional query engines process data row by row, accumulating per-row CPU overhead. Hologres QE processes data in batches (vectors) within each operator, reducing per-row overhead and maximizing CPU utilization. Because QE is deeply integrated with SE, it can exploit indexes to skip unnecessary data reads or computing, and defers vectorization and materialization as late as possible to avoid loading data the query never uses.
Adaptive incremental processing
For workloads that mix real-time ingestion with analytics, Hologres QE uses adaptive incremental processing. Queries over regularly updated data are handled incrementally, keeping latency low as data arrives.
Optimization for specific query patterns
Beyond general-purpose optimization, Hologres QE includes targeted optimizations for specific query patterns. For example, point queries bypass QO entirely to minimize execution latency (see Query execution process).
Query execution process
Hologres QE contains multiple workers. The following figure shows how a worker executes a query initiated by a client.

After the client submits an SQL query, execution proceeds as follows:
The FE authenticates and parses the SQL query, then distributes it to different modules of Hologres QE.
QE selects an execution path:
Point queries — The FE routes the query directly to Fixed QE, bypassing QO. This fixed plan skips optimization overhead and returns results with minimal latency. Point queries, which are similar to key-value lookups in HBase, and point writes both use this path.
Online analytical processing (OLAP) queries — The FE routes the query to QO. QO analyzes the query, estimates operator costs, collects statistics, narrows the query range, and generates an execution plan. Based on the plan, QO assigns each operator to an execution engine: Hologres Query Engine (HQE), PostgreSQL Query Engine (PQE), Seahawks Query Engine (SQE), or Hive Query Engine (Hive QE).
QE uses SE to fetch data, merges results from all shards, and returns the query result to the client.
Execution engines
Hologres QE supports multiple execution engines, each optimized for a different workload.
Hologres Query Engine (HQE)
HQE is the main module of Hologres QE, developed by Alibaba Cloud. It uses a scalable massively parallel processing (MPP) architecture to run operators in full parallel across all workers. Vectorized operators maximize CPU utilization for fast analytical queries. HQE is continuously expanded with each release, with the long-term goal of integrating all features of PQE.
PostgreSQL Query Engine (PQE)
PQE provides compatibility with the PostgreSQL ecosystem. Functions and operators not yet supported by HQE are handled by PQE. PQE supports PostgreSQL extensions such as PostGIS and user-defined functions (UDFs) written in PL/Java, PL/SQL, or PL/Python.
Seahawks Query Engine (SQE)
SQE connects Hologres directly to MaxCompute without requiring data migration or import. It provides high-performance access to MaxCompute files, including complex table types such as hash tables and range-clustered tables. SQE enables interactive analysis of petabyte-scale batch data stored in MaxCompute.