問題タブ [b-tree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - B+ツリーノードのサイズ設定
私は、CouchDBに似たファイルアーキテクチャ、つまり追加専用のb+treeを使用して単純なキー/値ストアを作成することを計画しています。
私はB+ツリーで見つけることができるすべてのものとCouchDBの内部で見つけることができるすべてのものを読みましたが、ソースコードを処理する時間がありませんでした(非常に異なる言語であるため、それ自体の権利)。
だから私はB+ツリーノードのサイズについて質問があります:キーの長さが可変である場合、ノードを同じ長さ(バイト単位)に保つ方が良いですか、それとも同じ数のキーを与える方が良いですか? / child-pointersは、どれだけ大きくなっても?
従来のデータベースでは、データファイルのスペースが固定サイズのページで管理されているため、B +ツリーノードはバイト単位の固定長(たとえば8K)に保たれていることに気付きました。ただし、ドキュメントの長さを指定でき、更新されたツリーノードが後に書き込まれる追加専用ファイルスキームでは、固定サイズのノードを使用する利点はないようです。
python - zodbでオブジェクトのインデックスを作成するための優れたガイドやアドバイスはありますか?
zodbで使用する一般的なオブジェクトクラスを作成します。これらのオブジェクトは、zodbオブジェクトグラフに永続化されると、btreeインデックスに追加されます。
私はこれまで実際にこれを使ったことがありませんが、誰かがこれを行うためのリソースやアドバイスを持っていますか?
オブジェクト参照を処理するときのzodbの能力と優れたインデックス作成戦略により、両方のデータベースの世界を最大限に活用することができました。
他の考えは大歓迎です、ありがとう!
data-structures - AVLツリーとBツリー
AVLツリーはBツリーとどのように異なりますか?
binary-tree - ページングされたバイナリツリーとAVLツリーおよび/またはBツリー
ページ化されたバイナリツリーは、AVLツリーやBツリーとどのように異なりますか?
data-structures - B ツリーのセカンダリ キー
学生 ID 番号やその他の情報を含む、ソートされていない学生情報のリストを含むファイルがあるとします。
学籍番号から学生情報を取得するプログラムを作りたいです。効率的にするために、学生 ID を B ツリーに格納します。
そのため、学籍番号を入力すると、B ツリーを検索して、そこにあるかどうかを確認します。また、もう 1 つのことを行います。学生 ID 番号が見つかった場合は、その学生の情報がファイル内のどこにあるかも返します。これが二次キーです。プログラムはこの情報を使用して残りの生徒の情報を見つけ、画面に出力します。
これはできますか?これがbツリーの仕組みですか?
c++ - Btree をトラバースする方法は?
私は Btree を持っており、キーが昇順で表示されるようにそれをトラバースする方法を理解しようとしています。
私が理解できるのは、これが再帰関数で実行できるということだけです。
それを行うための擬似コードは何ですか?
traversal - Btree の優先トラバーサル
Btree の事前注文トラバーサルを行う方法を理解しようとしています。一般に、事前注文トラバーサルは次のように機能することを知っています。
各ノードには複数の値と複数の子ポインターがあるため、私が混乱しているのは、これを Btree で機能させる方法です。値を出力するとき、左側の子に降りる前にノード内のすべての値が出力されますか?
各ノードは次のようになります。
子1 値1 子2 値2 子3 値3 子4
また、インオーダー トラバーサルは昇順で値を表示するため、Btree のプリオーダー トラバーサルを実行したい人がいるでしょうか?
b-tree - Btree の宿題を手伝う
Btree の preorder トラバーサルを行う必要があり、とりわけ、各ページ (ノードと同じこと) について次の情報を出力する必要があります。
- B ツリーのページ番号
- 各 B ツリー ページ ポインターの値 (アドレス、バイト オフセット、RRN など)。
私の質問は次のとおりです。 1. バイト オフセットはどのように計算しますか? それは何からオフセットされていますか?2. RRN はページ番号と同じではありませんか?
注: Btree はバイナリ ツリーではありません。Btree は各ノードに複数のキーを持つことができ、n 個のキーを持つノードには n+1 個の子ポインターがあります。
sql - データベースとB+Treesインデックス
どのデータベースがインデックスの実装にBツリーよりもB+ツリーを使用しているかどうかに関する情報はどこにありますか?
OracleはB+Treesを使用しているようです。ドキュメントには記載されていませんが、グラフィックはB+Treeが実際に使用されていることを示しているようです。
database - Berkeley DB Java 版、Java の LGPL または BSD の代替品はありますか?
キーと値のペアで構成される巨大なデータセットを扱っています。クエリは常にキー スペース (キーは数値) に対する範囲クエリの形式であるため、永続的な B ツリーのような構造は状況を処理します。BDB-Java Edition を使用したいのですが、製品はクローズド ソースであり、私の会社は BDB-JE ライセンスを購入したくありません。GPL 以外の Java ベースのキー値ストレージ システムでの経験を共有していただけないでしょうか。
ありがとう、-A