データの保存先としてRDBの良い所を考えてみた。(長所だとなんか偉そうなので僕なりの良いところという感じ)
速い
大雑把に言えばB-Treeインデックスで参照できるので速い。 キャッシュを持ってくれるので速い。
もっと速い保存先は色々あるが、例えば“自分で適当にファイルに保存する”とかよりは参照が速い。
固い
大抵トランザクションが使えるので固い。更新前データを退避させる方法にしても、削除フラグを立てる方法にしても、自分で作るのは大変。
制約を設定できるので固い。わざわざ無視する指定をしない限り、あまり詳しく無い人が触っても、怖い感じのメッセージと共に弾いてくれる。
(表向き)分かり易い
エクセルというソフトがあるので2次元の表はイメージされやすい。
オブジェクトという目に見えないものはイメージし辛い。
コッド博士には申し訳ないが、集合論と述語論理は理解出来なくても、
「あ、エクセルみたいなもんか!」
という感じでプログラマー以外にも分かった感が持ち易い。CSVファイルには多くのファンがいる。
感想
歴史的経緯を無視して考えると、今から一から学ぶのは割が良いのか悪いのか。
僕が就職して始めてのプロジェクトで覚えて以来10年ずっと使えた唯一の言語がSQLだが、そろそろ別のを使ってみたい気もする。