RDBMS と NoSQL の使いわけかた

RDBMS と NoSQL の使いわけの基準について。

議論は出尽くして擦り切れた感があるのだけれども、 ぼく自身の経験から得られた基準をまとめておこうと思う。

適材適所という言葉に従うための基準。

  • 汎用性を考えるとやっぱり RDBMS に分がある
    • どちらを使うべきか迷うなら RDBMS で良い
    • 枯れた技術だし、実績も情報もたくさんある
    • 石を投げれば SQL マスターやパフォチューに苦労した先人達に当たる
  • NoSQL と相性のいいユースケース
    • 使いすてのアプリケーション
      • プロトタイプ
      • キャンペーン
    • モデル(コレクション)の数が少ない
      • 10 個くらいが閾値
      • キャッシュストレージ
      • ログストレージ

「スキーマデザイン考えなくて良い!ひゃっほう!」ってな考えの基での NoSQL の採用は問題の先送りにしかならず、 熱力学第二法則よろしく日々データモデルは複雑化していき、つぎはぎだらけのシステムがあなたのプライベートを殺す。