B+ Tree
Erlangのデータ構造のオープンソースの既知の実装はありますか?ErlangのB +ツリーデータ構造
7
A
答えて
6
本当にB +ツリーが必要な場合は、eleveldb
アプリケーションを調べることをお勧めします。重要なのは、ディスクのオフラインでツリーの葉にデータを保存することです。これは、通常はB +ツリーがオプションであるためです。 LevelDBのErlangのバリエーションもhanoidb
と呼ばれ、Kresten Krab Thorupによって書かれた、かなりいいです。同じ使用領域。
メモリ内ストレージが必要な場合は、ETSまたはMnesia(配布用の後者)を参照する必要があります。 Erlangでは、ディスクにぶつかることがないという利点があるため、これらは最速のソリューションとなる傾向があります。 Mnesiaのトランザクションコンテキスト内で実行する必要がなく(ダーティーリードを実行する)、データの標準的なキー/値ルックアップを実行できる場合は、特に当てはまります。典型的なルックアップ速度は、5~10ナノ秒です。
2
私が知っているスタンドアロンのライブラリはありません。しかし、CouchDB source codeは非常に読みやすく、うまく実装されています。
3
ただ、代替あなたは、オープンソースのデータベースシステムに侵入しない場合:あなたは自分でそれを実装する上でいくつかの洞察を与えることができ
クリス・オカサキの純粋に機能的なデータ構造。 B +ツリー自体は、私の経験からそれほど複雑ではありません。
etsとmnesiaよりも低レベル(何らかの意味で)のメモリと両方が必要な場合は、gb_treesを使用することをお勧めします。
関連する問題
- 1. ツリーデータ構造のデータベース構造
- 2. ツリーデータ構造addnode
- 3. Rubyでのツリーデータ構造の永続化
- 4. Androidのツリーデータ構造のリストビューを作成
- 5. ツリーデータ構造の作成 - 別のアプローチ
- 6. bツリーデータ構造では、高さはいつ減少しますか?
- 7. 横断Bツリー構造アルゴリズム
- 8. 左、右、親ノードを持つツリーデータ構造についてのチュートリアル
- 9. ツリーデータ構造を解析する方法は?
- 10. 文字列名のB +ツリーの構造
- 11. unordered_mapをツリーデータ構造で効率的に実装する方法は?
- 12. 改良されたDinicのアルゴリズムのための動的ツリーデータ構造
- 13. ツリーデータ構造内の情報を見つける最速の方法。
- 14. コアデータ:1つのコアデータエントリからツリーデータ構造を設計する方法
- 15. SQL ServerのインデックスBツリーがフラットな構造かデプス構造ですか?
- 16. Squeakがスクリプト言語でない場合、ツリーデータ構造はどこですか?
- 17. Erlang構造体の名前で値を取得するには?
- 18. Erlangコンパイラ - パターンマッチングのパフォーマンスと基盤となるデータ構造
- 19. PythonでErlangのような '受信'ブロッキング構造
- 20. unknow Erlangの構文
- 21. Erlangの構文エラー
- 22. Erlang受信と適切な呼び出し構造
- 23. pe:ckEditor b:accordion/b:モーダルまたは同様の構造
- 24. 選択するツリーデータ構造の種類を決定する方法を教えてください。
- 25. C構造体内の構造体内部の構造体
- 26. 構造内のシャッフリング構造
- 27. JNA構造内の構造
- 28. 共有ツリーデータ構造のスレッド同期をどのように処理すればよいですか?
- 29. Pythonのほとんどの単純なツリーデータ構造は、両方向で簡単に移動できます。
- 30. ツリーデータ構造内のすべてのリーフノードを見つける最も効果的な方法