Prioritizing Attention in Fast Data: Principles and Promise

Taro L. Saito
Database Journal Club
4 min readJan 22, 2018

Prioritizing Attention in Fast Data: Principles and Promise. Peter Bailis, Edward Gan, Kexin Rong, Sahaana Suri. CIDR2017

http://www.bailis.org/papers/fastdata-cidr2017.pdf

データベース研究のライジングスターPeter Bailisのグループの論文。MacroBaseのテーマを2016年に立ち上げたのち、その研究ゴールを「人間の目で追いきれないペースでやってくるファストデータ(fast data)に対して、どのように優先付けして処理するか(prioritizing attention)」という点に集中してきた印象。CIDRはデータベース研究のポジションペーパー的な位置づけであり、詳細については今後同じグループから出てくる研究を追っていく必要がある(通常、CIDRに内容が出た時点で既に研究のプロトタイプはほぼできていることが多い。実際 SIGMOD2017にMacroBaseのpaperがでている)

大量のデータを全て実直に処理するのでは、いくら計算リソースが合っても足りないし、膨大な結果を出したとしても、それを人間が全て解釈するのは難しい。そこで、解析結果の出力(Output)、機械学習などでのモデル選択、チューニングの繰り返し(Iteration)、結果に最も寄与する入力データを選んで計算する(Computation)の3ステップにおいて優先付け(prioritization)が必要であると主張している。

これを実証するプロトタイプであるMacroBaseでは、合成可能(composable)な、ストリームデータフロー演算子(streaming dataflow operator)を基本とし、これに機械学習タスクを乗せて拡張していくデザイン。このあたりはApache Sparkなど既存の技術と同じ方針で、計算の記述とその実行を分離した設計。実行方式はcontinuous processingかbatchの2種類。

Outputの優先付けでは、例えば、システムの異常値に関連しそうな(correlationのある)データを優先的に表示し、全てのエラーメッセージを追わなくても良い様にするなどのアイデア。Iterationでは、機械学習の専門知識は持っているが、プログラミングの経験が乏しい、ある程度できる、自分で実装できるなど様々な層があり、レベル別のインターフェースが必要であるなどの知見。Computationの優先付けでは、既存のデータベース技術であるcardinality estimationを使ってoutlierを見つけて探索範囲を絞ってから、それと関連するデータのcorrelationを見つけたり、top-K検索のためのheavy-hitters sketchを利用するなど。

プロトタイプで得られた知見としては、UIがあることでユーザー層が広がりGitHub経由でフィードバックが得られる、また、領域(domain)の専門家と、機械学習のスキルとをマッチさせることが課題でそのために、attribute correlationなど機械学習の道具を提供したことで、領域の専門家のニーズに答えることができて、今後も拡張したいなど。

既存の分散システムのフレームワークはあるもの、その上にさらにfastdataのprioritization analysisに特化したoperatorを定義しておりそこが重要とのこと。詳細は次の論文に(こちらは知識がないと読むのがやや難しい)。時間をみつけてまた紹介できれば。

Bailis, P. et al. 2017. MacroBase — Prioritizing Attention in Fast Data. SIGMOD Conference. (2017), 541–556.

論文の書き方としては、研究テーマを開拓していくために、理論、実践への興味が混じったオーディエンスがいるCIDRと、専門家が読むSIGMODとで文章を上手く使い分けている。

--

--

Taro L. Saito
Database Journal Club

Ph.D., researcher and software engineer, pursuing database technologies for everyone http://xerial.org/leo