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

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

レコード数の多いテーブルで検索などのレスポンスが悪い時に、テーブル分割という手法は結構有効です。10年以上前から使われている手法で、スマートさとかそういうのがないのですが非常に効果的な手法です。

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

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

スポンサーリンク

コメントを残す

メールアドレスは公開されません。
また、コメント欄には、必ず日本語を含めてください(スパム対策)。