とある案件で400列 x 700行で28万件のデータを一度に処理する必用にせまられ、速度面でいろいろ問題がおきてるんでふと気になったのが
NoSQL
最初は28万件のレコードをDBに挿入するつもりだったんだが、INSERTにかなり時間くうので、700行分のデータをjson形式にしてひとつのカラムにおしこむことで、400件のINSERTだけって実装に落ち着いたんですが、これってKeyValueStoreとかNoSQLとかと同じ考え方ですよね。
で、ちょっとぐぐってみたら、RDBとNoSQL組み合わせて使うって結構あるんですね。速度や負荷分散の重要性が高いところはNoSQL、検索性はRDBって住み分けはできそう。
ちょっと考えられるのだと、特定の時間に一斉に何か(申込だったり、タイムカードの打刻とか、オンライン試験とか)を受け付けるようなときに、その受け皿はNoSQL保存して、夜間バッチでゆっくりRDBに入れ直すとかも考えられるかもですね。
まぁ私が受けるような案件だとそこまでするより、サクッとDBサーバ増強の方がトータルコスト安そうですけどね(^^;
最後に、参考になった記事を。
株式会社RYUS代表。
2002年にXOOPSがきっかけでオープンソースCMSのカスタマイズをはじめる。(これが 今の仕事 のきっかけですな)
40代でロードバイクに目覚める→「40代からのロードバイク」
現在はNetCommons3の開発に参加