SSブログ

RDBMS がなんなんだかわからなかった [日記]

最初に RDBMS を使ったのは、やっぱり Oracle で、確か Oracle 8i だったと思う。
最初の感想は
「これは、一体なんなんだ?何がうれしいの?」
だった。
バッチ処理を Pro C で書いたのだが、テーブルを全検索して条件は C の中で条件分けしてた。
ファイルを順番に全部読むのと一緒。

そのうち、テーブルをマスターとトランザクションに分けて設計されているのを見て、
「ふーん、こういう風にやるんだ・・・」
と思った。
さらにさらに経過すると、どうしても一回の SQL で表形式のデータが欲しくなったり、同僚がうまいこと Join してデータを抽出をするのを見て、RDBMS のありがたさが、少しずつわかってきた。
そのうち、
「インデックスが効かない SQL を使うと遅くて使えない」
みたいな縛りプレイが必要なことがあって、逆にインデックスが効くように考えればとっても速いわけで、
「最初に使った頃の Oracle さん、僕のせいでパフォーマンスが発揮できなくてごめんなさい」
と思った。
僕が設計したわけじゃないけど、あの時のテーブルは全部文字列型で Forreing Key もインデックスもなかった。(全てのテーブルに予備カラムが1から10まであった)

プログラムの動作上は決まったデータの挿入、更新、参照のパターンがあるけど、時々 adhoc に集計したデータが必要になったり、思わぬ機能追加が必要になったときに、正規化データになってると、非常に助かる

今、なんだか
「RDBMS は古い!これからは NoSQLだ!」
という声が大きいように思う。
確かに今まで集計できなかったような大規模データを扱うのに RDBMS じゃ破綻しちゃう場面があるのはわかる。
でも、それ管理がいろいろ大変そうじゃん。
多くの業務システムは、(いまのところは)RDBMS を使うのがいいんじゃないかと思う。

そして、「NoSQL の XXX がいいよ」って言っているのが、よくよく聞くと「結果を json で
取ってこれる」のがいいとこだったりする。ええー、そこ?
そんなとき、 RDBMS がなんなんだかわからなかった頃の自分を思い出す。
古い枯れたミドルウェアより新しくていけてる(という評判)のミドルウェアを使いたいという気持ちもあるんだろう。

幸いなことに SSD やマルチコアや大量のメモリ搭載で今まで無理だったような規模のデータが RDBMS で扱えるようになっている。
そして、これからソフトウェアの進化でインデックス戦略がお利口になったり、
CPU をもっと有効に使えるようになって、もっとスケールするようになるんじゃないかと思っている。
ありがたやありがたや。

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント

トラックバック 0