兵庫WEB制作.com

【シリーズ:セキュリティ】テクノロジ – トランザクション処理(後編)

2018年11月2日

トランザクション処理についての後編です。

前編はこちら

情報セキュリティ - テクノロジ

ログファイルによる障害回復処理

障害に備えて、データベース用のハードディスクとは別にログファイルを用意しておきます。

更新前のログ更新後のログの二つです。

データベースを更新する度に、更新前のデータを更新前のログに、更新した後のデータを更新後のログに記述します。

トランザクションがコミットしたら、その情報もログファイルに書き込みます。実際には、データベース内容はメモリ上のみ更新されていて、ハードディスク上のデータは不定期にしか更新されないためだからです。

メモリからハードディスク上のデータベースに書き込みを行うポイントが、チェックポイントです。チェックポイント後のデータは、障害が発生してメモリ上のデータが消えれば失われてしまいます。そのためのログファイルです。

トランザクション処理 障害回復処理

データベースに障害が発生したときにトランザクションのコミットが完了していた場合、更新後のログを使い、チェックポイント後のデータを復元させます。これをロールフォワードといいます。

また、コミットが完了しないうちに障害が発生した場合、ハードディスクに書き込まれていた実行途中のデータをトランザクションの実行前の状態に戻すことが必要で、更新前のログを用いて復元させます。これをロールバックといいます。

バックアップによる障害回復

バックアップ取得をする際、バックアップ対象をすべて取得するフルバックアップがあるのに対し、前回のフルバックアップとの増分、差分のみを取得する増分バックアップ差分バックアップがあります。

増分バックアップは、前回のフルバックアップまたは増分バックアップ以後に変更されたファイルだけをバックアップします。

差分バックアップでは、前回のフルバックアップ以後に変更されたファイルだけをバックアップします。

トランザクション処理 増分バックアップ 差分バックアップ

フルバックアップを取得する周期が短い方が復旧時間は短くなります。また、増分バックアップは、1度のバックアップ時間は短いものの、復旧時には全ての増分ファイルを順に扱う必要があり、時間がかかります。

また、ウイルス感染などで、直前のバックアップ以外で復旧する必要があることもあります。そのため、バックアップにおいて世代管理を行い、最新のバックアップ以外も管理しておくことが大切です。

データベースの性能向上

インデックスという、データベースの性能を向上させる方法があります。

検索速度を上げるために設定する索引で、基のテーブルとは別に、キーとデータの場所(ポインタ)の組を一緒に格納します。

インデックスはテーブルを更新する度に更新する必要があり、インデックス設定で逆に処理速度が遅くなる場合もあります。

– –

【ホームページの制作・更新・運用】お困りのことがあればご相談ください

カテゴリ

最新コラム

Facebook TWITTER LINE