HA Default system consists of a single master and slave nodes to provide highly available services.
Enterprise Open Source DBMS
CUBRID is an open source DBMS optimized for OLTP. It offers great read and write performance than other database systems. It assures high performance, stability, scalability and high availability which are required for mission-critical applications. In addition, CUBRID provides ease of installation and native GUI-based administration tools for developers' convenience.
We are committed to continuously improve the CUBRID features, the quality and the performance of the engine, drivers, and tools. We have focused on pursuing the best quality for more than 20 years. And we will highly appreciate your contribution on CUBRID project for building a better end-user experience.
 
Major Features
High Availability
CUBRID HA enables OLTP services to be highly available and to balance traffics efficiently. CUBRID HA can be configured with a master node to process Read/Write loads, a slave node to replace the master on failure, and a replica node to distribute Read loads. The following table shows three types of CUBRID HA system.-
HA Default (M:S:R = 1:1:0)
-
HA Extended (M:S:R = 1:N:0)
HA Extended system consists of a single master and N slave nodes for both high availability and load balancing. This type enables server duplication between two data warehouses.
-
HA Load Distributed (M:S:R = 1:1:N)
HA Load Distributed system consists of HA Default nodes as well as multiple replica nodes for distributing read loads. A master in this system uses fewer resources than the one in HA Extended system.
[CUBRID Broker Duplication and Automatic Fail-over]
[CUBRID DB Server Duplication and Automatic Fail-over]
DBLINK
CUBRID DBLINK for Querying External Databases
CUBRID DBLink provides the ability to perform complex queries, such as joins, using data from CUBRID or heterogeneous DBMSs. It has the same effect as querying information from an external database in a single database. However, you can set up multiple external databases, but when you query information, you can only query information from one other database.
CUBRID DBLink is available in DBLINK syntax format, which specifies the server to be connected to and the query to be executed in the FROM clause of SELECT, and in remote table (table extension) format, and INSERT/REPLACE/UPDATE/DELETE/MERGE syntax is available only in remote table format.
In the configuration diagram for retrieving information from external databases of the same model, you can connect to brokers of the same model using CCI on the Database Server to retrieve information from external databases.
A schematic for retrieving information from heterogeneous databases shows how the gateway can be used to retrieve information from heterogeneous databases. Gateway relies on the ODBC(Open DataBase Connectivity) driver of the databases it connects to.
Sharding
CUBRID SHARDING for distributed processing of large amounts of data
- As a form of middleware to minimize changes to existing applications, you can access sharded data transparently using commonly used JDBC or CCI, the CUBRID C API.
- It can be used by adding hints to existing queries by using hints to select the shard to perform the actual query.
- Guaranteed characteristics of partial transactions.
CUBRID SHARD is middleware that sits in the middle of applications and physically or logically partitioned shards, maintaining connections with multiple applications at the same time, forwarding requests from applications to the appropriate shard for processing and returning the results to the application.
The CUBRID SHARD middleware consists of three processes: broker/proxy/CAS, and the brief functions of each process are as follows.
- broker
• After receiving initial connection requests from drivers such as JDBC/CCI,
forward received connection requests to the proxy according
to the load balancing policy
• Monitor and recover the status of the proxy process and CAS process
- proxy
• Forward user requests from drivers to CAS, and return the processed results
to the application
• Manage connection state and process transactions with the driver and CAS
- CAS
• After creating a connection to the partitioned shard DB, use the connection
to process user requests (queries) received from the proxy
• Transaction processing