kumofsはなぜスケールするか - 古橋貞之の日記(情報元のブックマーク数)
kumofsのわかりやすい技術説明。
kumofsは、サーバを追加するとほぼ線形に性能が向上していきます。今のところ、60台まではスムーズに性能が向上していくことを確認しています(これ以上は試したことがありません^^;)。
kumofsはなぜスケールするか - Blog by Sadayuki Furuhashi
このスケーラビリティを得るためにkumofsでは、データを保存する担当のサーバを決める方法に、ハッシュ関数を使っています。データを保存したり取り出したりするときには、キーにハッシュ関数を適用して得られた値から、どのサーバが担当するかを計算します。
スケールアウトに必須なライブで増設交換。
kumofsは、システムを動かしたままサーバを追加することができます。サーバを追加すると自動的にデータが再分配されるので、新しいサーバを接続したら、すぐに性能を向上させることができます。
kumofsはなぜスケールするか - Blog by Sadayuki Furuhashi
これを実現するために、double-hash-space と命名したアルゴリズムを実装しています。新しいサーバを追加してデータを再分配している最中でも、読み書きを正常通りに行えるようにする仕組みです。
追加はアプリ再起動不要。ところで、縮小対応というのはどうなるんだろ・・・
kumofsは、サーバを追加しても、追加している作業中でも、kumofsを利用しているアプリケーションには一切影響しないように設計しています。アプリケーションを再起動したり再設定することなく、いつでもサーバを追加できます。
kumofsはなぜスケールするか - Blog by Sadayuki Furuhashi