今回は、 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 は左記リンクよりご覧いただけます。