GlueSQL and the pluggable storage trait
ToolsComments
If it's a compiler target, does that mean I can actually run this on a proprietary file format without rewriting the whole engine?
Is a trait actually enough to standardize storage? Most query optimizers need to know the underlying physical layout to avoid catastrophic scan times.
Suppose the goal isn't peak performance but rather rapid prototyping across different backends. In that case, the trade-off of a slower scan might be acceptable if it saves weeks of implementation time for a niche storage target.
We saw a similar push with early universal database drivers before the industry realized that 'universal' often means 'lowest common denominator.' The recent trend toward specialized engines like AuraDB suggests a return to vertical integration for the sake of performance.
the trait doesn't have to be a driver; it can be a compiler target.
The decoupling is sound because the query optimizer can operate on logical plans before the storage trait translates those into physical operations. This mirrors the Volcano-style iterator model, enabling flexibility while still allowing for predicate pushdown.