#appengine で skiplist ってすごくね?
@koherさんのエントリ「Google App Engineでランキングやページングを実現する」はすごいです。。
どうすごいのかは、時間があるときに改めてエントリを書きますが(もう寝なきゃ〜)、とりあえずはこの件で@kibayosさんからいただいた貴重な情報群のまとめです:
- Togetterまとめ:#appengine で skiplist ってすごくね?
結論から言うと、
私のつぶやきに対する@kibayosさんのお返事:
はい。RT @kazunori_279: まとめ: #appengine 含むNoSQL/KVSのエントリ間でskiplistを作れば、任意ソート条件でランク、カウント、指定範囲の最大/最小/中央/平均/合計値、 pagingをO(log n)で実装できる... 理解合ってますか?
私のつぶやき:
確かに更新コストは高いけど(INSERTがんばれ系)、私としては、#appengine で正確なgroup byクエリをO(log n)で実装できちゃう点に感動するなぁ。。夢に見たcount(*)が! avg(*)が!
4/26追記
そろそろ寝ようかな〜と思ってたら@koherさんのつぶやきが始まって、@kibayosさんと3人で濃すぎる深夜のつぶやき大会になってしましました^^;; お題は「skiplistとB-Treeはどう違うのか?」「B-Treeでよいなら、既存DBのインデックスとどこが違うのか?」です。
- Togetterまとめ:#appengine で skiplist ってすごくね?・その2