Gallium Data - The Programmable Database Proxy

With Gallium Data, you can inject your logic between your database clients and database servers to:

What is it?

Gallium Data is a programmable database proxy: it sits between database servers and database clients and provides services that are normally difficult and expensive by observing and changing the network traffic.

Gallium Data is very extensible: you can easily create your own logic and change how your clients and databases behave.

Gallium Data is highly performant: it is intended for enterprise applications with large data volumes.

Gallium Data is scalable: you can run as many instances as needed, on your servers or in the cloud.

Gallium Data works at the network level: it requires no changes to the database servers or clients, which are completely unaware of it.

Gallium Data is free for the Community edition -- use it to your heart's content, you don't owe us a thing.

Gallium Data supports DB2, PostgreSQL, MySQL, SQL Server, Vertica, Cassandra, MongoDB and Redis, with support for systems using REST/JSON like Trino.

What does it do?

Gallium Data is used to change the behavior of database systems without changing the database or the database clients. This is done to:

Modify existing applications

Add data access security


How does it work?

Gallium Data works at the wire protocol level: it acts as a proxy between the database server(s) and client(s) and can manipulate that traffic.

A normal database system might look like this:

Adding Gallium Data to this system makes all the traffic between client and server available to your Gallium Data logic:

The database clients and servers are completely unaffected: as far as they're concerned, nothing has changed at all. This means Gallium Data can be added to any existing system without changing the clients or the databases.

A sudden change in regulations is forcing a credit card provider to update the name "Czech Republic" to "Czechia". This could be an expensive change in all the applications, reports, etc...  and changing the data in the database could break certain systems. 

Gallium Data can handle this with a simple filter, in a matter of minutes, without changing either the database or all the systems accessing it.

An acquisition is forcing a company to hide certain customer records from sales reps for antitrust compliance.

Gallium Data can filter out these records, or parts of these records, and can determine its behavior either from explicit filter logic, or from the behavior of the client.

Due to exchange rate fluctuations, a suite of customer-facing applications need to display prices converted to a different currency on the fly.

A basic Gallium Data filter can fetch exchange rates from an external service and convert prices before they are received by the applications.

Without Gallium Data

With Gallium Data, you can hide or change data without changing the database or the application.

With Gallium Data