GBase 8a Fun Talk: Database Cluster (Part 3) — High Availability Features

Published on 2022-02-10

Hello to all GBase 8a fans and those interested in it! The GBase 8a database cluster is a core analytical database product independently developed by General Data Technology Co., Ltd. (GBASE). It has long held a dominant position in China’s database industry, especially in the analytical database segment. Over 13 years of evolution and development, GBase 8a has grown in step with customer business requirements, achieving large-scale deployment in industries such as finance and telecommunications. Both IDC and CCID reports rank it first in market share for domestic analytical databases in China. In this “Fun Talk”, we will also explore GBase 8a’s high availability features from the perspective of meeting key customer needs.

GBase 8a: Evolving with Customer Needs

Through the previous two “Fun Talk” articles, we learned that the evolution of the GBase 8a MPP Cluster product can be divided into three stages: columnar database, MPP + columnar database, and logical data warehouse (LDW); its architecture has also undergone three major evolutionary phases.

The evolution of GBase 8a has been primarily driven by customers continuously raising new requirements during database usage to meet the needs of upper-layer business systems. Chief among these requirements are the scale of data the cluster can support, computing performance (including loading and query performance), and high reliability, high availability, and high stability. To address these requirements, the product architecture has evolved accordingly.

GBase 8a has grown and strengthened along with customer business requirements, bearing a historical mission at each stage of its evolution. If GBase lacked independent intellectual property rights, a solid foundation of database theory, the capability to develop large-scale commercial database software, a sizable R&D team, and the trust of customers, we would not see such a homegrown analytical database product today.

GBase 8a High Availability Features

After years of customer application practice and iterative evolution, GBase 8a can meet key high availability requirements. It currently offers three levels of high availability: cluster-level high availability, cluster node-level high availability, and process-level high availability.

1. Cluster-Level High Availability

GBase 8a provides two technologies to achieve cluster-level high availability: data synchronization technology and mirrored cluster technology.

For data synchronization, GBase 8a has developed a data synchronization tool that performs incremental synchronization based on data blocks. Compared with traditional synchronization based on logical logs, it greatly improves the efficiency of synchronizing massive data volumes. This tool supports incremental data synchronization between two homogeneous GBase 8a clusters, enabling the construction of active-active clusters to meet customers’ remote disaster recovery requirements and achieve cluster-level disaster recovery management.

Mirrored cluster technology is developed by GBase 8a to meet customers’ intra-city active-active cluster requirements. Through this technology, mirrored cluster functionality is implemented in GBase 8a’s federated architecture. Users can create a mirrored cluster; once created, data written to the primary cluster is synchronized to the backup cluster (or secondary cluster) in real time, transparent to upper-layer applications. On this basis, read/write splitting is also supported, allowing read operations from upper-layer applications to access the backup cluster for reading data while supporting dual-write capabilities.

GBase 8a’s cluster-level high availability capabilities address customers’ disaster recovery needs, active-active cluster requirements, and read/write splitting demands.

2. Cluster Node-Level High Availability

GBase 8a cluster consists of three types of nodes: Gcluster nodes, Gnode nodes, and Gcware nodes. Multiple Gcluster nodes form the Gcluster cluster (also called the scheduling cluster), responsible for cluster scheduling and management, including access entry, unified authentication, and SQL parsing. Multiple Gnode nodes form the Gnode cluster (also called the storage and computing cluster), responsible for data storage and query computation. Multiple Gcware nodes form the Gcware cluster (also called the management cluster), responsible for metadata consistency and data consistency management across the GBase 8a cluster.

(1) Gcluster Cluster Node-Level High Availability

Gcluster nodes are independent of each other and have failover capability. When one Gcluster node fails, other Gcluster nodes will take over its in-progress tasks via the failover mechanism, ensuring data consistency for SQL statements that were being executed through that node. As long as at least one Gcluster node remains operational, the GBase 8a cluster can continue to provide services normally.

(2) Gnode Cluster Node-Level High Availability

Gnode nodes store multiple replicas of GBase 8a cluster data. When multiple replicas are configured, Gnode node-level high availability is achieved. For example, with three replicas, each piece of data has three copies, and consistency is guaranteed by the Gcluster and Gcware clusters. Each replica resides on a different Gnode node. For any given piece of data, even if two Gnode nodes become unavailable, the GBase 8a cluster can still access the data through the remaining replica’s node and continue to provide services.

(3) Gcware Cluster Node-Level High Availability

The Gcware cluster uses the Raft protocol to ensure data consistency. Therefore, if some Gcware nodes become unavailable, the Gcware cluster can still provide services as long as the remaining number of nodes meets the minimum required by the Raft protocol. We won’t go into details about the Raft protocol here; interested readers can study it on their own, as many resources are available online.

3. Process-Level High Availability

On each GBase 8a cluster node, core process services—including GNode, GCluster, and GCware—are running. These core processes are continuously monitored using real-time monitoring technology, and can be promptly recovered in the event of a failure.

With these capabilities, GBase 8a can effectively meet customers’ high availability requirements. Over the years, GBase 8a has continuously evolved with the goal of addressing customer business needs. It is now a product that has long held a leading position in China’s database industry, especially the analytical database segment. In a down-to-earth manner, it provides Chinese enterprises with a mature, stable, easy-to-use, high-performance analytical database, offering a solid underlying foundation for upper-layer applications such as data warehouses, data marts, business intelligence, and decision support systems.

In the recent three installments of “GBase 8a Database Cluster Fun Talk”, we have introduced GBase 8a’s product evolution, architecture, and high availability features. We believe that by now you have gained some understanding of the product’s history and capabilities. So, what do real-world applications of such a powerful database look like? In the upcoming articles, we will reveal this through years of customer practice.