Cloudflare Hyperdrive Serves MySQL From One Canonical Copy of a Query Result
TL;DR Hyperdrive is a distributed connection pooler that Cloudflare runs for Workers, holding warm database connections on the company's network and caching query results in its global cache, so Worker requests share connections that are already open. MySQL support in Hyperdrive reached general availability on 14 October 2026, roughly eighteen months after the beta that added MySQL to…
Hyperdrive, a distributed connection pooler developed by Cloudflare for Workers, reached general availability on October 14, 2026. The release enables Workers to serve MySQL queries from a single canonical copy of a query result, caching the results in its global cache to improve performance. Hyperdrive achieves this by holding warm database connections on Cloudflare's network and caching query results globally, allowing Worker requests to share already open connections.
The main challenge faced during development was an encoding inconsistency between the two nodes that Hyperdrive uses: the Client beside the Worker and the Endpoint beside the database. Each node caches the bytes it writes back to the Worker, so a result stored in one node's format could be read by the other node and translated wrongly, resulting in empty query results for approximately 0.001% of requests for a high-volume customer. The issue surfaced once caching was enabled, which led the investigation to the pooled path.
To resolve the bug, Cloudflare implemented a fix that stores one canonical copy of every result, encoded in Hyperdrive's own capabilities, regardless of which node writes it. As a result, the success rate for client connections improved to 99.99% after the release. The fix also addresses smaller issues, such as a handshake that negotiates UTF-8 encoding and an alias limited to three bytes per code point, which previously broke four-byte characters like emojis.
Overall, the general availability of Hyperdrive's MySQL support simplifies database connections for Workers, reduces handshakes, and speeds up query processing with caching. The shared cache setup between the Client and Endpoint nodes benefits performance, but requires consistent serialization to avoid translation errors. This approach can be applied to any pooled or cached data path in a system, including caches in front of an inference stack.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.