DBMSにはトランザクション管理、排他制御、障害回復、レプリケーションなど様々な機能が搭載されています。

データベースは複数の人で共有して使うことができる便利なものですが、逆に言えば、誰でも好き勝手にデータを操作できてしまうという面も持ちます。それは、たとえ担当者に悪気がなかったとしても不都合になることがあります。

一例として在庫管理を考えてみます。商品が購入されたため、在庫がひとつ減って3から2になり、次に同じ商品が購入されたらその在庫数をさらにひとつ減らして1とすることになります。

しかしもし、同じ商品が同時に購入されようとした場合。2人の店員が同じデータを同時に確認したら、どちらの店員も今の在庫数は3に見えてしまいます。そこから2人とも1減らしても2にしかならず、在庫数の値はおかしなことになってしまいます。

そういったデータの不整合を守るための機能がトランザクション管理と排他制御です。

また、データベースに格納されるデータは、「情報資産」であり、価値は非常に高いです。そんなデータベースが壊れてしまい、中のデータが消えてしまったら、損害も莫大です。しかし、コンピュータは機械ですので、壊れてしまうこともあります。そんなときでも、元のデータを復旧するための仕組みが必要です。左記はハードウェア障害を例としてますが、ソフトウェア障害が発生した場合でも、整合性が取れた正しい状態に回復できなければいけません。

そのように障害に備えてデータを守る機能として、障害回復やレプリケーションがあります。

と、ここまで初歩的なことを記載しましたが、データベーススペシャリスト試験を受験する方にとってはこんなことは当然わかっていることと思います。

データベーススペシャリスト試験では、それらの仕組みについて問われる知識量は少ないですが、様々な具体事例に沿って、どのように問題を解決すれば良いかという実務的な内容を問われます。知識があっても、解けないことも多かったり、わかってたつもりが実はわかっていなかったということに気が付くこともあるでしょう。この分野もしっかり準備しておかないと、合格点は取るのは難しいです。