MATIH Platform is in active MVP development. Documentation reflects current implementation status.
9. Query Engine & SQL
Query Analytics
Engine Statistics

Engine Statistics

The engine statistics endpoint provides per-engine breakdowns of query execution metrics, helping operators understand workload distribution and engine performance.


Endpoint

GET /v1/analytics/engines
curl "http://query-engine:8080/v1/analytics/engines?days=7" \
  -H "Authorization: Bearer $JWT_TOKEN"
[
  {
    "engine": "TRINO",
    "queryCount": 8200,
    "successRate": 0.97,
    "avgLatencyMs": 2850,
    "p50LatencyMs": 1200,
    "p95LatencyMs": 8500,
    "p99LatencyMs": 24000,
    "totalBytesScanned": 8796093022208,
    "cacheHitRate": 0.32
  },
  {
    "engine": "CLICKHOUSE",
    "queryCount": 3800,
    "successRate": 0.99,
    "avgLatencyMs": 450,
    "p50LatencyMs": 120,
    "p95LatencyMs": 1800,
    "p99LatencyMs": 4500,
    "totalBytesScanned": 2199023255552,
    "cacheHitRate": 0.48
  },
  {
    "engine": "SPARK_ASYNC",
    "queryCount": 450,
    "successRate": 0.92,
    "avgLatencyMs": 45000,
    "p50LatencyMs": 32000,
    "p95LatencyMs": 120000,
    "p99LatencyMs": 300000,
    "totalBytesScanned": 10995116277760,
    "cacheHitRate": 0.05
  }
]

Engine Selection Rationale

The SmartQueryRouter routes queries based on SQL analysis. Understanding per-engine statistics helps validate routing decisions:

EngineIdeal WorkloadWarning Signs
TrinoComplex joins, window functions, cross-catalogp95 > 30s means queries may need optimization
ClickHouseReal-time aggregations, simple filtersLow success rate may indicate schema issues
Spark AsyncLarge-scale scans (>100GB)Long queue times indicate capacity constraints
DuckDBSmall local datasetsHigh latency suggests miscategorized queries
StarRocksPre-aggregated OLAPLow hit rate means materialized views need refresh