2011-01-25 14 views
2

私はCSV形式のファイルで1ペタバイトのデータを検索する必要があります。 LUCENEを使用した索引作成後、索引ファイルのサイズは元のファイルよりも倍増します。インデックス付きファイルのサイズを減らすことは可能ですか? HADOOPでのLUCENEインデックスファイルの配布方法と検索環境での使用方法それが必要なのですか?私はsolrを使ってLUCENEインデックスを配布すべきですか?私の要件は、ファイルのペタバイト以上のインスタント検索を行っています....データのペタバイト単位でインスタント検索

+0

「インスタント」とはどういう意味ですか? google/yahoo /任意の検索エンジンスタイルで何かしたいのであれば、解体前にアーキテクチャを研究することをお勧めします。 – Riduidel

+0

うん、類似Googleのインスタント検索。しかし、ここでの要件は、クエリーを変更するとすぐに、クエリーに基づいてcsvファイルを検索してグラフを描くことです。グラフも変更する必要があります。 – Nageswaran

答えて

1

あなたが持っているデータのサイズ以上の検索機能を提供することができる必要があります棚の検索エンジン(Luceneのような)インデックスを設計して検索の仕組みを設定するには、ちょっとした作業が必要になるかもしれませんが、これは単なる設定です。

あなたはすぐに結果を得ることはできませんが、をすばやく得ることができるかもしれません。結果速度はおそらく設定方法や実行するハードウェアの種類によって決まります。

インデックスは元のデータよりも大きいと言います。これは予期されることです。索引付けには、通常、ある形式の非正規化が含まれます。索引のサイズは、しばしば速度とのトレードオフです。事前にデータをスライスしてダイスする方法が増えるほど、参照を見つけるのが早くなります。

最後に、インデックスの配布について言及していますが、これはほぼ確実にではありません。何かしたいことです。多くのペタバイトのデータを配布することの実用性はかなり難しいです。おそらく、大規模な太いコンピュータにどこかにインデックスを置いて、データに検索サービスを提供する(クエリにデータを持ち込む、データをクエリに渡さない)ことが、おそらく必要です。

+0

Qwerkyありがとうございます。もう一つの疑問、luceneとhadoopを統合する方法は? LuceneでHadoopをどの部分で使うことができるのですか?データのペタバイトがHadoopファイルシステムだけで配布されているので.... – Nageswaran

+0

ハープと統合してLuceneでMap/Reduceを使用することはできますか? – Nageswaran

4

HadoopとMap Reduceは、バッチ処理モデルに基づいています。あなたはすぐに応答スピードを出すつもりはありません。それは単にツールが設計したものではありません。 Hadoopでインデックス作成のスピードを上げることは可能かもしれませんが、クエリに必要なことはしません。

LuceneのカサンドラベースのバックエンドであるLucandraをご覧ください。 CassandraはFacebookで開発された別の分散データストアで、hadoopよりも多くのクエリ指向のアクセスモデルでより高速なアクセス時間を実現するように設計されています。

0

実装を変更しないようにするには、luceneインデックスを10個、20個またはそれ以上のインデックスに分解し、それらを並行してクエリする必要があります。私の場合(私は8つのインデックスを作成しました)、80GBのデータがあり、デベロッパーマシン(Intel Duo Core、3GB RAM)で動作する検索を実装する必要がありました。

関連する問題