それでなぜRDBMSを使うのだろう?

http://capsctrl.que.jp/kdmsnr/wiki/bliki/?Transactionless
これって、要するに、DBMSをほとんどファイルシステムのように使っているということだよね。そこまで限定した機能しか使わないなら、いっそフルスクラッチで書いたほうがいいんじゃないか?
ソートを自前で書いたって、DBMSのインターフェースを介してデータをフェッチしているだけで、すでに一定程度の効率性の向上を犠牲にしているように思うのだけれど。

      • -

ぶくまを見てみたら、トランザクションなんていらない的な意見が散見されたけれど、トランザクションはいるでしょ。それをどのレベルで実装するかという話じゃないの?

その話を聞いたとき、私はすぐに「アプリケーションプログラマへの影響はどうだった?トランザクションがないことについてはどんな感じだった?」と質問した。答えは「最初は変な感じだったけど、あまり問題にならなくなった。考えていたほどの問題はなかった。データベースコミットの順番については、より重要なものを先に処理するなどして、注意を払う必要がある。また、各コミットが成功したかどうかを確認する必要があるし、失敗した場合にどう対処すればよいかも決めておかなければならない」というものだった。

っていうのは、トランザクションをアプリケーション側で実装しますよ、ということを言っているわけで。
なんでも面倒を見てくれる汎用的なシステムでは、ある特定の局面では不要な機能のために無駄な処理が入ってしまったり、対象の特性をを無視した処理方式になったりすることで、効率が劣化するということはよくあることで、手書きするコストと効率の犠牲のトレードオフになる。
こういうのは、最近流行りのWebフレームワークでもよくある話だよね。