|
McObjectは、eXtremeDB version2.3でトランザクションログオプションを追加しました。これはトランザクションによるデータベースの変更を記録するプロセスです。トランザクションログを有効にした場合、eXtremeDBランタイムはデータベースの変更を捉え、トランザクションログと呼ばれるファイルに書き出します。ハードウェア又はソフトウェアに障害が発生した場合、eXtremeDBはランタイムはそのトランザクションログを用いてデータベースを修復します。記録は定期的なチェックポイントで行われ、データベースのイメージは二次記憶装置等に保存され、データベースの変更はログファイルに書かれます。
トランザクションログの機能はeXtremeDBの完全なインメモリデータベースとしてのアーキテクチャに変更を加えるものではありません。ディスクベースのデータベースに対する絶対的なパフォーマンスの優位性はそのままです。リードパフォーマンスはトランザクションログの影響を全く受けませんし、ライトパフォーマンスも既存のディスクベースのパフォーマンスを凌駕しています。その理由は簡単です。eXtremeDBのトランザクションログ機能は一つのトランザクションに対して一つの書き込みが発生するだけです。ディスクベースのデータベースは、一つのトランザクションに対して、データページやのインデックスページ、トランザクションログなどの多くの書き込みが発生し、より大きなトランザクションや多くのインデックスが更新された場合は、より多くの書き込みが必要となります。
性能に対する影響を最小限にするために、eXtremeDBはアプリケーションをチューニングする時に必要な全ての制御機能を開発者に準備しています。eXtremeDBのデザイン方針に追従できるように、eXtremeDBの特長はパラメータ化され、その結果プログラマは、パフォーマンスと耐久性の優先度をどう維持するかにかかわらず、アプリケーションに適した特長を呼び出すことができます。例えば、トランザクションログの機能を実行時に有効・無効にしてみてもいいし、有効にしたときにトランザクションの耐久性レベルを異なったものにセットしてシステムマネージャがパフォーマンスと耐久性に対するリスクのトレードオフを決定してもいいでしょう。
トランザクションログ関連の技術資料”リアルタイムシステムにおけるデータ管理の永続性実現”も是非ご覧ください。
|