HugeGraph圖數據庫各類索引功能對比

HugeGraph Database Index

HugeGraph圖數據庫的索引支持比較全面,圖數據庫的索引一般包括幾方面:

  • 圖索引/邊索引(graph-index):主要用於加速獲取頂點的關聯邊,一般使用鄰接表或十字鏈表等方式,也可以使用hash索引。hugegraph使用的是鄰接表。

  • 超級點索引(vertex-centric-index):主要用於加速獲取超級頂點的部分關聯邊,比如查詢12315號碼這個點最近一週的通話邊。hugegraph通過sortkey實現的,相當於增強版鄰接表。

  • 普通屬性索引(secondary-index):主要用於加速根據屬性來檢索頂點、或根據屬性來檢索邊,數據庫一般使用btree或hash實現。

  • 可通過比較大小來檢索的屬性索引(range-index):主要用於加速根據屬性範圍來檢索頂點或邊,比如age>18的人,數據庫一般使用btree實現。

  • 可根據前綴+比較大小來檢索的屬性索引(shard-index):主要用於加速根據屬性範圍來檢索頂點或邊,比如city=Beijing && age>18的人。

  • 可全文檢索的屬性索引(search-index):主要用於加速根據屬性值中的任意文本段或詞語來檢索頂點或邊,比如city contains Bay的人。

以上索引在HugeGraph圖數據庫中均支持,屬性索引在HugeGraph實現根據存儲而定,主要還是依賴lsm-tree;全文索引的實現原理是對屬性文本分詞後進行存儲索引。

參考文檔:2.5 IndexLabel

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章