YMatrix
Quick Start
Simulate Time Series Scenarios
Standard Cluster Deployment
Data Modeling
Connecting to The database
Data Writing
Data Migration
Data Query
Maintenance and Monitoring
Performance Tuning
Troubleshooting
Reference Guide
Tool Guide
Data Type
Storage Engine
Execution Engine
Configuration Parameters
SQL Reference
FAQ
In the database system, the execution engine is responsible for taking over the query plan created by the optimizer and retrieving data rows in the way specified by the optimizer.
Currently YMatrix supports the use of several execution engines:
Execution Engine | Description |
---|---|
Volcanic Execution Engine | Volcanic Execution Engine uses a volcanic model, also known as a pull-based execution model. After parsing in the database, a query tree will be generated. Each execution node of the query tree is an algebraic operator (Operator). When query execution, it will be calculated from the top to the bottom of the query tree, and the data will be pulled from the bottom to the top |
Vectorized execution engine | Vectorized execution engine is a high-performance execution engine specially designed for column-oriented storage engines (such as MARS3, MARS2, and AOCO). For common queries, there are one to two orders of magnitude performance improvements compared to traditional execution engines for row processing. The performance benefits of vectorized executors compared to scalar execution engines come from the following aspects: 1. Batch processing reduces execution overhead 2. Small batch processing improves data popularity, improves data access performance by keeping data in the CPU cache 3. Select the best processing path based on data characteristics 4. Reduce function call overhead and can further improve efficiency by utilizing the CPU's SIMD (Single Instruction, Multiple Data) instructions 5. Column-by-column processing loading on demand to avoid loading useless data |