徹底比較!! Oracle & PostgreSQL 9

PostgreSQLの適用範囲を考える 〜 管理・運用編

データベース管理作業項目   ベンチマークに続いては、DBA(データベース管理者)と呼ばれる方々の日々の仕事となるデータベースの管理・運用について比較してみたいと思います。まずデータベースの管理作業として、大きな項目をあげてみます。

高橋 強

2005年12月1日 20:00

データベース管理作業項目

   ベンチマークに続いては、DBA(データベース管理者)と呼ばれる方々の日々の仕事となるデータベースの管理・運用について比較してみたいと思います。まずデータベースの管理作業として、大きな項目をあげてみます。

  • セキュリティ・認証などの管理
  • ログ管理
  • バックアップ・リストア
  • 領域などの調整や監視
  • パフォーマンスチューニング

   分類の仕方は考え方によって様々あると思いますが、データベース管理者は上記のようなことを日々処理する必要があります。それではその中のいくつかについて、OracleとPostgreSQLでの違いを確認していきます。

バックアップ・リストア

   多くの場合、データベースには重要なデータが格納されています。そのデータはハードディスクに格納されますが、時折ハードディスク障害などの理由で そのデータを失う事態に見舞われます。しかし最近では、RAID機能などによって単一障害でいきなりデータをすべて失うというようなことは少なくなってき ました。

   そうはいっても、データベース内のデータを失う原因はハードディスク障害のみならず、ユーザのオペレーション・ミスやアプリケーション側の動作不良 (バグ)、DBMS内の障害による不整合なども考慮に入れておかねばなりません。そのような要件を踏まえ、障害時に必要なデータを迅速に復旧できるように 管理者は常時備えておくことが必要です。

   つまりバックアップ方法とタイミング、世代管理など障害発生時に許容されるダウンタイムを考慮したバックアップ・リストアの方法を確立させなければなりません。特に商用システムで使用されるデータベースにおいては管理者の重要な義務であると言えます。

   一方で取得したバックアップを用いて、それを復元することが「リストア」または「リカバリ」です。どちらも「回復」という同じ意味で用いられること が多く、どちらでも間違いないと思いますが、どちらかといえば「リカバリ」は「一部の損傷に対する修復」といった意味で使用されることが多いと思います。 またOracleのコマンドの「restore」と「recover」は、役割が違っていますので、本連載ではバックアップを用いて回復するための作業は 「リストア」として表記します。

   修復後の状態を想定し、バックアップ採取の方法を決定するのがバックアップ設計時のベースとなります。バックアップ手順を設計したら、必ず全てのリ ストア手順を一通り実行し、望んだ状態へリカバリできることを確認してください。よくある話ですが、「バックアップはしているが、リストアは1度も行った ことがない」のでは備えとしては完全に失格です。復旧の手順を管理者が把握していないことがないように、予行演習は必ず行いましょう。

   このような一般的な考え方を押えた上で、OracleとPostgreSQLについてバックアップ関連の機能面を比較して見ましょう。

   残念ながらPostgreSQL(V7.4のレベル)で用意されているバックアップ手段はOracleと比較して多くはありません。Oracleの 方はトランザクション・ログであるREDOログを用いたロールフォワード、フラッシュバックの機能(UNDO)でのロールバックのそれぞれの機能により、 PITR(Point In Time Recovery)を実現しています。PostgreSQLにもWALと呼ばれるトランザクション・ログがありますが、こちらはリストアにはまだ(V8で 対応)利用することができません。(トランザクション・ログについては本連載の第3回を参照してください)

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る