PostgreSQL 超入門 第3回 (3)
3.2 データベース管理システムは大量のデータを保持できる
Excel の表では、行数は最大約 65,000行です。データベースの表の行数にはそのような制限はありません。何千万行でも何十億行でも扱うことができます。Excel の表はメモリ(仮想メモリが使えるので実際のメモリのサイズよりも大きい表が扱えますが)のサイズが上限ですが、データーベースの表にはそのような制限はありません。仮想メモリの数百倍、数千倍のサイズの表を作ることができます。
3.3 データベース管理システムはデータを安全確実に保存する
Excel では、処理中に PC がクラッシュしたり電源が切れたりすると、保存していない部分は失われてしまいます。
データベース管理システムでは、このようなことが起きないように、大量のデータを効率よく読み書きするだけではなく、変更の確定したデータが破壊されたり失われたりすることがないような配慮がなされています。
データベース管理システムはデータの変更が確定するたびに、データベースの変更記録(ログ)を常に保存し続けています。電源が切れたときに、たとえデータの変更がデータベースファイル上に反映されていなくても、このログさえ残されていればデータが失われることはありません。
突然のサーバの電源断やサーバプロセスの停止などといった異常が発生した場合、データベース管理システムはログを使ってデータベースを最新の状態に復旧することができます。これをクラッシュリカバリといいます(図3-5)。クラッシュリカバリは、異常発生後、最初にデータベース管理システムが起動したときに自動的に行われます。
データベースを格納していたディスクが壊れてアクセスできなくなるなどの異常が発生した場合にも、あらかじめ適切にデータベースのバックアップとログを保存しておけば、これらを使ってデータベースを復元することができます。これをアーカイブリカバリといいます(図3-6)。
バックアップとログを安全な遠隔地に保管しておけば、災害などでサーバが完全に破壊されても、遠隔地にあるバックアップとログを使ってデータベースを元に戻し、これで業務を再開することができるのです。ログには時々刻々と実行されるデータベースへの変更が記録されていますので、これをもれなく遠隔地に送るための基盤を作る必要がある(そのための設備投資も必要になる)ことは忘れないでください。