What is Tungsten Connector?

Tungsten Connector is a proxy that translates MySQL and PostgreSQL native client requests to JDBC calls.  The Connector works by parsing the native wire protocol and issuing a corresponding JDBC request.  It then translates the response back to the native wire protocol and returns it to the client.  From the client application point of view the Tungsten Connector looks like a MySQL or a PostgreSQL server.

Tungsten Connector has a relatively simple design, since its primary goal is to perform protocol translation only.  We have also added control logic to manage transactions and perform simple read-write splitting.  In general, however, our philosophy has been to push more sophisticated logic for things like load balancing down into the JDBC driver.  This approach allows Tungsten Connector to integrate very efficiently with the Tungsten SQL Router, which takes care of load-balancing and failover between database copies.

The Tungsten Connector was originally developed to allow MySQL and PostgreSQL clients to connect directly to a Sequoia cluster. It was originally named Myosotis, which is the scientific name of the forget-me-not flower.  Tungsten Connector is still quite useful as a proxy for Sequoia clusters, which are only accessible via the Sequoia JDBC driver.

The Tungsten Connector is a robust and useful piece of software. Though written in Java (or perhaps because of it--Java schedules threads very efficiently on multi-core hosts) the Connector out-performs most other SQL proxies we have tested.