富士通ハードウェアとの組み合わせで即日利用できるアプライアンスに
このPostgreSQLのエンジンにミッションクリティカルで培ったSymfowareの技術をプラスしたデータベースは、ハードウェアと組み合わせたアプライアンスとしても提供されている。その製品が「FUJITSU Integrated System HA Database Ready」というもの。
「買えば即日利用できるというのがコンセプトです。チューニングは不要です」(秀嶋氏)
特長的なのが、何らかのハードウェア障害があった際にも、ハードウェアの修理を行えばあとはほぼ自動で修復される自動リカバリーの機能があること。このアプライアンスには、2台のデータベースサーバーと、1台のRAID構成のバックアップストレージがある。サーバー1と2は、同期レプリケーションで冗長化している。さらに、データベースの設定情報、ネットワーク情報なども定期的にバックアップストレージに格納されるようになっている。なので、何らかの障害が発生しても、このアプライアンスだけで復旧ができるというわけだ。
たとえば、プライマリーのサーバー1が壊れた際には、サーバー2に切り替わる。
「切り替え時間は、アベレージで10秒くらい。業務停止に影響のない範囲での切替が可能です。アプリケーション側ではとくにこの切り替えは意識する必要はなく、リトライすれば自動的にサーバー2に接続するようになる。アプリケーションの設定で、ドライバーを呼んでくれればそれでOKです」(秀嶋氏)
実際にこのアプライアンスの構成では、
・データベースの片方が壊れる
・データベースが両方壊れる
・バックアップストレージが壊れる
・データベースが片方+バックアップストレージが壊れる
の4つしか故障パターンはない。というのも、このアプライアンス製品ではこの4つの故障パターン/復旧パターンしか起きないように集約、性能や構成の最適化を行ったからだ。だから簡単な操作で復旧ができる。こうした仕組みが入っているため、アプリ側は何も意識しないで構わない。データベースが片方壊れた場合には、別のデータベースでトランザクションを継続し、壊れたサーバーを復旧させる。そして、まずは非同期で処理を同期させ、ログが追いついた段階で通常運用の同期に切り替える手順となる。アプリケーションへの負荷を減らすために、非同期から同期へと変更する手順をとっているというわけだ。
両方のデータベースが壊れた場合には、バックアップストレージからまずはプライマリーサーバーを復旧し、あとは片方のデータベースが壊れたのと同じ手順となる。また、バックアップストレージが壊れた場合には、プライマリーサーバーからバックアップを戻す。
ハードウェアを復旧させた段階で、管理者はGUIに入ってリカバリーのボタンをクリックするだけで、内部的に障害の状況を判断し自動で一連のデータベース復旧の手順が実行される。この自動復旧も、ミッションクリティカルでも利用できる手間のかからない、業務無停止で復旧できるアプライアンスの大きな特長だという。
PostgreSQLを使うことでオープンソースデータベースのメリットを得たい。とはいえ、ミッションクリティカルの領域で使うとなると足りないところがあるのが現実。それをオリジナルのPostgreSQLに手を入れたり、アプリケーション側で工夫したりで対策するのではなく、エンジン部分をミッションクリティカルで実績のあるSymfowareに取り替えてしまう。このようなソフトウェア同士の融合ができるのもオープンソースならではであり、データベースエンジニアにとっても技術的に興味深いポイントだろう。今後さらに、このような融合による新たなメリットというものに、おおいに期待したい。
▼関連URL
・FUJITSU Software Symfoware
・FUJITSU Integrated System HA Database Ready