SQL Relay - Database Connection Pool library with API available in all programming languages

  •        3794

SQL Relay is a persistent database connection pooling, proxying and load balancing system for Unix and Linux supporting ODBC, and all major databases. It has APIs for C, C++, ODBC, Perl, Perl-DBI, Python, Python-DB, Zope, PHP, Ruby, Ruby-DBI, Java, TCL and Erlang, drop-in replacement libraries for MySQL and PostgreSQL clients.

The APIs support advanced database operations such as bind variables, multi-row fetches, client-side result set caching and suspended transactions. It is ideal for speeding up database-driven web-based applications, accessing databases from unsupported platforms, migrating between databases, distributing access to replicated databases and throttling database access.

http://sqlrelay.sourceforge.net

Tags
Implementation
License
Platform

   




Related Projects

BoneCP - The JDBC Connection Pool

  •    Java

BoneCP is a fast, Java database connection pool (JDBC Pool) library.

Libzdb - Connection Pool Library in C

  •    C

Libzdb is a small, fast and easy to use Database Connection Pool Library. It is thread safe and connects to database like MySQL, PostgreSQL, SQLLite and Oracle.

Vibur DBCP - A concurrent and dynamic JDBC connection pool.

  •    Java

Vibur DBCP is a concurrent, fast and fully-featured JDBC connection pool based on Java dynamic proxies. It supports a fairness parameter, statement caching, SQL queries logging, and Hibernate integration, among other features.

DBPool - Java Database Connection Pooling

  •    Java

A Java-based database connection pooling utility, supporting Time-based expiry, Statement caching, Connection validation, and easy configuration using a pool manager.

DBCP - Java Database Connection Pooling library

  •    Java

Creating a new connection for each user can be time consuming (often requiring multiple seconds of clock time), in order to perform a database transaction that might take milliseconds. Opening a connection per user can be unfeasible in a publicly-hosted Internet application where the number of simultaneous users can be very large. Accordingly, developers often wish to share a "pool" of open connections between all of the application's current users.


Proxool - Java connection pool

  •    Java

Proxool is a Java connection pool. It transparently adds connection pooling to your existing JDBC driver. The performance of database connections could be monitored. It's easy to configure using the JDBC API, XML, or Java property files. It complies with the J2SE standards.

c3p0 - JDBC3 Connection and Statement Pooling

  •    Java

c3p0 is an easy-to-use library for making traditional JDBC drivers "enterprise-ready" by augmenting them with functionality defined by the jdbc3 spec and the optional extensions to jdbc2. It provides (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension.

DBBalancer - Middleware btw Database client and server

  •    C++

DBBalancer is some sort of middleware that would sit in between of database clients and a server. Currently the only server supported is Postgres, but the architecture is open to embrace more servers in a future. It's a connection pool, a load balancer and a database replicator.

HikariCP - A high-performance JDBC connection pool

  •    Java

Fast, simple, reliable. HikariCP is a "zero-overhead" production ready JDBC connection pool. At roughly 90Kb, the library is very light.

flexy-pool - FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand

  •    Java

FlexyPool bring flexibility to external Connection pooling libraries. It's meant to assist developers finding the right pool size while allowing you to adapt the size automatically.

Karinasoft Pool

  •    

Database Connection Pool, capable of connecting to multiple database and creating pools for each connection. It is configured using properties and xml files.

xmrig-proxy - Monero (XMR) Stratum protocol proxy

  •    C++

Extremely high performance Monero (XMR) Stratum protocol proxy, can easily handle over 100K connections on cheap $5 (1024 MB) virtual machine. Reduce number of pool connections up to 256 times, 100K workers become just 391 worker on pool side. Written on C++/libuv same as XMRig miner. This proxy designed and created for handle donation traffic from XMRig. No one other solution works fine with high connection/disconnection rate.

MaxScale - An intelligent database proxy

  •    C++

The MariaDB Corporation MaxScale is an intelligent proxy that allows forwarding of database statements to one or more database servers using complex rules, a semantic understanding of the database statements and the roles of the various servers within the backend cluster of databases. It extends the high availability, scalability, and security of MariaDB Server while at the same time simplifying application development by decoupling it from underlying database infrastructure.

node-pool - Generic resource pooling for node.js

  •    Javascript

Generic resource pool with Promise based API. Can be used to reuse or throttle usage of expensive resources such as database connections.

multi_db - Connection proxy for ActiveRecord for single master / multiple slave database deployments

  •    Ruby

Connection proxy for ActiveRecord for single master / multiple slave database deployments

Proxool: Proxy JDBC Connection Pool

  •    Java

A Java SQL Driver that provides a connection pool wrapper around another Driver of your choice. Very simple to migrate existing code. Fully configurable. Fast, mature and robust. Transparently adds connection pooling to your existing JDBC driver.

wormhole - A smart proxy to connect docker containers.

  •    Go

Wormhole is a namespace-aware socket-activated tunneling proxy. It allows you to securely connect ports together on different physical machines inside docker containers. This allows for interesting things like connecting services running on localhost inside the container namespace or creating on-demand services that start when you connect to them. This isn't intended to be a production solution for container relationships. Consider it an exploration of the above value. If you can create an application container that talks to a single port to get a secure connection to the database, many things get simpler. You don't have to configure the application with the proper address. You don't have to set a secure password for the database server. You can move the database without breaking the application. You can add a second database and start load balancing.

Pgpool - Middleware between PostgreSQL Client and Server

  •    C

pgpool-II is a middleware that works between PostgreSQL servers and a PostgreSQL database client. It supports connection pooling, Using the replication function enables creating a realtime backup on 2 or more physical disks, so that the service can continue without stopping servers in case of a disk failure, Load balance the queries, It can execute queries in parallel to multiple servers.

django-redis-sessions - Session backend for Django that stores sessions in a Redis database

  •    Python

If you prefer domain socket connection, you can just add this line instead of HOST and PORT. Splits sessions between Redis instances based on the session key. You can configure the connection type for each Redis instance in the pool (host/port, unix socket, redis url).