Quick onboard
Deployment
Data Modeling
Connecting
Migration
Query
Operations and Maintenance
Common Maintenance
Partition
Backup and Restore
Expansion
Mirroring
Resource Management
Security
Monitoring
Performance Tuning
Troubleshooting
Reference Guide
Tool guide
Data type
Storage Engine
Executor
Stream
DR (Disaster Recovery)
Configuration
Index
Extension
SQL Reference
In a database system, the execution engine takes the query plan generated by the optimizer and retrieves data rows according to the plan.
YMatrix currently supports the following execution engines:
| Execution Engine | Description |
|---|---|
| Volcano Execution Engine | The Volcano execution engine uses the Volcano model, also known as the pull-based execution model. After SQL queries are parsed in the database, a query tree is generated. Each node in the tree represents an algebraic operator. During query execution, computation proceeds top-down on the query tree, while data is pulled and processed bottom-up. |
| Vectorized Execution Engine | The vectorized execution engine is a high-performance engine designed specifically for column-oriented storage formats such as MARS3, MARS2, and AOCO. For common queries, it delivers one to two orders of magnitude better performance compared to traditional row-oriented execution engines. The performance benefits of the vectorized execution engine over scalar execution engines come from the following aspects: 1. Batch processing to reduce execution overhead 2. Processing in small batches to improve data locality and cache utilization, enhancing data access performance 3. Selecting optimal processing paths based on data characteristics 4. Reducing function call overhead and leveraging CPU SIMD (Single Instruction, Multiple Data) instructions for further efficiency gains 5. Processing data column by column and loading only required columns to avoid unnecessary I/O The vectorized executor automatically integrates with the Postgres traditional optimizer. GPORCA optimizer must be manually enabled. |