Skip to content

Comparison

XTrinode assumes Trino remains the query engine. The comparison here focuses on the operational platform layer around many Trino runtimes.

CapabilityVanilla TrinoTrino GatewayXTrinode
Query engineTrino itselfProxies existing Trino clustersUses Trino as the runtime engine
Runtime lifecycleHelm or manual operationsBackend lifecycle stays externalOperator-managed XTrinode runtimes
Multi-runtime entrypointOne endpoint per deploymentRoutes existing clustersNative runtimes and routing groups
Autosuspend and autoresumeExternal automationNot in gateway scopeIdle autosuspend plus gateway/API resume
Worker scalingManual or external autoscalingExternal to gatewayFixed workers or KEDA per runtime
CatalogsPer-cluster files and secretsDoes not manage catalogsXTrinodeCatalog CRDs with Secret references
Isolation and chargebackManual namespaces or nodesExternal to gatewayOptional per-runtime node pools

The source README compares against Stackable Trino Operator, Canonical Charmed Trino K8s Operator, and Meridian. Condensed to the main fit:

CapabilityCommon alternative shapeXTrinode shape
Runtime modelCluster, charm, or pool resourcesXTrinode CRD per runtime
Query entrypointCoordinator exposure or external gatewayBuilt-in gateway with hostname, header, default, and routing-group routing
Catalog modelOperator-specific config, charms, labels, or dynamic toolsXTrinodeCatalog CRD with Secret-backed properties
Scale-to-zeroManual stop, unit scaling, or pool downsizingIdle autosuspend with spec.autoSuspendAfter
Request-triggered resumeUsually outside the query pathGateway/API resume for suspended runtimes
Scaling focusRole replicas, units, or standby pool sizeFixed workers or KEDA per runtime
Isolation modelPlacement, pools, or labelsNamespace boundaries plus optional provider node pools

Use this as an orientation table, not an overall project ranking.