wrong, rogue and booklog RSS

積読・読書途中の本に関する雑感や、オンライン上の面白コンテンツ、そして世の中の不合理に対する暴言を脊髄反射的に記す。
yutakashino
(柏野 雄太)

another weblog: kashino.exblog.jp

Archive

Jan
24th
Tue
permalink

Why Prismatic goes faster with Clojure
Bradford Cross (@bradfordcross) - Prismatic

Prismatic delivers realtime newsfeeds for thousands of learned topics based on your interests and social networks. The Prismatic backend requires many custom abstractions, sophisticated machine learning techniques, data crawling, and graph analysis algorithms. We discuss how our small backend team (just four engineers) built this stack in record time using a unique design philosophy facilitated by Clojure. In a nutshell, our problem-solving approach prefers lightweight composable custom abstractions for problems rather than monolithic open-source frameworks (e.g., Hadoop).

We talk about how Clojure lets us achieve maximal productivity-per-person and extreme reuse, all while maintaining high performance. We highlight key elements of our stack:

Flop & Optimize: our fast primitive array manipulation and numerical optimization library. This library is written in pure Clojure and its performance matches optimized Java performance without sacrificing expressiveness or succinctness; for instance, a state-of-the-art numerical optimization is implemented in

Clojure/West - Sessions

Clojureを使ったサービスFlightcaster(飛行機の運行状況を機械学習で予測して遅れるならノーティファイする)で成功したBradford Crossが新たなサービスを始めた。そのサービスはPrismaticというニュースサービスだ。

Prismatic
http://getprismatic.com/

これは自分のTwitter Followingと好きなジャンルをシステムに教えてやると、そのニュースがリアルタイムにアグリゲートされ、提示するというニュースアグリゲーションサービス。今日から使い始めたけれど、かなり使いよく自分が欲しいニュースが当たる気がする。そのシステムの中身を来月のClojureコミュニティで話すみたいだね。

これをみると、Hadoopのような巨大フレームワークを中央に据えてそこにクランチさせるように全てを構成するという官僚主義的というか「金槌を持った子供」的な構成ではないようだ。

そうではなくてClojureを利用して問題ごとに小さなコンポーネントを書き、そのコンポーネントを疎に結合してリアルタイムニュースフィードを実現しているとこのこと。数値最適化のコードも小さなClojureのコードで実現しているようだ。

詳細はわからないけれど、一般的に言って、MapReduceという解決方法があるからといって、何でもかんでも問題をMapReduceに還元してしまうという「金槌を持っている子供はすべてのものが釘に見える」系の解決方法よりも、問題に応じて問題を小さく分解しその問題ごとにコードを描くというアプローチの方が、うまく行きそうに思う。