11

大規模な Web サイトのスケーリングの問題を解決するために、「シャード」手法について何度か言及されているのを聞いたことがあります。この「破片」テクニックとは何ですか?なぜそれが優れているのですか?

4

3 に答える 3

9

Karl Seguin は、シャーディングに関する優れたブログ投稿を行っています。

投稿から:

シャーディングとは、複数のサーバー間でデータを分離することです。データをどのように分離するかはあなた次第ですが、一般的には基本的な識別子で行われます。

于 2008-09-18T11:26:49.730 に答える
2

「シャーディング」は大規模な Web サイトのアーキテクチャ原則の一部であるため、ここで「ランディ シャウプによる eBay のアーキテクチャ原則」を聞くことに興味があるかもしれません。

于 2008-09-18T12:05:51.443 に答える
2

簡単に言えば、いくつかのサーバーにまたがって users_tbl を分離することを想像してください。つまり、ユーザー 1 ~ 5000、サーバー 1 ではユーザー 5000 ~ 10000、サーバー 2 ではユーザー 5000 ~ 10000 です。データ モデルのコードが十分に抽象的である場合、多くの場合、コードの大幅な変更にはなりません。

もちろん、すべてのクエリが「SELECT COUNT(*) FROM users_tbl GROUP BY userType」に似ている場合、このアプローチは難しくなりますが、場所が「WHERE userid = 5」の場合はより理にかなっています。

于 2008-09-18T11:28:35.217 に答える