データベースにおける論理削除と物理削除

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

リレーショナルデータベースにおいて、しばしば論争になることがあることがらにおいて、「論理削除」と「物理削除」が挙げられる。ここではこれらの違いなどについて個人的な見解も合わせて述べてみたい。

まず、「論理削除」は、実際にはデータは消えていないが、あたかもデータが削除されたかのように見せる手法である。この方法は、テーブルに「deleted」や「available」といった欄を設けて利用可能かどうかを判別するという方法である。この方法では実際にはデータを保持しているということで、内部でデータを活用できる場合がある利点があるが、データの肥大化やプログラムの複雑さが出る。論理削除に近い方法として、利用者にとってわかりやすいようにデータのステータスを表す方法を使うことも提唱されているようである。

一方、「物理削除」は、実際にデータを削除する手法で、削除がリクエストされたら実際に削除される。この方法ではプログラムやデータがシンプルになる一方、データが削除されるため、復元が容易ではないため、バックアップが必要になる。

これらは双方共メリット・デメリットがあり、一概には言えない。自分のシステムの特性とも比較しながら行うのが望まれるだろう。

タイトルとURLをコピーしました