Difference between revisions of "Database Load Balancing"

From LVSKB
Jump to: navigation, search
(MySQL Clusters: Added a brief intro)
(Open Source Solutions: Added SQL relay)
Line 8: Line 8:
  
 
See http://c-jdbc.objectweb.org/
 
See http://c-jdbc.objectweb.org/
 +
 +
=== SQL Relay ===
 +
SQL Relay is a persistent database connection pooling, proxying and load balancing system for Unix and Linux. SQL Relay is ideal for:
 +
* speeding up database-driven web-based applications
 +
* enhancing the scalability of database-driven web-based applications
 +
* distributing access to replicated databases
 +
* throttling database access
 +
* accessing databases from unsupported platforms
 +
* migrating applications from one database to another
 +
 +
See http://sqlrelay.sourceforge.net/
 +
 +
''PS: This text is copied from SQLrelay's home page.''
  
 
=== MySQL Clusters ===
 
=== MySQL Clusters ===

Revision as of 16:40, 16 June 2006

Introduction

Open Source Solutions

C-JDBC: Flexible Database Clustering Middleware

C-JDBC (Clustered JDBC) is a freely available, open source, flexible and efficient middleware for database clustering. C-JDBC presents a single virtual database to the application through the JDBC interface. It does not require any modification to JDBC-based applications. It works with any database engine that provides a JDBC driver, without modification to the database engine. The flexible architecture of C-JDBC supports large and complex database cluster architectures offering various performance, fault tolerance and availability.

See http://c-jdbc.objectweb.org/

SQL Relay

SQL Relay is a persistent database connection pooling, proxying and load balancing system for Unix and Linux. SQL Relay is ideal for:

  • speeding up database-driven web-based applications
  • enhancing the scalability of database-driven web-based applications
  • distributing access to replicated databases
  • throttling database access
  • accessing databases from unsupported platforms
  • migrating applications from one database to another

See http://sqlrelay.sourceforge.net/

PS: This text is copied from SQLrelay's home page.

MySQL Clusters

MySQL supports couple of different ways to increase database availability. Most commonly used way of increasing availability is replication. Replication, as its name indicates, copies data from one master server to slave(s) and it has been available since MySQL 3.23. Starting with MySQL 4.1 a new storage engine introduced called NDB and NDB stands for Network Data Base. Although most people thinks that replication is a form of clustering, in MySQL world, cluster is actually a set of NDB nodes.

NDB nodes uses memory to store data and keeps at least 2 copies of data on 2 seperate boxes. In essence, it is almost like Raid arrays (level 1 in this case) using memory instead of hard drives. Minimum requirement for a MySQL cluster is 3 boxes. 2 of these boxes store data in their memory and they're called Data Nodes. At least one box needed for SQL node, and it acts as a regular database server where applications are connecting to.

More info about MySQL clustering concepts can be found at : http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-basics.html

PostgreSQL Clusters

Commercial Solutions

Oracle Real Application Clusters

IBM DB2 Clusters

Microsoft SQL Server Clusters

LVS.png "Database Load Balancing" is an load balancing related stub. You can help LVSKB by expanding it