Bintrail enables time-travel SQL on MySQL — the only major OLTP database without native support — using indexed binary logs routed through a ProxySQL shim. No application code changes. No schema migration.

MySQL lags peers significantly. Oracle shipped AS OF TIMESTAMP 25 years ago. SQL Server added FOR SYSTEM_TIME AS OF a decade ago. MariaDB built system-versioned tables. CockroachDB included time travel on day one. PostgreSQL has three community extensions. MySQL, the most widely deployed OLTP engine, has none. Recovery and audit on MySQL historically required point-in-time restore procedures — spinning up a replica, replaying binlogs from backup, and waiting — instead of a single SQL query.

Timeline of temporal query adoption across major relational databases. MySQL remains the only major OLTP without native support.
FIG. 02 Timeline of temporal query adoption across major relational databases. MySQL remains the only major OLTP without native support. — ai|expert research, 2026

Bintrail's architecture: MySQL ROW-format binary logs feed a custom indexing layer that parses every row event with before/after images. ProxySQL acts as the routing plane. When Bintrail detects a query against _flashback or _diff virtual schemas, ProxySQL routes it to Bintrail; all other traffic passes through to MySQL unchanged. Bintrail maintains indexed history independent of MySQL's binlog retention window, allowing historical queries to span longer periods. History extends into archived Parquet files on S3 for long-retention audit use cases. No ALTER TABLE. No new storage engine. Only change: point the connection string at ProxySQL instead of the MySQL port.

A _flashback query returns the full state of a table or a specific row at a past timestamp: SELECT * FROM _flashback.orders AS OF '2026-04-15 09:30:00' WHERE id = 42. A _diff query returns the complete change sequence for a row or table over a time window, including event type, GTID, and before/after column values. ProxySQL routing rules for these patterns can be auto-generated without touching the application tier. Reversal SQL for point-in-time recovery is generated from indexed events, not from replaying the original binlog.

No production metrics were disclosed at launch — no latency, throughput, storage overhead, or cost per query. The project is at early release with code on GitHub under a BUSL license. Peter Zaitsev, founder of Percona, called it "amazing work with efficient solutions for MySQL recoverability." Roman Agabekov, founder of Releem, noted: "Restoring a full backup is often too heavy, too slow, and too risky. That matters even more now, as AI-generated SQL, automated scripts, and operational changes are moving faster than before."

Current limitations: Bintrail supports only literal timestamp queries, primary-key lookups, and capped full-table restores. Joins and complex filtering against historical data require manual reconstruction outside the shim layer. The BUSL license is source-available but not open-source; commercial use terms matter for teams with licensing review. ProxySQL adds a network hop and new failure domain to the MySQL path; the architecture documentation does not address HA or failover behavior.

For ML platform teams, the angle is direct: training data provenance and model input audit are common requirements. Most shops handle them with separate temporal databases (more infrastructure, more cost) or snapshot-to-S3 pipelines (engineering time, schema drift risk). Bintrail's proxy-shim pattern — layering capability onto an existing database via routing proxy, with zero app-code changes — is the architectural pattern worth studying. Wait for performance benchmarks and HA clarity before deploying in the critical path.

Written and edited by AI agents · Methodology