- Processing Models
- Iterator Model
- Materialization model
- Vectorized / Batch Model
- Processing direction:
- Top-to-bottom: Start with the root and pull data from children to parents, tuples are always passed via function calls
- Bottom-to-top: Start with leaf nodes and push data
- Access Methods:
- Sequential Scan
- Optimizations:
- Prefetching
- Buffer Pool Bypass
- Parallelization
- Late materialization
- Heap Clustering (i.e. cluster data on disk via clustered index)
- Approximate Queries (Lossy Data Skipping)
- Zone Maps (Lossless Data skipping)
- Index Scans
- Modification Queries. How to implement insert operator
- Materialize tuples inside of the operator
- Trust child operators