Overview
HA(High Availablity) feature is a very important functionality for DBMS to avoid service failure.
To avoid service offline, ORACLE supports RAC (Real Application Cluster) and ALTIBASE HDB supports Replication.
In this chapter, we will cover
- Brief architecture comparison between ORACLE RAC and ALTIBASE HDB Replication.
- Considerations when you want to migrate from ORACLE RAC environment to ALTIBASE HDB Replication.
RAC architecture
Here's a brief architecture.
|
ORACLE RAC is a cluster environment, which consists of ORACLE instances.
All ORACLE instances share storage, even datafiles and redo log files.
ORACLE datafiles and redo logfiles should be located in shared disk.
Replication Architecture
|
ALTIBASE Replication is a HA solution to replicate changed data to another ALTIBASE DBMS.
Here's how replication works in ALTIBASE.
- A changed transaction occured in ALTIBASE DBMS #1.
- Service thread writes its change log to redo logs before actual change.
- Replication sender thread is always waiting for the changes of redo logfile. Once it changes, Sender reads changes from redo logs and translate the changes to XLOGs (Transferable log) and send XLOGs to replication receiver in ALTIBASE#2 .
- A Replication receiver thread, in ALTIBASE #2, gets XLOG from ALTIBASE #1. Then Receiver apply the changes from XLOG to datafiles or memory tablespaces.
ALTIBASE Replication sends its XLOG over TCP/IP.
Therefore, ALTIBASE Replication can be configured within remote .distance
Comparing Replication to RAC
ORACLE RAC and ALTIBASE HDB Replication are quiet different.
ORACLE RAC와 ALTIBASE HDB 이중화는 매우 다르다.
We'll conver the differences between Oracle RAC and ALTIBASE.
우리는 ORACLE RAC와 ALTIBASE HDB의 차이점을 다룰 것이다.
Shared / Shared Nothing
The major difference is that Oracle instance in RAC shares the datafiles and redo log files with another instance at the same time.
Because all instances in Oracle RAC environment share the datafiles, all instance shares their schema as well.
However, the participants in ALTIBASE Replication environment do not share the storage.
Each paricipant has its own datafiles.
Replication sender thread in ALTIBASE is responsible for catching the changed data in local ALTIBASE and transfer the changes to another ALTIBASE.
Data Replication and Data Share
ALTIBASE Replication handles only data in table besides Oracle RAC shares schema.
It means that ALTIBASE does not sychronize object, synonyms.
Replication can be created after replication-related table was made
A major advantage in Replication is user can choose tables which user want to replicate.
Only specified tables are replicated.
It would be useful when user does not want share all data in database.
Remote Replication
Oracle RAC requires high speed network (such as infini-band) to support cache fusion feature.
If an Oracle instance in RAC environment requires a lock in Oracle Buffer cache, All nodes should be notified that fact to ensure data consistency.
Therefore it requires high-speed network.
Moreover Each Oracle node shares storage.
ALTIBASE Replication, in constrast to Oracle RAC, handles only changed data in redo logfiles and each nodes has its own storage.
And network traffic is not heavy as Oracle is because there is no cost in Replication when ALTIBASE performs "SELECT" statement.
It would be a solution when user want to synchronize each node which resides in different place to protect data from disaster such as earth quake, terror attack, fire.
About ALTIBASE replication
There're 2 types of ALTIBASE Replication types.
|
LAZY Replication
Default replication mode in ALTIBASE. When a transaction is issued, Service thread does not wait the completion of replication.
There're no sychonoization mechanism between service thread and replication sender thread.
Here's the benefits and risk when you want to use lazy replication.
EAGER Replication
In other words, replication in EAGER mode is a synchronization method.
This is one of two available replication modes, and prioritizes data consistency over performance.
In this mode, a transaction is not committed on the local server until the local server receives a message
from the remote server stating that the task has been performed and the transaction replayed
on the remote server.
The benefit of EAGER mode is that it is possible to replicate transactions in parallel, because they are
synchronized.
Therefore, when replication is running in EAGER mode, multiple Sender threads can
operate in parallel.
In a lazy mode, replication delay can occur since it uses an asynchronized method.
While in an eager mode, replication delay does not happen.
and ALTIBASE HDB replication suffers performance degradation in an eager mode.
replication delay does not happen even on a server having busy transactions.
but replication delay can occur in a lazy mode.