2009-02-21 Sat
「未踏」の2008年度上期 田中・石川PM 合同成果報告会にLuxの発表を聞きにいった
未踏の合同成果報告会でした。最後の報告会っすね。
僕はLuxの発表を聞くためだけに来ました。
背景 探す、という行為の効率向上が課題 情報多いし オープンソースの重要性 - - - Lux 2008年3月から開発、5月に公開、7月から未踏に専念 未踏では高速化、データベース、分散インデックスの開発 - - - 特徴 使いやすさ、機能は、他の全文検索エンジンに劣る部分もある 性能、分散・スケールアウト性、拡張性は、他の検索エンジンより有利と評価。 - - - 1、高速化 高速なデータベース Lux IO 圧縮された転置インデックス 検索速度を重視した圧縮 - - - 2、拡張性 抽象化 各層での変更が、多層に影響を及ぼさない構造 再利用性 共通部分をフレームワーク サーバーデーモンの共通部分(pthreadのサーバ部分、 クライアントも同じ。 外部ライブラリの利用 STL libevent Google Protocol Buffer - - - Strage Interface Strage Structure Interface Strage Structure (論理構造:転置index、ハッシュとか) Strage Engine Interface Strage Engine (Lux IOとか、QDBMとか) - - - 3、スケーラビリティ 分散インデックス スケールアウトのため ドキュメントベースで分散 全ホストへの問い合せ マシンの追加で扱える文書数が、ほぼ線形になるように - - - Indexer Engine -> Strage Searcher 分散indexのサーチは、dispatcher daemonが全部のindexを見る。 - - - 評価 HEとLuceneはindexにかかる時間、だいぶかかる SennaとLuxは500万件(6.5G)くらいの文書を追加するときに線形に時間増加 Luxのindexは9Gくらいになった - - - 単体構成の検索 PageCache無しの場合、 Luxと同じく、線形に劣化するSennaよりだいぶ早い。 PageCacheを使った場合には Sennaよりも、ちょいと早い。 Luxのindexとsearchが文書数の増加に対して線形に劣化することが分かった。 - - - 複数構成でも、 レスポンスタイムは線形に増加するし、 スループットにも通信時間やIOのオーバーヘッドの悪影響はなかった。 - - - 現状 Lux Sourceforgeに。 フォーラムもある。 Lux IO これもSourceforge 各種言語のバインディングを作ってくれている - - - 今後の課題 使ってもらう事が重要。導入先探し。 開発者を募集している。 - - - 今後 ツールの充実 使いやすさ向上 機能やハードウェアを時代に合わせて変化 SSDが流行って来てるしー、とか - - - 質問 Q、分散機能を使うのは簡単? A、Serverのconfigを、各サーバに配布して起動すれば、 各サーバは担当機能を立ち上げる。 --- Q、以前作っていた検索エンジンとの差は? A、以前開発に携わっていたのは、 オンメモリにindexを乗せる検索エンジン。 100台くらいマシンがないと無理。 そこでディスクベースにした。 100台くらい無くても1億件の文書を扱える。
山田さん、とりぜあえず、お疲れさまです!!(まだ期間はあるけど。。)




















