3. PGCluster. There are two formal PGCluster Web sites. http://pgfoundry.org/projects/pgcluster/ http://pgcluster.projects.postgresql.



Similar documents
High Availability Database Solutions. for PostgreSQL & Postgres Plus

Cloud Attached Storage

Configuring Apache Derby for Performance and Durability Olav Sandstå

Getting to Know the SQL Server Management Studio

Outline. Failure Types

Technical Notes. EMC NetWorker Performing Backup and Recovery of SharePoint Server by using NetWorker Module for Microsoft SQL VDI Solution

Database Replication with MySQL and PostgreSQL

Recovery Principles in MySQL Cluster 5.1

A SURVEY OF POPULAR CLUSTERING TECHNOLOGIES

Release Notes. LiveVault. Contents. Version Revision 0

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

Scaling DBMail with MySQL

Deployment Topologies

Pervasive PSQL Meets Critical Business Requirements

The Future of PostgreSQL High Availability Robert Hodges - Continuent, Inc. Simon Riggs - 2ndQuadrant

Integrating Data Protection Manager with StorTrends itx

CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server

Distributed Filesystems

Administering a Microsoft SQL Server 2000 Database

IBM Security Access Manager for Enterprise Single Sign-On V8.2 Implementation Exam.

Managing Cisco ISE Backup and Restore Operations

Exchange 2010 ITPro. Milan Marenčík Microsoft Services

Database Replication with MySQL and PostgresSQL

High Availability & Disaster Recovery Development Project. Concepts, Design and Implementation

High-Availability Using Open Source Software

MapGuide Open Source Repository Management Back up, restore, and recover your resource repository.

Backup and Restore of CONFIGURATION Object on Windows 2008

Deploying Windows Streaming Media Servers NLB Cluster and metasan

Assistant Information Technology Specialist. X X X software related to database development and administration Computer platforms and

Chancery SMS Database Split

High Availability with Postgres Plus Advanced Server. An EnterpriseDB White Paper

Administering a Microsoft SQL Server 2000 Database

Postgres Plus xdb Replication Server with Multi-Master User s Guide

Module 14: Scalability and High Availability

Protect SQL Server 2012 AlwaysOn Availability Group with Hitachi Application Protector

You need to recommend a monitoring solution to ensure that an administrator can review the availability information of Service1. What should you do?

Symantec NetBackup for Microsoft SharePoint Server Administrator s Guide

Database Administration with MySQL

McAfee VirusScan and epolicy Orchestrator Administration Course

4cast Server Specification and Installation

VMware vsphere Data Protection

Monitoring PostgreSQL database with Verax NMS

Database Replication with Oracle 11g and MS SQL Server 2008

Understand Troubleshooting Methodology

PostgreSQL Backup Strategies

Version: Page 1 of 5

CA XOsoft Replication for Windows

Microsoft SQL Server Guide. Best Practices and Backup Procedures

A Shared-nothing cluster system: Postgres-XC

Oracle Database 10g: Backup and Recovery 1-2

IP phone services setup

Oracle Application Server 10g: Administer High Availability

Technical Notes TECHNICAL NOTES. Release number 8.2 Service Pack REV 01. January, 2015

Configure Cisco Emergency Responder Disaster Recovery System

Administering a Microsoft SQL Server 2000 Database

Directory Backup and Restore

Chase Wu New Jersey Ins0tute of Technology

System Administration of Windchill 10.2

System Protection for Hyper-V User Guide

Sage CRM Technical Specification

Planning Domain Controller Capacity

MCSE Core exams (Networking) One Client OS Exam. Core Exams (6 Exams Required)

David Dye. Extract, Transform, Load

TABLE OF CONTENTS THE SHAREPOINT MVP GUIDE TO ACHIEVING HIGH AVAILABILITY FOR SHAREPOINT DATA. Introduction. Examining Third-Party Replication Models

Integrating OID/SSO with E- Business Suite and Third-Party SSO Solutions. Presented by Paul Jackson (Norman Leach)

MS-55115: Planning, Deploying and Managing Microsoft Project Server 2013

Database Replication

ZooKeeper. Table of contents

White Paper. Fabasoft on Linux Cluster Support. Fabasoft Folio 2015 Update Rollup 2

IP Phone Service Administration and Subscription

Using Actian PSQL as a Data Store with VMware vfabric SQLFire. Actian PSQL White Paper May 2013

Protecting Exchange 2010

Hyper-V Replica Broker Configuration Lab By Yung Chou, Microsoft Platform Evangelist,

HP Device Manager 4.6

EMC MID-RANGE STORAGE AND THE MICROSOFT SQL SERVER I/O RELIABILITY PROGRAM

HADOOP MOCK TEST HADOOP MOCK TEST I

Avamar Backup and Data De-duplication Exam

Connectivity. Alliance Access 7.0. Database Recovery. Information Paper

Hadoop Distributed File System. Dhruba Borthakur June, 2007

EMC DOCUMENTUM xplore 1.1 DISASTER RECOVERY USING EMC NETWORKER

Juniper Networks Secure Access. Initial Configuration User Records Synchronization

Symantec NetBackup Blueprints

Stellar Phoenix. SQL Database Repair 6.0. Installation Guide

How to Configure Double-Take on Microsoft Exchange Server

Portable Scale-Out Benchmarks for MySQL. MySQL User Conference 2008 Robert Hodges CTO Continuent, Inc.

Connectivity. Alliance Access 7.0. Database Recovery. Information Paper

SWIFT. Page:1. Openstack Swift. Object Store Cloud built from the grounds up. David Hadas Swift ATC. HRL 2012 IBM Corporation

Tushar Joshi Turtle Networks Ltd

Exchange Data Protection: To the DAG and Beyond. Whitepaper by Brien Posey

vsphere Upgrade vsphere 6.0 EN

Would-be system and database administrators. PREREQUISITES: At least 6 months experience with a Windows operating system.

DeltaV Virtualization High Availability and Disaster Recovery

A simple object storage system for web applications Dan Pollack AOL

High Availability and Disaster Recovery for Exchange Servers Through a Mailbox Replication Approach

Oracle Endeca Server. Cluster Guide. Version May 2013

Symantec NetBackup for Microsoft SharePoint Server Administrator s Guide

Transcription:

3. PGCluster PGCluster is a multi-master replication system designed for PostgreSQL open source database. PostgreSQL has no standard or default replication system. There are various third-party software packages that provide replication for this database. When using PostgreSQL in a large system, the replication and load distribution functions are required. There are many replication systems designed for PostgreSQL. We selected PGCluster and evaluated its features and performance. There are two formal PGCluster Web sites. http://pgfoundry.org/projects/pgcluster/ http://pgcluster.projects.postgresql.org/ We chose PGCluster for the following reasons. (1) High-functionality Replication System PGCluster is a multi-master system in which all databases can be the master of replication. It is a synchronous high performance replication system that guarantees returning the same result from accessing any database at any timing. (2) Requires No Special Hardware Many people think that a cluster system requires special hardware. However, PGCluster does not demand such hardware. The only thing needed is a single server that runs PostgreSQL. PGCluster does not let existing investments go to waste. (3) A Replication Solution from Japan As we said before, there are many replication solutions for PostgreSQL. PGCluster is a solution developed in Japan and one of the replication systems receiving attention. The developer is Atsushi Mitani. We think that PGCluster is widely used in Japan because Japanese documentation is available. There a very large number of downloads from pgfoundry, the Web site that provides third-party software for PostgreSQL. It is a replication solution that has come to international attention. - 3-1 -

3.1 Functional Overview This section describes the functions of PGCluster. 3.1.1 Basic Configuration PGCluster consists of the three components listed in Table 3.1-1. Table 3.1-1: PGCluster Components Component Function Receives connections from clients. Distributes the load when necessary. (It is not a hardware load balancer, but a software implementation.) Propagates the queries that generate changes such as INSERT, UPDATE, and DELETE to all cluster servers. Actually stores data and executes queries. The load balancer, replication server and cluster server are not physical units. They are logical units. The following table lists the number of servers that are required to realize the full functionality of PGCluster. Component Number of Nodes 1 1 3-3-2 -

It is preferable for each server to be physically independent. Figure 3.1-1 illustrates a typical PGCluster configuration. Client Figure 3.1-1: PGCluster Configuration Description of Figure 3.1-1 in the load balancer is the daemon that balances the load. in the cluster server is a database daemon. in the replication server is the daemon that performs replication. The symbol indicates a disk that stores data. - 3-3 -

3.1.2 Replication PGCluster has replica (copy) in all cluster servers. Changes in the database must be propagated to all databases. This requirement is satisfied by replication, and the replication server performs such replication. Replication is a mechanism that reflects the result of query from a load balancer to a cluster server to the other cluster servers. Figure 3.1-2 illustrates the operation of the replication mechanism. (2) (3) (7) (6) (1) (8) (5) (5) Figure 3.1-2: Operation of Replication Description of Figure 3.1-2 (1) Sends a query. (2) Sends a query (to an arbitrary cluster server). (3) Sends a query. Sends a query (which is executed in the cluster server). (5) Sends after executing the query. (6) Sends after executing the query. (7) Sends the result of the query. (8) Sends the result of the query. - 3-4 -

3.1.3 Load Balancing In PGCluster, a search requires a query to only one server. It is not necessary to query all servers. PGCluster has a search load distribution function. It is possible to use a setting file to specify the rate of queries sent to each database server. Load distribution is implemented with the load balancer. Figure 3.1-3 illustrates a search operation. (2) (3) (1) Figure 3.1-3: Search Operation Description of Figure 3.1-3 (1) Sends a query. (2) Sends a query (to an arbitrary cluster server for execution). (3) Sends the result of the query. Sends the result of the query. - 3-5 -

3.1.4 Degraded Operation If one of the three cluster servers in operation goes down, the failed server is automatically isolated and the database operation continues with the remaining two servers. Figure 3.1-4 illustrates a degraded operation. It is an example in which a cluster server goes down while it is processing a query sent from the replication server. (2) (3) (8) (7) (1) (9) (5) (6) Figure 3.1-4: Degraded Operation Description of Figure 3.1-4 (1) Sends a query. (2) Sends a query (to an arbitrary cluster server). (3) Sends a query. Sends a query. (While the sent query is being executed, a failure occurs on one of the cluster servers.) (5) Sends a query execution error. (Or there is no response from the server and the cluster server is isolated.) (6) Sends after executing the query. (7) Sends after executing the query. (8) Sends the result of the query. (9) Sends the result of the query. - 3-6 -

3.1.5 Online Recovery While the remaining two cluster servers are in degraded operation, the user can recover the failed server online. Figure 3.1-5 illustrates an online recovery operation. (3) (6) (5) (2) (8) (7) (1) (8) Figure 3.1-5: Online Recovery Operation Description of Figure 3.1-5 (1) Starts online recovery. (Locks one of the cluster servers, leaving only one in operation) (2) Sends a query. (3) Sends a query. Sends a query. (There is no cluster server in operation. The execution log is saved in the buffer.) (5) Sends a query execution error. (6) Sends the result of the query. (7) Sends the result of the query. (8) Sends a query. (After copying data between cluster servers, executes the query saved in the replication server and performs online recover.) - 3-7 -

3.2 Range of Application 3.2.1 Restrictions PGCluster adds the following restrictions on the operation of standalone PostgreSQL. (Excerpts from the formal PGCluster Web site) PGCluster1.0 (1) For the record OID, a unique value is automatically set within each cluster database, therefore consistency of OIDs between cluster database servers is not guaranteed. (2) Replication of large objects is not supported. PGCluster1.1 (1) If large objects are replicated, they must be placed in a directory that can be accessed from all cluster servers. PGCluster1.3 (1) If large objects are replicated, they must be placed in a directory that can be accessed from all cluster servers. (2) In an environment using TABLESPACE, cluster database recovery is not supported. (3) The Windows operating system is not supported. 3.2.2 Range of Application in Availability Use of PGCluster is effective for systems that require uninterrupted operation, because a failure in a single server does not hinder the operation of an entire system. 3.2.3 Range of Application in Performance PostgreSQL with PGCluster outperforms standalone PostgreSQL in cases where there are many search queries for which load distribution operates. When determining the possibility of introducing PGCluster, It is necessary to examine the ratio of updates to searches in a real system. - 3-8 -

3.3 Procedure and Essence of Evaluating PGCluster This section describes some viewpoints specific to PGCluster based on Chapter 2 MS Cluster Evaluation Criteria. 3.3.1 Difference in PGCluster Versions The major versions of PGCluster follow those of PostgreSQL. Currently, three versions (1.0, 1.1, and 1.3) of PGCluster are released. The following table lists the correspondence between PGCluster and PostgreSQL versions. PGCluster Version Original PostgreSQL Version 1.0 7.3 1.1 7.4 1.3 8.0 Each version of PGCluster has introduced new functions as well as support for the corresponding PostgreSQL version. At the time of this writing, PGCluster 1.1 and 1.3 are development versions which are not recommended for use in actual operations. This evaluation was performed with a basic five-server configuration. It verified that the basic PGCluster operated properly and that there is merit in using PGCluster. The evaluation items in 3.3.2 or later were therefore not covered. In the following descriptions, the items that were not conducted are indicated with not applicable. - 3-9 -