ミッションクリティカルな分野のデータベースサービスは、どのような場合でもサービスが中断されてはいけません。データベースシステムの故障や、データベースメディア(ディスク)の破損により、サービスが中断された場合、提供できなかったサービスに対する経済的な損失を被るだけではなく、会社の信頼度も低下してしまいます。
このような問題を解決するための対策案が、データベースの二重化機能(レプリケーション)です。
|
|
 |
|
データベースの二重化とは ?
|
|
|
|
|
レプリケーションとは、物理的に離れている複数のデータベースに対し、ローカルデータベースの変更された内容をリモートデータベースにコピーして管理することを言います。
ユーザは、一つのデータベースについてのみ作業を行ってもデータベースの二重化システムにつながっている他のデータベースにも作業内容が同様に適用され、複数のデータベースを同時に管理することができます。このようなデータベースの二重化は、データベースの無停止サービスを可能にします。
|
|
|
|
二重化方法
|
|
|
|
|
ALTIBASE は、データベースの変更ログを使用した Point-to-Point の二重化技法を使います。ローカルサーバーがデータベースの変更ログを XLOG という実行計画に置換えてリモートサーバーに転送し、リモートサーバーは、この XLOG をトランザクションを回復するのと同様な方法で反映します。
ALTIBASE は二重化したサーバーの独立性を保障するため、二重化トランザクションがローカルトランザクションに与える影響を最小化します。二重化は Active-Active、Active-Standby のモードを提供しており、ALTIBASE 内部で Replication Manager、Replication Sender、Replication Receiver という二重化処理を実行する専用スレッドで処理を実行します。
|
|
|
|
二重化の特徴
|
|
|
|
|
| ● |
テーブル単位の二重化 |
|
|
| ● |
SQL と同様なユーザインターフェース |
|
|
| ● |
二重化オブジェクトを導入し、二重化の情報をデータベースに保存して運用 |
|
|
| ● |
サーバーの故障またはネットワーク切断の自動感知、及び対応 |
|
|
| ● |
サーバーの故障の際、二重化されたサーバーへの即時アクセスによる高い可用性の提供 |
|
|
| ● |
二重化データの衝突に対する自動解決 |
|
|
| ● |
二重化中も独立したシステムの性能の 90% 以上を維持 |
|
|
| ● |
データをコピーしても、ALTIBASE サーバーや DB に対する安定性を保障 |
|
|
| ● |
リモートサーバーの性能がローカルサーバーの性能に影響を与えないため、サーバー間の独立性を保障 |
|
|
| ● |
Active-Active の運用形態による負荷分散を提供 |
|
|
| ● |
相手サーバーのシャットダウン中に発生したDBの変更も復旧後、二重化を保障 |
|
|
|
|
二重化インターフェース
|
|
|
|
|
ALTIBASE の二重化インターフェースは、SQL に同様な構文で提供されるため、対話型 SQL ツールまたはアプリケーションプログラムから、簡単に利用することができます。二重化のインターフェースは、次の通りです。 |
|
|
|
create replication rep1
with remotehost、portno
from localtableA to remotetableA、
from localtableB to remotetableB、…;
drop replication rep1;
alter replication rep1 start;
alter replication rep1 stop;
alter replication rep1 sync;
alter replication rep1 quickstart;
|
|
|
|
二重化 Topology
|
|
|
|
|
ALTIBASE は、N-Way 二重化を提供することにより、Network の構造の二重化位相を提供します。
|
|
|
|
二重化 Mission
|
|
|
|
|
ALTIBASE の二重化は次のようなミッションを基に開発されています。
|
|
|
|
| ● |
High Availability |
|
サービス中のシステムまたは S / W が故障した場合、使用可能なシステムへ即時アクセスができるようにデータ二重化を提供します。また、複数のシステムにデータを二重化できるように水平的な拡張性をサポートします。 |
|
|
| ● |
Database Consistency
|
|
Active-Active の環境でデータベースの二重化を行うと、一つのデータベースサーバー内で二重化トランザクションとローカルトランザクションが同時に同じデータにアクセスする場合があります。そのような場合、データの衝突が発生しますが、ALTIBASE はロールべースでデータの衝突を自動解決します。衝突した内容を特定のログファイルに記録しておくことにより、管理者がその内容を閲覧し、適切に対応することができます。 |
|
|
| ● |
High Performance
|
|
データベースを二重化することに伴うオーバーヘッドを最小化し、単独のシステムでトランザクションを処理する時の性能をほぼそのまま維持できるようにしています。ローカル サーバーのデータへのアクセスや二重化のための作業を最適化することにより、ALTIBASE のトランザクション処理にかかる負担を最小化します。具体的には、データベースの変更ログを二重化ログの XLOG 構造に変換してリモートサーバーに転送し、この XLOG を利用してトラザクションを復旧するような方法で二重化を行います。この方法は少し複雑になりますが、ローカルサーバーの性能低下を最小化するだけでなく、二重化そのものの性能も最大化します。 |
|
|
| ● |
Load Balancing & Scalability |
|
ALTIBASE のマルチサーバー運用環境でサービスするトランザクションを二つ以上のグループに分け、それぞれのトランザクションが該当サーバーで行われるようにし、各サーバーで変更されるデータベースの内容を他のサーバーに反映させることにより、サーバーにかかる負荷を分散させることができます。
|
|
|
|
|
| ↑ページTOPへ |