Island Life

< 日本の生活の質 | 静的型がうらやましいとき >

2010/05/08

Redditの舞台裏

Redditのファウンダーによるretrospective。 彼らがredditでアクティブに開発していたのは少し前だから、 このへんの内容は今のweb業界の人にとっては常識なのかもしれないけれど、 個人的には参考になった。

特におもしろかったのはこのへん。

  1. まっとうにrelationalなモデルでやろうとすると、スキーマの変更が 足を引っ張って破綻する。結局全てを「もの」と「もの」と「その関係」の 三つ組でストアした。
  2. memcachedを (1)関数のメモワイズに使用 (2)時限つきデータとして rate limitingに活用 (「一秒以内に同一ユーザからリクエストがあったら拒否」とか)
  3. 非同期に出来る計算はキューしておいてオフラインで。 (awardの計算は、関係するデータを全部テキストにダンプしてオフラインでやった、とか)

1.はrdfのtriple <subject,predicate,object> そのものじゃん。 ということは グラフデータベースの出番だろう。

Tag: Programming

Past comment(s)

六茶屋 (2010/05/11 08:18:00):

フレーゲと並ぶ、述語論理のもうひとりの考案者であるパースが、4項以上の述語は、3項の述語に還元できるが、それ以上は小さくできないといっていたと思うけど、三つ組というのは、パースの考え方と関連があるのかな。

述語論理のサブシステムであるリレーショナル・モデルも、より単純な部品に還元されていくのか。だとすると、NOR/NAND 演算子の発見者でもあるパースの考え方に近いというところがおもしろい。

shiro (2010/05/13 12:05:21):

たぶん3つ組の理論的な基礎はそのへんにあるのだと思います。セマンティックweb方面で活用されてるみたいですし。ただ、グラフデータベースはもっと汎用的に「柔らかいデータベース」としてRDBに並び得るんじゃないかという感じがします。OODBも柔らかかったのですが、いまいち操作性が悪くチューニングも難しかった。3つ組に還元することで非常に扱いやすくなってると思います。

六茶屋 (2010/05/13 23:24:54):

パースの 3 項関係の話は,ケンブリッジでの講演集 Reasoning and the Logic of Things のなかの Lecture Three: The Logic of Relatives にありました.

"Every polyad higher than a triad can be analyzed into triads, though not every triad can be analyzed into dyads." 3 項より高いあらゆる多項は複数の 3 項に分解可能であるが, すべての 3 項が 2 項に分解可能なのではない. (伊藤邦武訳, 連続性の哲学)

記号論で使われる概念であるセミオーシス (記号過程) を分析するのに, 3 つ組が使われたりもしていますが,グラフ・データベースを使って, 柔らかさが求められる記号現象を,計算機科学型に定式化したり, シミュレーションもできそうです.

Post a comment

Name: