Skip to content

Supported Indexing Algorithms

bonybeat edited this page Aug 17, 2014 · 5 revisions

OrientDBは4種類のインデックスをサポートしています。

インデックスタイプ 永続性 トランザクション レンジクエリー(範囲検索) 特徴
SBTree YES YES YES バランスが取れている
HashIndex not yet not yet no lookupがすごく高速でディスク上でも軽量
Lucene YES YES YES フルテキストサーチと座標検索
MVRB-Tree no YES YES バージョン1.6以降では非推奨

[translation here]

SBTreeインデックス

B-Treeインデックスをベースにしているが、インサートとレンジクエリーに対するいくつかの点で最適化しています。

ランダムI/O操作が遅くなることを避けるために、COLAツリーベースのインデックで、B-Treeベースのインデックスを置き換えるissueがあります。 https://github.com/orientechnologies/orientdb/issues/1756

Hash インデックス

Hashインデックスは一回のI/O操作でインデックスを読み込むことができます。また最大で3回のI/O操作でインデックスを書き込むができます。 Hashインデックスアルゴリズムは、Extendible Hashing に基づいています。 Hashインデックスは範囲検索をサポートしませんが、SBTreeインデックスよりも非常に高速です。

注意: LSMツリーアプローチを利用して、HashインデックスのランダムI/O操作が遅くならないようにするissueがあります。 https://github.com/orientechnologies/orientdb/issues/1757

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script> $(function() { $("*").contents().filter(function() { return this.nodeType==8 && this.nodeValue.match(/^original/); }).each(function(i, e) { var tooltips = e.nodeValue.replace(/^original *[\n\r]|[\n\r]$/g, ''); $(this).prev().attr('title', tooltips); }); }); </script>
Clone this wiki locally