---
title: "Query Scheduler"
---

# Query Scheduler

## Overview

Priority-based query scheduling system for optimizing resource utilization and meeting SLAs.

## Planned Features

- **Priority Scheduling**: Multi-level priority queue (High/Medium/Low)
- **Fair Queuing**: Prevent starvation of low-priority queries
- **Preemption**: Ability to pause/resume long-running queries
- **SLA-Based Scheduling**: Prioritize queries to meet SLA targets
- **Workload-Aware Scheduling**: OLTP vs OLAP vs Batch differentiation

## Architecture (Planned)

```
Query Admission → Scheduler → [High/Med/Low Priority Queues]
                       ↓
                  Executor Pool (Dynamic)
                       ↓
                  Resource Monitor
```

## Scheduling Policies (Draft)

1. **FIFO**: First-in-first-out (default for same priority)
2. **Shortest Job First**: Prioritize fast queries
3. **Fair Share**: Equal CPU/memory allocation per tenant
4. **SLA-Driven**: Prioritize queries at risk of SLA violation

## Configuration (Draft)

```yaml
query_scheduler:
  policy: sla_driven
  priorities:
    - level: high
      max_concurrent: 100
      timeout_ms: 5000
    - level: medium
      max_concurrent: 200
      timeout_ms: 30000
    - level: low
      max_concurrent: 50
      timeout_ms: 300000
```

## Related Documentation

- [Graceful Degradation](https://www.heliosdb.com/docs/full/features/workload-management/graceful_degradation/)
- [Admission Control](https://www.heliosdb.com/docs/full/features/workload-management/admission_control/)
- [Resource Manager](https://www.heliosdb.com/docs/full/features/workload-management/resource_manager/)

**Status**: Planned (roadmap). The features, architecture and configuration on this page describe the planned design.
