2011-02-24 3 views
1

私たちは、数千のSyslogメッセージをインデックス化して保存するシステムを特定しています。これらはテキストメッセージで、システム名、日付/時刻、メッセージタイプ、メッセージ本文などの属性があり、通常はそれぞれ100〜1500バイトです。多数の小さな文書を全文検索するベストデータストア? (Splunkのようなシステムのような)

これらのメッセージは1日に2〜10ギガバイト生成され、少なくとも30日間は保持する必要があります。

splunkシステムには、すばらしいインデックス作成と文書圧縮システムがあります。

使用するには?

私はモンゴブを考えましたが、この小さなサイズの書類には不適切と思われます。

SQL Serverは可能性がありますが、この目的では非常に効率的ではないようです。

luceneのテキストファイルですか? - Windowsファイルシステムは、常にファイル数が多いdirを好きではありません。

提案ですか?

ありがとうございます!

+0

""私はモンゴブのことを考えましたが、この小さなサイズの書類には不適切です。 " –

+0

良い質問です。ここの開発者の一人はmongodbプロジェクトを行っています。彼は、mongodbが全文検索でそれぞれ100〜1500バイトの3億件の文書にぴったり合っていると思っていたと言いました。おそらく、彼は間違っていますか? – Jonesome

答えて

2

私はMongoDBのと思ったが、実際にMongoDBを使用してserver monitoring systemを構築Boxed Iceという会社があります。この小さなサイズ

の文書について不適切と思われます。私はそれが間違いなく適切であると主張するだろう。

これらは通常、それぞれ100〜1500バイトの属性(システム名、日付/時刻、メッセージタイプ、メッセージ本文)を含むテキストメッセージです。

MongoDBの観点からは、いくつかの属性を持つ小さな文書をたくさん格納していると言えます。このような場合、MongoDBにはいくつかの利点があります。

  1. 属性の変更をシームレスに処理できます。
  2. さまざまなタイプに柔軟に対応します。

私たちは、一日あたりのこれらのメッセージの2〜10ギガバイトを生成し、そのうちの少なくとも30日を保持する必要があります。

これは、MongoDBが処理できるデータ型の範囲内にあります。 30日間の保存期間を処理するには、いくつかの異なる方法があります。これらはレポート作成のニーズによって異なります。私はthe groupsについてここでアイデアを突きつけます。

私が扱ってきた人々に基づいて、このタイプのインサート重い伐採は、モンゴが非常に良い傾向にある場所の1つです。

+0

うわー、サーバーの密度は本当に素晴らしいです!ホストされているため、このシステムを使用することはできません(このシステムは大量のデータを処理しており、ラックに入れる必要があります。これはmongodb上にあることを見てうれしい... mongodbは良くなってきています! – Jonesome

+0

私たちはmongodbと一緒に行きます。これは明らかにこの目的に適しています。 – Jonesome

+0

MongoDBはフルテキスト検索を提供していないため、Solr、ElasticSearch、Sphinxのような外部のものが必要です。 – Matt

0

LuceneまたはSolrを使用することを強く検討します。

Luceneは、フルテキスト検索用に特別に作成されており、アプリケーションに役立つ便利な機能が追加されています。ボーナスとして、Solrは設定と構成が簡単ではありません。 (検索のための超高速)

エントリごとにファイルを保存しないので、ファイルの数が気になる必要はありません。

無料のデータベースオプションは全文検索に特化していません。あなたが望むことをするように強制しないでください。

1

Graylog2はMongoDBの上に構築されたオープンソースのログ管理ツールです。私はLog-as-a-serviceプロバイダーであるLoggyもMongoDBをバックエンドストアとして使用していると思います。したがって、MongoDBを使用してログを出力する製品は静かです。

より良いテキスト検索のためにLuceneアナライザから返されたnグラムを保存することは可能です。大量の文書があるにもかかわらず実現可能性についてはわからない。プライマリレポートのユースケースとは何ですか?

0

私はあなたがflexibelスキーマ、保持およびGrafanaを使用して、データのための素晴らしいUIを持って、セットアップ後にするときは、Grafanaの独自の(イントラネット全体)スタック、Logstash + ElasticSearch

を展開すべきだと思います。

関連する問題