2011-07-12 23 views
6

私は、水平パーティショニングではなく、いつ、どのような状況で垂直パーティショニングを選択するのかを理解できません。垂直パーティショニングVS水平パーティショニングのメリットは何ですか?

垂直パーティショニングVS水平パーティショニングのメリットは何ですか?

垂直パーティショニングを使用するウェブサイト/企業/誰の例がありますか、その決定の主な理由は何ですか?

+0

この方法では不均一な分布も予想されます。名前のハッシュの最初の文字のような何かが私にはより意味をなさないでしょう。 –

+0

http://www.eph.co.uk/resources/email-address-length-faq/#emailshortlength これはメールアドレス用ですが、有用なユーザー名の長さを示すグラフがあります。いいえ、ユーザーの名前の長さに基づくシャーディングは一貫しない可能性があります。 –

+0

人は再び質問を読む! – totsum

答えて

9

垂直パーティションを持つ主な理由は、テーブル内に残りの部分より頻繁に更新される列がある場合です。それらを別のテーブル/パーティションで区切ります。更新を実行するときは、残りのテーブルは更新しません。例は投稿カウンタにすることができます。それが他のユーザーデータと同じテーブルにある場合は、カウンタの各更新(およびロットがあります)はレコード全体をロックしますが、頻繁に読み取る必要があります。垂直パーティショニングでは、更新されたテーブルはuser_countersになり、ユーザーのパフォーマンスは更新の数に影響を受けません。

0

ダーハザーが言っていることに全く同意します。 "垂直パーティショニングの例は、1つのテーブル内で最も多く参照されている列を持つ2つのテーブルに分割されることが多い非常に幅広いテキストまたはBLOB列を含むテーブルです。およびほとんど参照されないテキストまたはBLOBデータを別の "にします。 http://dev.mysql.com/tech-resources/articles/partitioning.html

+0

デッドリンク、残念ながら。 – SQB

関連する問題