A cluster database is a complex system, which provides access to the same database, or group of data tables, indexes and other objects, from any server in the cluster concurrently without compromising data integrity and security. Also called Parallel Databases, they typically contain multiple nodes or servers accessing the same physical storage concurrently (NAS or SAN). Cluster architecture allows multi-server data sharing technology, allowing direct concurrent read/write access to shared data from all the processing nodes in the parallel configuration. Well known examples include Oracle Real Application Cluster (Oracle RAC).
Cluster database solutions have been introduced to allow maximum uptime for a company's mission-critical systems, High Availability (HA), and/or to allow several computers to serve the same data, load balancing, while also ensuring they can easily scale to handle increased future workload, scalabilty. The synchronization issue is the fundamental difficulty for DB cluster nodes working together. As there is no single solution that eliminates the impact of the synchronisation problem for all situations, there are multiple solutions. Each solution addresses this problem in a different way, and minimizes its impact for a specific workload.
That's why many solutions are proposed arround open source DBMSs like PostgreSQL or MySQL. The major PostgreSQL clustering solutions include PgCluster, pgpool-I, pgpool-II, Londiste, pg_shard. Clustering Enterprise Architecture Solution proposed by EnterpriseDB is actually the most successful implementation which really reached the maturity of a highly graded enterprise solution.
When correctly architected and implemented, this technology is solid and reliable - easyDBA's expert Oracle DBAs have the experience necessary to ensure a successful implementation of such solutions.