10

Apache Ignite のインデックス作成はどのように機能しますか? ドキュメントにこれらの技術的な詳細が見つかりませんでした。

  1. Bツリーを使用していますか?
  2. インデックスはどこに保存されますか?
  3. どのように保管されていますか?
  4. ビルドインの使用後、インデックスはどのようなパフォーマンス (Big-O 表記) を提供しますか?
  5. いつビルドするのですか?
  6. Ignite は、シリアライズ可能な任意の Java オブジェクトを格納できます。サブサブオブジェクトのフィールドにインデックスを付けたい場合、コンポジットはどのように処理されますか?
  7. Ignite Cache はキー値ストアです。異なるクラス (= オブジェクトとしての型) を値として持つことはできますか? つまり、Ignite Cache はスキーマレスですか? はいの場合、これは私の SQL クエリにどのように適合しますか?
  8. Ignite Cache はキー値ストアです。値に対して SQL クエリを実行すると、キーはどのように機能しますか? 私は何を照会していますか?
  9. キーは、シリアライズ可能な任意の Java オブジェクトにすることができます。キーまたは値のみを照会できますか?
4

1 に答える 1

5

この情報は、主に実装の詳細であり、バージョンごとに変更される可能性があるため、ドキュメントではあまりカバーされていません。詳細に興味がある場合は、すべてのソースコードが利用可能です。具体的には、リリース間近の Ignite 1.5 について話しています。

  1. 1.5 より前は、デフォルトのデータ構造は snap-tree (avl-tree のバリアント) でした。これは、1.5 で skip-list オプションも追加され、現在はそれがデフォルトになっているためです。
  2. 構成に応じて、Java ヒープ内またはオフヒープ メモリ内。
  3. 確かに:)私はこの質問を理解していません。
  4. log(N) 更新とルックアップ。
  5. インデックスは各トランザクション コミット (またはアトミック キャッシュの場合は単にキャッシュの更新) で更新され、個別のビルド フェーズはありません。各更新後、インデックスが正しい状態になることが期待できます。
  6. Ignite には 2 つのオプションがあります (1.5 以降): 個別のフィールド値を取得できるバイナリ形式でオブジェクトを格納するか、オブジェクト全体を逆シリアル化してリフレクションを使用するかのいずれかです。

楽しむ!

于 2015-11-27T15:42:43.550 に答える