2

私は NoSQL システムの研究に多くの時間を費やし、非常に一般的であるように思われることを実行してきました。JSON データ (または私が推測する構造化ドキュメント) を保存してから、任意のタグと値のペアを検索したいと考えています。

課題は、データに含まれる最上位の属性が事前にわからないことです。そのため、考えられるすべてのインデックスを事前に定義する必要はありません。

たとえば、次のような連絡先がたくさんある場合があります。

名: ボブ 姓: スミス 住所: ... 都市: クインシー

一部のデータ セットには、次のような追加のソリューション固有の属性があります。

twitter: @blah 性別: 男性

他の人が持っているかもしれませんが:

companyname: 働くのに最適な場所 companycity: ボストン yearemployed: 7

companycity = Boston AND city = Quincy の 1 つのデータ セットと、city = Boston AND 性別 = male を、最初にこれらのインデックスを定義することなく検索できるようにしたいと考えています。

かなり不自然な例ですが、このタイプの任意の検索に最適な nosql システムは何ですか? 現在私が知っているのは、Lucene などの全文索引作成ソリューションを使用していることだけです。何か見落としがない限り、Cassandra、MongoDB、CouchDB はすべて、実際のパフォーマンスを得るために事前にインデックスを作成する必要があります。

少し追加情報:

各データセットは 100000 レコードになる場合があります。検索はインタラクティブです。

ヘルプとリンクを歓迎します。これを行う実際のソリューションの経験がある場合は、素晴らしいでしょう。

4

1 に答える 1

1

ElasticSearchは、私の質問の主要な要件を提供します (ヒントについては @ryan1234 に感謝します)。シンプルな HTTP API を使用して、データの迅速なインデックス作成とクエリをサポートします。

  • 自動的に索引付けされた JSON ドキュメント
  • 任意の構造化文書スキーマ
  • 実行時に定義された検索
  • 事前にインデックスまたはクエリの定義を生成する必要はありません
  • スケーラビリティ (現在、2 GB のメモリ インスタンスに約 1,000 万のドキュメントがあります)

いくつかのプロジェクトで ElasticSearch を使用した数か月の経験に基づいて、私は間違いなく支持者です。

于 2014-01-21T17:35:25.177 に答える