Media Interview | The Unending Pursuit of Business Continuity: GBASE Database High-Availability Solution Ensures Data Protection

Published on 2024-10-15

“Data must not be lost, and business must not be interrupted” is the requirement of key core business systems, which places high demands on database high availability. For Chinese databases to take on this responsibility and serve key business scenarios effectively, they must possess strong high availability capabilities and relatively comprehensive high availability solutions, thereby ensuring business continuity to the greatest extent possible. What mainstream database high availability solutions are currently available? How should enterprises choose a suitable high availability solution? How can business continuity be better ensured?

Regarding the above questions, Cui Zhiwei, General Manager of the GBase 8s Product Business Division at GBASE, recently accepted an interview with the database technology community ITPUB. He stated:The pursuit of business continuity has no end. The domestic database market currently offers a rich range of database high availability architectures, and enterprises need to select suitable high availability solutions based on their business scenario requirements.

The Evolution of Database High Availability Architectures

High availability(HA,High Availability)refers to a system's ability to remain operational and provide services when facing various failures such as hardware failures, software crashes, and network issues. It reduces the time during which a system cannot provide services through design, and improves system availability through redundancy and automatic failover, avoiding single points of failure and thereby ensuring high system stability and continuity.

Early databases did not have high availability architectures and mainly provided availability through methods such as regular database backups and log archiving. Databases could easily become single points of failure. At that time, high availability was more often achieved through cluster software provided at the operating system level to manage hardware and software, including databases. For example, IBM's high availability cluster software HACMP was primarily used for the AIX operating system, providing high availability and failover capabilities to ensure the continuous operation of key business applications.

In the 1990s, with the rise of the Internet and enterprises' increasing dependence on data, high availability became a key factor in database system design. Databases began introducing redundancy and failover mechanisms to improve system reliability and availability.

Database high availability architectures have continuously evolved along with the development of hardware technologies such as storage and networking and changing business requirements, progressing from standalone systems to primary-standby clusters, then to shared storage clusters, and then to distributed clusters, resulting in an increasingly diverse range of high availability solutions.

Taking industry leader Oracle as an example, it has successively introduced various forms including host HA(Highly Available)、ADG(Active DataGuard)、RAC(Real Application Cluster)、OGG(Oracle Golden Gate)and others. These high availability architectures can be used independently or in combination, and for many years have provided stable and reliable high availability services for the key core businesses of financial institutions and telecommunications operators.

For example, Oracle's primary-standby high availability solution ADG, initially called DG, allows the primary node to read and write, but the standby node cannot provide query services. Oracle 11g introduced Active Data Guard(ADG), allowing standby nodes to be used for queries, thereby reducing the load on the primary node and further improving system high availability. Subsequently, ADG provided three data protection modes—maximum protection, maximum availability, and maximum performance—for users to choose flexibly.

Oracle 9i, released in 2000, was an important milestone that introduced Real Application Clusters(RAC)technology. RAC is a typical shared-everything architecture, namely shared storage cluster technology, allowing multiple servers to share a database instance, thereby providing high availability and load balancing capabilities. If one node fails, other nodes can continue to provide services, ensuring system continuity. As RAC technology has continued to mature, an increasing number of large enterprises have adopted RAC technology for their core databases.

Against the backdrop of domestic replacement, although the technology stacks of domestic databases have changed, business requirements for database high availability will not weaken; they will only become increasingly demanding.Domestic databases must achieve a level of high availability technology equivalent to Oracle's, or even make breakthroughs beyond it, before they can gradually replace key core businesses across industries.

At present, most domestic databases have drawn on Oracle's experience to build their own complete high availability architectures. Taking the GBASE GBase 8s database as an example, it has a complete technology stack benchmarked against Oracle high availability to ensure high availability services for business systems.

For example, GBase 8s primary-standby clusters support two cluster modes: HAC and RHAC. HAC is a one-primary-one-standby cluster mode, which can select among three redo log replication modes—fully synchronous, near-synchronous, and asynchronous—according to network transmission conditions, corresponding to Oracle ADG's three operating modes of maximum protection, maximum availability, and maximum performance. RHAC supports one primary and multiple standbys, using an asynchronous transmission mechanism.

GBase 8s shared storage high availability cluster SSC(benchmarking Oracle RAC)uses shared disks to achieve node high availability. Data is stored only once, supports multiple writers and multiple readers, effectively utilizes hardware resources, avoids duplicate data storage, and supports both disk arrays and distributed storage for shared storage.

In the centralized database field, RAC shared storage clusters present significant technical challenges and are regarded as the equivalent of Mount Everest. The breakthrough achieved by domestic databases in RAC-like clusters has undoubtedly opened the door to high-end scenarios. However, although many domestic databases have RAC-like clusters, few support multiple writers and multiple readers. Many standby nodes are read-only, and cluster throughput is lower than standalone processing capacity.

Cui Zhiwei pointed out,all IT technologies must ultimately serve business development.Domestic database high availability architectures have progressed from nothing to something. They are now on the path from availability to excellence. Going forward, while continuously improving high availability solutions, everyone will strive to reduce primary-standby switchover time, continuously enhance business continuity, and improve cluster throughput.

How to Choose a Suitable High Availability Solution?

Some may say that since business continuity is so important, organizations should use higher-level high availability architectures whenever possible. If money is no object, feel free to do so. But in reality, even financially strong institutions such as banks must weigh the options repeatedly when building high availability and cannot act arbitrarily, because high availability solutions are extremely costly. Whether for local disaster recovery or remote disaster recovery, data centers, networks, and other resources require substantial investment.

Cui Zhiwei explained that different high availability solutions have their own characteristics. He recommends that enterprises select different high availability solutions based on their business scenario requirements, combined with their own funding, data center, and network conditions.

For example, the common high availability solution of primary-standby clusters is better suited to scenarios with relatively small data volumes and less stringent requirements for data consistency.

On the one hand, primary-standby cluster redundancy requires storing multiple data replicas, resulting in additional storage costs. On the other hand, after a failure occurs, data synchronization and primary-standby switchover require a certain amount of time. If the data volume reaches tens of terabytes, it will result in high storage costs and increase the time window for primary-standby switchover. In addition, it is not easy for primary-standby cluster data synchronization to guarantee strong data consistency between the two nodes. Many domestic databases compensate for this shortcoming through read-write splitting plug-ins.

Shared storage clusters effectively address storage costs and strong data consistency issues, making them suitable for scenarios with large data volumes and high requirements for strong data consistency.

Shared storage clusters deliver high performance and maintain business continuity with the least hardware and fewest databases, making them a high availability solution with excellent overall cost-effectiveness. However, shared storage clusters are relatively complex and have a high technical threshold, requiring database operations and development personnel to possess strong professional capabilities. In addition, shared storage clusters have relatively stringent requirements for hardware and database software. To achieve strong data consistency, information synchronization requires very high network bandwidth. For example, Oracle RAC heartbeat networks generally start at 10 Gigabit Ethernet, while Oracle Exadata machines may even use dedicated 40GB high-speed networks for internal heartbeats.

Cui Zhiwei noted that general government and enterprise customers usually do not have business scenarios involving such large data volumes, so most choose primary-standby cluster high availability solutions. However, business scenarios requiring strong data consistency, such as those in the financial sector, as well as scenarios with large data volumes(exceeding 10T or 20T), will choose shared storage cluster solutions.

GBase 8s provides relatively comprehensive high availability solutions for enterprises to select flexibly, including primary-standby high availability HAC/RHAC, shared storage cluster high availability SSC, and real-time data synchronization ER.

•  GBase 8s HAC clusters are suitable for businesses that are relatively sensitive to network latency and are recommended for deployment within the same city or data center. Considering the limitation on available disk capacity of a single server, HAC can be used when the data volume does not exceed 10T. RHAC clusters can be used for business scenarios involving long-distance transmission and remote disaster recovery. Due to long-distance transmission and limited bandwidth, network latency will increase, so RHAC optimizes bandwidth usage through asynchronous checkpoint mechanisms and data compression.

•  The GBase 8s shared storage high availability cluster SSC is RAC-like technology that supports shared storage and ensures strong data consistency. The cluster uses a peer management mode with a primary controller, supports up to 16 cluster nodes, and all nodes can read and write. When the primary node fails, a secondary node can be promoted to the primary controller node, ensuring high system availability. In business scenarios with data volumes below 100TB, shared storage clusters are the most cost-effective high availability solution compared with distributed databases. For businesses with data volumes exceeding 100T, distributed databases may be more suitable than centralized databases.

•  GBase 8s Real-Time Data Exchange and Sharing Cluster(benchmarking OGG)has built-in real-time table-level data synchronization capabilities and is more commonly used in data exchange and sharing scenarios, such as real-time data exchange and sharing between provinces, municipalities, cities, and counties, and real-time data exchange and sharing between peer entities such as supermarket stores.

Enterprises can deploy primary-standby high availability or shared storage cluster high availability separately, or use them in combination to build higher-level high availability solutions such as dual centers in the same city(SSC+HAC)and three centers across two locations(SSC+HAC+RHAC).

Currently, GBase 8s high availability cluster solutions can achieve RPO=0 and RTO<30s. In real business scenarios, primary-standby switchover can generally be completed in approximately 10-15s.

With outstanding capabilities, GBase 8s high availability clusters have already served key core businesses across numerous industries, including finance, rail transit, energy, and government, earning the trust of customers in key industries.

For example, the State Grid Dispatching Cloud Platform has business data exceeding 50TB and successfully replaced Oracle with an SSC+RHAC high availability solution. Through the development of a remote disaster recovery solution spanning thousands of kilometers, it achieved second-level data synchronization for active-active clusters with local and remote read-write splitting, complete transparency between the database and applications, and continuous operation for more than 600 days at its longest.

Shenzhen Metro's CLC Phase II and Internet Ticketing Management System deployed SSC+HAC at the primary production cloud center and each station to implement high availability cluster functions. This supports stable operation with 4,000 concurrent connections for more than one hour, tens of millions of records, and millisecond-level query response.

The core system of a city commercial bank in Southwest China adopted an SSC+HAC high availability solution. Following database replacement, it has remained online continuously for more than 760 days, fully demonstrating the stability of GBase 8s.

Summary: The Pursuit of Business Continuity Is Endless

In the future, GBase 8s will continuously optimize and enhance its high availability solutions, for example, by providing finer-grained resource management and control capabilities. After a primary node failure, it can lock the tables involved in affected transactions while other tables can still be opened for transactions. In addition, it will provide session preservation and transaction preservation capabilities, support data sharding in shared storage clusters to reduce conflicts, and more.

“The best assurance of customer business continuity is that no matter what kind of database failure occurs, customers are unaware of it. This is the ultimate goal we pursue.” Cui Zhiwei said that GBASE will continue to build databases that users can trust. An increasing number of real user scenarios have refined GBase 8s into a more stable and reliable product. Its SSC clusters have now been deployed in hundreds of installations, and customer recognition has given him great confidence.

In the digital economy era, enterprises' pursuit of business continuity is endless. However, with limited resources, whether it is high availability or business continuity, better results can only be achieved through the joint efforts of users and vendors.

“On the user side, leadership and technical teams should establish reasonable high availability switchover targets, break the rigid binding between critical systems and high availability capabilities, and design high availability targets based on the true characteristics of system businesses. On the database vendor side, vendors should optimize the high availability capabilities of their products based on users' application scenario requirements, rather than always competing over an unreliable failover time.” To conclude with this passage from an article by Mr. Baishan, it is hoped that through the joint efforts of users and vendors, system high availability capabilities can continue to improve and business continuity can be better ensured.