インタラクティブな データ分析プラットフォーム: Imhotep オープンソース化へ

今回は、 Imhotep のオープンソース化を皆さんにお知らせしたいと思います。
Imhotep は Indeed のインタラクティブなデータ分析プラットフォームで、これによって私たちはデータに基づく意思決定を行います。アプリケーションやサービスへの変更をテストする際、 その変更が UI でもバックエンドのアルゴリズムであっても、私たちはその変化が求職者にどう影響するのかを計測します。
私たちは Imhotep を作り、エンジニアチームとプロダクトチームが大規模かつ主要なメトリクスに集中できるようにしました。

主要な機能

Imhotep のプラットフォームとツールは以下を可能にします。

  • 素早く、インタラクティブな、アドホック・クエリを実行し、大きなデータセットの結果を集約する。
  • 複数の時系列のデータセットからの結果を組み合わせる。
  • 独自のデータツールを構築する。
    これにより分析、モニタリング、レポート、データの自動処理を Imhotep のプラットフォームに基づき行えるようになる。

根本的に言えば、Imhotepは分散化された逆索引です。これは、複数サーバーのクラスタ間にある時系列データ上に存在しています。
私たちは、 Amazon ウェブサービス (AWS) 上に Imhotep クラスタを設定しやすいようにしました。クラスタを設定すれば、データをアップロードし、 Imhotep Query Language (IQL) を使ってそのデータをインタラクティブにクエリできます。
IQL ウェブクライアントは、自分の持つデータについてのあらゆる質問に答えを出すのを可能にします。また、重要な洞察にたどりつくために、それらの質問を素早く繰り返すことを可能にします。

例えば、「世界中の人々が、どう Indeed の検索エンジンを使用しているか?」
これに関連する次のような問いやその他様々な問いに、私たちは Imhotep を使って答えを探すのです。

  • ある日に、ある国で行われた求人情報のユニーク検索数は何件だったか?
  • ある国内での、トップ 50 のクエリは何だったのか?
    それらの各クエリでは、求職者は何回検索結果をクリックしたのか?
  • 米国内で “Architecture” というクエリで、 CTR が最も高い職種名は何か?
    CTR が最も低い職種名は?

Imhotep を始めよう

Indeed のツールを使用して AWS 上に Imhotep クラスタを設定できます。
これらの設定ツールをシステムにアップロードするのに必要な環境は以下の通りです。

  • AWS アカウント
  • S3 バケット(データ・ストレージ用) × 2
  • 時系列データ (TSV または CSV 形式)

もっと詳しく知りたい方は、是非 Imhotep documentation をご覧ください。
不明な点は、 Q&A forum for Imhotep で、ご質問いただけます。

Indeed で Imhotep をどのように分析に使用しているかを、もっと詳しく知りたい方は、 2014 年 4 月に開催されたテックトークの動画とスライド: Large-Scale Interactive Analytics with Imhotep を是非ご覧ください。


※追記 11/18/2014: Slides and video from the workshop は左記リンクよりご覧いただけます。