Database Load Balancing

From LVSKB
Revision as of 16:36, 16 June 2006 by Kayra (Talk | contribs) (MySQL Clusters: Added a brief intro)

Jump to: navigation, search

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/

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