CLUSTER

By niharcsql

Cluster

In general Cluster is a group of the same or similar elements gathered or occurring closely together;

In computer Terminology a cluster can refer to several machines grouped together, all performing a similar function. We can say in other way i.e. “Multiple systems performing a single function”. For example, a cluster may consist of eight PCs, all connected via high-speed Ethernet, processing scientific data. This type of setup is often referred to as “parallel computing,” since all the computers in the cluster are acting as one machine. Clusters are typically used for high-end processing, such as performing scientific calculations or decrypting algorithms.

Cluster applications

For many types of computing problems related to high-throughput applications, it is possible to take advantage of the scalable performance of a cluster without changing the application.

The main goal of a clustered environment is application resilience (Performance, Availability, Recoverability) . By taking advantage of resilient applications in your cluster, an application can be restarted on a different cluster node without requiring you to reconfigure the clients. In addition, the data that is associated with the application will be available after switchover or failover. This means that the application end user can experience minimal, or even seamless, interruption while the application and its data switch from the primary node to the backup node. The user does not need to know that the application and data have moved on the back end. For instance CSQL Cache is a high performance, bi-directional, updateable database caching infrastructure that sits between the clustered application process and back-end data sources to provide unprecedented high throughput to your application. Transparent Fail over in CSQL main memory database tells that There should not be any service outages, incase of caching platform failure. Client connections should be routed to the target databas

In order to achieve application resiliency in your cluster, applications that meet certain availability specifications must be used. Certain characteristics must be present in the application in order for it to be switchable, and therefore always available to the end users of the application in the cluster. Once you have a resilient application, it must be managed within your cluster.

A Switchover is the capability to manually switch over from one system to a  redundant  or standby computer server, syatem, or network upon the failure or abnormal termination of the previously active server, system, or network. It happens with human intervention. It is is a planned role reversal between the production database and one of its standby databases to avoid downtime during scheduled maintenance on the production system or to test readiness for future role transitions. A switchover guarantees no data loss. During a switchover, the production database transitions to standby role, and the standby database transitions to the production role. The transition occurs without having to restart either database. A switchover is performed by an administrator through either Enterprise Manager or by issuing SQL commands.

A Failover is the capability to switch over automatically to a redundant or standby computer server, system, or network upon the failure or abnormal termination of the previously active server, system, or network. Failover happens without human intervention and generally without warning. It is performed when the production database fails and one of the standby databases is transitioned to take over the production role, allowing business operations to continue. Once the failover is complete and applications have resumed, the administrative staff can turn its attention to resolving the problems with the failed system. Failover may or may not result in data loss depending on the protection mode in effect at the time of the failover.

In Distributed Database system Both Data and their functionalities are spread accross nodes ; each machine has part of data. All nodes must have access over data. Synchronization between the systems is established, so that in case one node fails other takes over. In replicated system Data replicated at the server level (Network), or at the storage level; Multiple copies of the same database is maintained.

Two categories of failovers are there

  1. Active/Passive failover
  2. Active/Active failover

Active/Passive failover

-> One node is active

-> The other is passive until fail over

Active/Active failover

-> 2 separate databases are involved

-> One is active on node A and passive on node B

-> The second is active on node B and passive on node A

-> Separate applications and user connections to each of the different databases.

Efficient cluster application

An efficient application is one that can be resilient to a system outage in a clustered environment. Several levels of application availability are possible:

  1. If an application error occurs, the application restarts itself on the same node and corrects any potential cause for error (such as corrupt control data). You would view the application as though it had started for the first time.

  2. The application performs some amount of checkpoint-restart processing. You would view the application as if it were close to the point of failure.

  3. If a system outage occurs, the application is restarted on a backup server. You would view the application as though it had started for the first time.

  4. If a system outage occurs, the application is restarted on a backup server and performs some amount of checkpoint-restart processing across the servers. You would view the application as if it were close to the point of failure.

  5. If a system outage occurs, a coordinated failover of both the application and its associated data to another node or nodes in the cluster would take place. You would view the application as though it had started for the first time.

  6. If a system outage occurs, a coordinated failover of both the application and its associated data to another node or nodes in the cluster would take place. The application performs some amount of checkpoint-restart processing across the servers. You would view the application as if it were close to the point of failure.

Leave a Reply