36

私が取り組んでいるプロジェクトでは、クライアントには古くて大規模な (テラバイト範囲) RDBMS があります。あらゆる種類のクエリは遅く、スキーマを修正/リファクタリングする時間がありません。最適化が必要な一般的なクエリのセットを特定しました。このセットは、フルテキスト クエリとメタデータ クエリの 2 つに分かれています。

私の計画は、データベースからデータを抽出し、それぞれが特定のクエリ セット用に最適化された 2 つの異なるストレージ システムに分割することです。

全文検索の場合、Solr は最も理にかなったエンジンです。シャーディングとレプリケーション機能により、問題の半分に最適です。

メタデータ クエリの場合、どのルートを使用すればよいかわかりません。現在、「権限のある」RDBMS からのデータの特定のサブセットを表す、非常に非正規化されたスキーマを持つ RDBMS を使用することを考えています。ただし、私のクライアントは、そのようなサブシステムのシャーディングとレプリケーションの欠如、およびそれらの機能を既に含んでいる Solr と比較して、そのような機能を設定することの難しさ/複雑さについて懸念しています。この場合のメタデータは、整数、日付、ブール、ビット、および文字列 (最大サイズは 10 文字) の形式を取ります。

上記のメタデータのクエリに特に役立つ可能性がある、組み込みのシャーディングとレプリケーションを備えたデータベース ストレージ システムはありますか? 優れたクエリ エンジンを提供する、SQL を使用しないソリューションがあるのではないでしょうか。

照らしてください。

追加/応答:

Solr はメタデータに使用できますが、メタデータは揮発性です。したがって、インデックスに頻繁にコミットする必要があります。これにより、検索がかなり速く低下します。

4

4 に答える 4

23

RavenDB :

短所: AGPL ライセンスです。開発/サーバー環境によっては、.NET で実行することを詐欺と見なすことができます。また、.NET 以外のプラットフォームのクライアントのステータスもわかりません。

ソランドラ

  • Solr と Cassandra を統合
  • Solr が管理する全文検索
  • Cassandra によって管理されるレプリケーションとシャーディング

短所:まだリリースされていません。

エラスティックサーチ:

ElasticSearch は RavenDB に似ていますが、RavenDB が一般的な NoSQL データベースであることを強調する全文検索を強調しているようです。

于 2011-05-13T14:05:25.803 に答える
4

メタデータ ストアにMongoDBを使用します。

ただし、欠点は、結合を実行できないことです。これを回避できるように、データの非正規化について賢く考えてください。

于 2011-05-23T18:30:35.387 に答える
2

更新が頻繁に行われるシステムでは、クエリ時間が短縮されないことを認識していると思います。RDBMS に対して自分でシャーディングを実装するには、レコードを分割して複数のデータベースに入力するためのキーを見つける必要があります。次に、それらすべてを同時にクエリして、マップ削減方式でデータを取得および処理できます。これにより、データの増加に合わせてマシンの数を増やすことができ、場合によっては操作の速度を上げることができます。簡単なグーグル検索から、MongoDBとHadoopの両方がこのマップ/リデュース機能を提供していますが、私は両方に慣れていません。

複雑で長時間実行されるレポートがオンザフライで生成されることは珍しくありません。ただし、これには通常、レポートの生成が終了したときに電子メール通知が伴います。これは、人間とやり取りするための優れたプッシュ通知形式になります。また、これらのレポートが周期的 (毎週、毎月など) に予定されている場合でも、これらのレポートの準備が整ったときに電子メール通知を使用できます。唯一の違いは、生成の開始時間が自動化されていることです。

于 2011-05-20T14:23:46.703 に答える
2

elasticsearchを使用する場合、メタデータを json ドキュメントの追加のキーとして簡単に追加できます。

{
    "message": ... your full text,
    "date": "2009-11-15T14:12:12",
    ...
}

その後、両方で同時に検索できます。そうではなく、それでも 2 システム アプローチを実行したい場合、monogoDBは自動シャーディング機能を備えたドキュメント ストアであり、かなり高度なクエリ メカニズム (フィールド、マップリデュース、高速クエリ用のインデックス) を備えています。

于 2011-05-23T16:07:16.700 に答える