データベースの高速化でテーブル分割は結構有効

  • 投稿 : 2012-07-15
  • 更新 : 2014-06-24

本記事は広告およびアフィリエイトプログラムによる収益を得ています

あとよくshardingと呼ばれるようなデータベース分割だとかテーブル分割だとかをやります。これについてはアクセスデータのライブラリが、shardingに対応していて、テーブル分割を100分割と言って、keyをユーザIDだとしたらそのユーザIDの下二桁を取って、0番から99番まで取りましょう、と。で、その0番から99番までのテーブルをあらかじめ作っておいて、そのユーザIDのゲストが来たらどのテーブルかっていうのをライブラリで自動計算し、そのテーブルに向けてSelectなりInsertなりを飛ばすっていうライブラリがあって、それを使うことで楽にshardingに対応することができるっていうライブラリがあります。
これが5年間の技術的失敗と成功の歴史、GREEの成功を支えた技術者たちの闘いが今明かされる - GIGAZINE
レコード数の多いテーブルで検索などのレスポンスが悪い時に、テーブル分割という手法は結構有効です。10年以上前から使われている手法で、スマートさとかそういうのがないのですが非常に効果的な手法です。

本来は1つのテーブルを数十とか数百に分ける方式ですね。

こういう手法を採用しようとして反対されたら、GREEとかでも今はどうかはわからないけど、使ってたみたいですよというと良いかも。


スポンサーリンク