Difference between revisions of "Database Load Balancing"
(→Emic Networks) |
(→C-JDBC: Flexible Database Clustering Middleware) |
||
Line 10: | Line 10: | ||
Sequoia is the new version of the C-JDBC project under Apache license. The website is http://sequoia.continuent.org/HomePage. | Sequoia is the new version of the C-JDBC project under Apache license. The website is http://sequoia.continuent.org/HomePage. | ||
+ | |||
+ | and Carob,Bringing Sequoia technology to the C/C++ world. http://carob.continuent.org/HomePage | ||
+ | Carob's purpose is to offer Sequoia access to ODBC, C and C++ client applications. | ||
=== SQL Relay === | === SQL Relay === |
Revision as of 12:53, 12 November 2006
Contents
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/
Sequoia is the new version of the C-JDBC project under Apache license. The website is http://sequoia.continuent.org/HomePage.
and Carob,Bringing Sequoia technology to the C/C++ world. http://carob.continuent.org/HomePage Carob's purpose is to offer Sequoia access to ODBC, C and C++ client applications.
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 and scalability. 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
- http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-overview.html
- MySQL Cluster is a technology that enables clustering of in-memory databases in a shared-nothing system. The shared-nothing architecture allows the system to work with very inexpensive hardware, and without any specific requirements on hardware or software. It also does not have any single point of failure because each component has its own memory and disk.
Emic Networks
a long-time provider of clusters for MySQL. The code is released under the Apache Public License.
PostgreSQL Clusters
Commercial Solutions
Oracle Real Application Clusters
IBM DB2 Clusters
Microsoft SQL Server Clusters
"Database Load Balancing" is an load balancing related stub. You can help LVSKB by expanding it |