Pinterest がこのビデオに従ってシャーディングを行う方法を理解したいのですが、その方法を完全には理解できないようです。同じ戦略を自分のアプリに適用し、Amazon RDS の上に自分でシャーディングを構築したいので、興味があります。
私の理解から:
- 彼らは 4096 個の仮想シャードを作成することを決定しました
- 複数のシャードを 1 つ以上の物理サーバーにマップできます。たとえば、開始したばかりのときに、すべてのシャードを 1 つのサーバーにマップできます。
次のマッピングテーブルを想定すると:
仮想シャード 1 -> 127.0.0.1
仮想シャード 2 -> 127.0.0.1
....
彼らが独自の ID (シャード ID + タイプ + ローカル自動インクリメント) をどのように構築したかを見て、127.0.0.1 のデータ容量がかなり大きくなり、さらにマシンを追加したいので、別のサーバー 12.0.0.2 を追加することにした場合はどうなるでしょうか。容量を増やす?
シャードを新しいサーバーに正確にマッピングするにはどうすればよいですか? 講義に従ってデータが動かないことは理解していますが、どうしてホットスポットがないのでしょうか。それがどのように行われたか本当に理解できません。誰かが私に段階的な説明をしてもらえますか?ありがとう