App Engineでランキングを実装する問題
- bluerabbit777jp
- 5482
- 0
- 10
- 1
@knj77 点desc, 83563>点, 点>77777 だと 77777の人は入らないのでは? > 2ではただ単に並び順を数えるので、自分より前に同点の人がいる可能性があるかと。その場合は同率○位として順位を上げないと。 #appengine
2010-02-28 00:39:20Skip Listというアルゴリズム(データ構造?)をDatastore上に実装すれば比較的高速にランキングを実現きるんじゃないかと思って実装しています。できあがったら報告します。 #ajn7 #appengine
2010-04-23 20:31:11ランキングをSkiplistで実現してみたところ、1万件のデータから平均2.7秒ほどで順位を求められています。O(log N)なので10万件でも3〜5秒程度で順位を取得可能だと思います。詳しくはブログで。 http://bit.ly/bWWmCW #appengine #ajn7
2010-04-25 15:35:13まとめ: #appengine 含むNoSQL/KVSのエントリ間でskiplistを作れば、任意ソート条件でランク、カウント、指定範囲の最大/最小/中央/平均/合計値、pagingをO(log n)で実装できる... 理解合ってますか?
2010-04-25 22:23:47はい。RT @kazunori_279: まとめ: #appengine 含むNoSQL/KVSのエントリ間でskiplistを作れば、任意ソート条件でランク、カウント、指定範囲の最大/最小/中央/平均/合計値、pagingをO(log n)で実装できる... 理解合ってますか?
2010-04-25 22:32:29#appengine で skiplist ってすごくね? - スティルハウスの書庫 http://ff.im/-jmFZz
2010-04-26 01:33:17.@kazunori_279 本当ですね!集計関数も含めて実装してみます。わくわくしてきました。 #appengine > いずれにせよ #appengine 上ではすごく重要なパターンになると思いますね
2010-04-26 02:45:31Togetter - まとめ「#appengine で skiplist ってすごくね?・その2」 http://shar.es/muKu3
2010-04-26 13:02:18このランキングはどんな仕組みかな/Google App Engine Blog: Google Code Jam's Ranking Library Released http://shar.es/m50m4
2010-04-27 14:01:33@kibayos さん、@koher は6/4にお越しいただけることになりました。ぜひご参加ください。今日か明日にはATNDで告知する予定です。
2010-04-27 14:24:31