Lucene/Solr Revolution 2013


前回(Lucene Revolution 2012)に引き続きLucene/Solr Revolutionに遊びいってきたのでメモ
今年はSan Diego

  • Day 1 : Training (Using Solr with Big Data)
  • Day 2 : Training (Using Solr with Big Data), Welcome reception
  • Day 3 : Conference, Conference party
  • Day 4 : Conference, My talk

 

Day 1 : Training (Using Solr with Big Data)

今回のトレーナーはKen KruglerというTikaのcommitterやってる人
昔日本に住んでたことがあるそうで、ちょいちょい日本語で話しかけてくれました。
初日の内容はこんなカンジ

  • Hadoop & Hadoop Eco-system Overview
  • Map & Reduce hands-on
  • Cascading & Workflows

いろんなとこからログ集めてきて、イケてるUIでReporting確認するって場合に、
全部Hadoopでやろうとすると、いちいちMap&Reduce書かなきゃいけないんで、切り口が限定されちゃう。
Hiveで柔軟にやるにしても、結果でるまでに数十秒かかるからユーザーとしては待ってらんないと
なんで、想定できるものはあらかじめHadoopで片付けといて、Reportingのとこは
SolrをNoSQL的にかましておけば、いろんなバリエーションの分析をinteractiveに提供できんじゃないかと。

で、TraineeのHadoop習熟度がバラバラなんで、説明とhands-onを通して前提知識そろえましょうと
その他の登場人物: Pig, Hive, Storm


 

Day 2 : Training (Using Solr with Big Data)

2日目の内容はこんなカンジ

  • Workflow Design
  • Solr Indexing hands-on

よくある話だけども、Workflow Designのときは、いきなり特異なflowを作るんじゃなくて、以下のように手順ふみましょーねと
Specifying Output -> Understanding Input -> Designing Workflow -> Writing Code
まぁSchema Designのときも一緒だね。で、
Map: Converting data, Filtering, Calculating values, Distributed tasks
Reduce: Sorting records by field values, Operations on group, Combining data sets
↑これらを組み合わせてデータ処理してきますょ
軽視されがちだけど、意外とメンドイのがHDFSと他のソース間のデータ移動

  • hadoop fs command: いっちゃん簡単だけど、まぁねぇ
  • From DB via JDBC, Sqoop: DB側(非分散)気をつけないとDBAに怒られるょ
  • From NoSQL via TCP/IP, HTTP: Traffic気をつけないとSYSに怒られるょ
  • from remote: Scribe, Flume, Kafka: 本番環境ではcoolだけど、setupメンドイ

本コースメイン、HDFSからのSolrIndexing

  • Import Text Files: make CSV -> move CSV to Solr server -> CSVRequestHandler
    HDFSからSolrへコピー。。。Solr Masterがボトルネックで、unscalable
  • HTTP to Solr server: HTTP requests via SolrJ to Solr server in Map or Reduce function
    やっぱSolr Masterがボトルネック。sharding使えるけども、partitioningをconsistentに保つのは。。。
    SolrJのfield定義とSolrのschemaを常にそろえておく必要がある。
  • EmbeddedSolr: use EmbeddedSolr to write index locally
    HadoopのnumReducersとSolrのshard数をそろえてあげて、各reducerごとにindex作成、古いindex置き換え
    index再生成するには最速の方法
  • HTTP to SolrCloud: multi-threaded HTTP requests via SolrJ to SolrCloud
    shard managementだのconsistent partitioningだの、メンドイことはSolrCloudにおまかせしたうえで、NRT searchが実現できちゃう
    Schema migrationとか、Cluster re-sizingとかはダルい(このindexingとゆ~より、SolrCloud自身の課題)

あとはひたすらMap&Reduce、SolrIndexingのhands-on、各DB、Softwareの得意領域説明
他の登場人物: Mahout, Avro, ElasticSearch, Hive, Drill, Impala, Druid, RedShift, Stinger

 

Welcome reception

I Had a great reception party on the roof terrace at the Westin hotel, met

  • Yonik Seeley: Father of Solr
  • Paul Doscher: CEO of LucidWorks
  • Heather Phipps: The most beautiful girl in the conf Software Engineer of Basis Technology
  • and so many


 

Day 3 : Conference, Conference party

前回はSolr4ってどうなるの?ってのがあったけど、今回はコレといった目玉はなし。
ただ、参加人数は過去最高、Solrの使用経験が0~3年以内の人が半数を超えてて、裾野はどんどんひろがってる印象
日本からは13人と、USAの324人に次ぐ参加者の多さ
キーワードはSolr4, SolrCloud, NRT, Bigdataってカンジで前回と大差ないけど、
今回は本番環境での実用例がわんさかあって、具体的な関連ツールとかKPIまで踏み込んだ話が多かった
また、NRTに関してはSolr4のIndexing部分だけでなく、log collector & processorまで含んだ事例がいくつか
(Kafkaが流行のようで、コレ系の発表では必ず登場してた: Apache Kafka

 

Language support and linguistics in Lucene/Solr and its eco-system

Christian Moen: Founder, CEO, Software Engineer of Atilika
Gaute Lambertsen: Partner Software Engineer at Atilika

Christianは前回BostonでJapanese linguistics (pdf)について発表してたけど、
今回は日本語に限らず、多くの非英語をどうやってLucene/Solrで扱うかってところ
時間が長くとられてて、Demoもがっつり: Lucene Revolution 2013 – linguistics-demo
(language detectについては、TikaのよりJapanese versionの方が出来がいいそうな)

 

Batch Indexing and Near Real Time, keeping things fast

Marc Sturlese: Architect, Backend engineer of Trovit

バッチ集計とNRTの両方を実現するmixed architectureについて
Batch: Hadoop job & Hive
NRT: Kafka, Zookeeper, HBase, Storm
イケてるなぁ。。。

 

How to make a simple cheap high-availability self-healing Solr cluster

Stephane Gamard: CTO of Searchbox

題名の通りだけども、↓を適切にsizingしつつ、どうやってHAなSolr Clusterを運用するかというお話

  • collection: interaction & config
  • shard: scaling factor for collection size (numshards)
  • core: scaling factor for QPS (repllication factor)
  • node: scaling factor for cluster

SolrCloudをDesignするにあたってKey metricsはこんなところかなと

  • Collection size & complexity
  • JVM requirement
  • Node requirement

一つ一つのトピックはどうってことないかもだけど、こうもうまくまとまってると圧巻
自分が一番求めてるような内容だったので、発表がupされ次第要チェック

 

Building a Near Real-time Search Engine and Analytics for logs using Solr

Rahul Jain: System Analyst (Software Engineer) of IVY Comptech Pvt Ltd

NRTログ集計と検索について、architectureだけでなく随所にサイズや時間等の具体的な数値がちりばめられてて、
かなり参考になる話だったと思うのだけれども、いかんせんマシンガントーク(インドの方?)についていけず。。。orz
(XMLをMarshalling & Unmarshallingして経由させてんのなんで?とか。。。)
これまた後で要チェック

 

Stump The Chump

Chris Hostetter: Lucene/Solr Committer, Solr developer of LucidWorks

恒例企画、来場者orメールからの質問にコミッター達が答えてくれる。いい質問には関連書籍プレゼント
前回同様Chris Hostetterが仕切ってて、会場は爆笑の渦にw
Yonikも回答者の一人だったけど、酒飲んでふざけてるだけだったような。。。

 

Conference Party @ The Tipsy Crow

The Tipsy Crowを貸しきってパ~チ~

 

Pep rally @ Hooters

池さんに景気づけしてもらいましたとさ

 

Day 4 : Conference, My talk

最終日。ドキドキ。。。

 

Solr Powered Libraries: A survey of the world’s knowledge bases

Erik Hatcher: Lucene/Solr Committer, Co-founder of LucidWorks

Erik Hatcherによる、図書館をはじめとするpublicなとこのSolr適用事例紹介
ちなみにEricは前回のトレーニング講師の一人
UIの組み方まで出てきてそれなりに面白かったけど、イマイチ全体で何?だったたのかわからず。。。

 

Using Solr/Lucene to Build Advertising Systems

Hideharu Hatayama: Application Engineer of Rakuten, Inc.


ゲロゲロ。。。
Heather kindly came to hear my talk. Thank you very much.

 

Living with Garbage

Gregg Donovan: Senior Software Engineer of Etsy.com, Inc.

Garbageだとかメモリだとかの話。Etsyは去年も別の人が発表してたなぁ
GCの種類とか何ちゃら世代とか頭に入ってなく聞いたもんだから途中から。。。
ハイ、後で復習しましょう。
メモ①: GCに??秒かかるとして。request投げる側にtimeoutを設定しといて、もし超えたら、他のノードにリトライ
メモ②: Achieving Rapid Response Times in Large Online Services

Leave a comment

Your email address will not be published. Required fields are marked *