2016-06-26 4 views
2

古いアドホックセットアップを置き換えるために多少複雑なログ処理システムを構築していますが、少しアドバイスを使うことができます。私はSQLデータベースとネットワーキングに精通していますが、この混乱を解決する鍵となるようなNoSQLストアは新しくありません。私たちには非常に良いチームがありますが、ライセンス予算は限られているので、フリー/オープンソースのオプションが大いに好まれます。 (。何かが行く場合は、サポートの利用可能性は、洋ナシの形がいいだろう、と述べた)NoSQL for full-text search

要件:

  • アーカイブ(テスト)、世界中の複数のサイトで数GB /日の範囲内で生成されたログ。
  • 各サイトのログの全文検索をデバッグのために非常に瞬時に提供します。
  • アーカイブされたデータを中央の場所に戻します(ただし、各サイトのレプリカは絶対に問題ありません)。
  • 中央の場所に戻ってそのデータの分析を提供します。

制約:

  • サイトでは、モーメント(高遅延とかなり低い帯域幅)のためにかなりがらくたインターネット接続を持っています。データの多くは昼間に生成され、同期の良い部分は遅れて毎日終わらなければなりません。
  • WANが完全にオフラインになった場合、サイトは機能できなければなりません。

補足

  • ログデータは、(通常通り)高度に圧縮可能です。 WANを介してノード間でデータを圧縮するソリューションが望ましい。
  • 多くのログファイルは、複数レベルの階層で相互に関連しており、その関係は非常に重要であり、維持する必要があります。
  • サイトは、通常、同じデータを変更したり、保存した後に再度変更したりすることはありません。これは大部分のアーカイブです。
  • ログが生成されるとき、またはログのブロックをプッシュするときにストリームすることができます。ストリーミングは、物事をかなり簡素化するので好ましい。私の知る

オプション:

  • ロギングとローカル構成管理のためのローカルのMySQLとフォルダ構造。
    • これは私たちが現在行っているもので、実行中ですが、長期的な解決策ではありません。
  • Elasticsearch
  • カサンドラ
    • これが内蔵されているために、マルチサイトサポートようだが、私は、データ・モデルと全く慣れていませんよ。このようなものにはこれは良い選択ですか、それを試しても自分が嫌いですか?
  • は、CouchDBの
    • これは、ログデータのために良い試合のように思えるドキュメントストア(?)ですが、再びマルチサイトサポートを持っているように見えていません。
  • Apacheのカフカ

質問私はこれをよく読んで、私はかなりそれのまわりで私の頭をラップしていない、まだ...:

  • これらのいずれかは、実際にログをストリームに追加できるか、または完全なファイルをダンプするのに最適ですか?
  • 解決方法はありますか?
  • 複数サイトの推奨事項の中には、マルチサイトを単独でサポートしていないオプションがありますか?

興味深いリンク:

+0

なぜ私はマルチサイトelasticsearchが必要なのですか?大量の分析と処理が可能なデータがある弾性検索クラスタで、任意のサイトから単一の場所にログを収集し、それらのインデックスを作成することができる、優れた、準備が整った、よくテストされたソリューションes/logstash/kibana(いわゆるELKスタック)があります – xeye

+0

これは面白い方法のようですが、私はWANリンクの信頼性が低いため、依然として検索するローカルの能力が必要です。私はこれをもっと深く見ていきます!ありがとう! – ZetaSyanthis

答えて

1

私はCouchbaseが私の雇用主だから少し偏っているかもしれませんが、これは解決するためにXDCR (Cross Datacenter Replication)が作られた問題のように聞こえます。

複数の地理的サイト(Couchbaseはこれらの「データセンター」と呼ばれます)にクラスタを立てて、XDCRは自動的にサイト間でデータを(双方向に)複製します。私があなたの要求を正しく理解すれば、これはあなたが必要とするもののように聞こえるでしょう。

+1

ああ!私はドキュメントでそれを逃した!また、単方向レプリケーションもサポートされているようですが、これはさらに優れています。 (データセンターの大半は、比較的小さなデータプールを持つことができます)。 – ZetaSyanthis