Webシステムでは必ずと言ってよいほどデータベースが使われています。なぜ、
- ①大量のデータから知りたいデータを取り出すため
テキストの文字列で考えてみましょう。たとえば
「『松田、 吉永、 米沢』 という文字列の中から 『吉永』 を探しなさい」 と言われた場合、 すぐに見つけることができるはずです。ただ10万人分の苗字であったらどうなるでしょうか。目で見て調べるだけで膨大な時間がかかるはずです。データベースではそのニーズを満たすために 「サーチ」 という機能があり、 インデックスなどを備えることで高速に見つけ出すことができるようになっています。 - ②並列的な制御を可能にするため
Webシステムは多くのユーザが同時にアクセスすることを前提としているので、
複数のユーザが同時に同じデータを更新しようとすることも考えられます。何も対策をしていないと、 あるユーザがデータを更新したにもかかわらず、 別のユーザによって書き換えられてしまい、 データの整合性がとれなくなる事態になります。データベースでは 「排他制御」 という機能によって、 同時アクセスによって競合が発生した場合は、 あるユーザが独占して更新できるようにし、 別のユーザは更新できないようにすることができます。 - ③万が一の障害に備えてデータを保護するため
トラブルはいつ起こるかわかりません。あるのが当たり前のデータが数分後に跡形もなく消えていることもありえます。データベースではバックアップやレプリケーション
(複製) などの機能によって、 不意の事態が発生したとしてもデータを安全に保護することができるようになっています。
以上データベースが必要な理由をごく一部ですが挙げていきました。これだけで理解することは難しいかもしれませんが、
「Webエンジニアのためのデータベース技術
データベースの利用に必要なツールの使い方などをきちんと理解しておくのはもちろん重要なことです。ただ、
Webシステムを開発するWebエンジニアという仕事は特定分野の知識を押さえていればよいわけではなく、