昔のCISC vs RISCを思い出した。BigtableはかなりプリミティブなRISCのようなデータストア。高級な処理はできないが、それがひとつのブレークスルーを生み出している。 RDB的発想だと、できるだけSQLの数を少なくしつつ、SQLでできることはコードでは書かない(ソートとかフィルタとか)という書き方になる。なぜならDBサーバーが1台しかないので、コード処理の重さがサービス全体のスループット(=リクエスト処理時間に反比例)を決めるからだ。 しかしBigtableが根本的に異なるのは、サーバーがいくらでも分散化されること。コード側である程度重い処理(ループを回してソートしたりフィルタしたり)を実装してリクエスト処理時間が少々長くなっても、サービス全体のスループットはリクエスト数に比例してどこまでも伸びる。(といっても長くて2〜3秒くらいにしておきたいし、CPU課金は気にする必要があ