开发者社区 > 数据库 > 正文

HNSW索引设计的原理是什么样的?

HNSW索引设计的原理是什么样的?

展开
收起
vncamyi27xznk 2021-12-23 09:27:18 580 0
1 条回答
写回答
取消 提交回答
  • image.png HNSW图算法索引设计存储,如图所示,首先简化成4个点,每个点都有它的临界点,需要存储连接关系和原始的数据两种数据,如图,V1对应的临界点是 V2、V3、V4这三个点, 用N来表示边关系, N1就表示V1到V2的边,通过N1来指向V2,链接起来。V1又指向了它的对应的数据的地址,通过这种方式来来进行图的连接关系和原始数据的存储。 这种存储也有一些可以优化的点。例如为了减少跳转,直接将存储D的指针存在N中,就不需要经过一次跳转,定位到它的向量数据,通过这种方式来加速 它的过程,同时去掉V的存储,因为N直接可以存储连接关系了,不需要一个V存储点本身了,因此我们得到图中下侧数据图,这个是页面和页面关系的配置关系的存储关系的一张图,分为三种。 第一Meta page存储源数据,包括一些配置的入口点以及初始化的配置。 第二Data page和IVFFlat的 Data page类似,存储原始的数据。 第三Neighbor page是用来存储邻接关系。

    答复内容摘自《PostgreSQL实战教程》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1168

    2021-12-23 10:51:46
    赞同 展开评论 打赏
问答分类:
问答地址:

数据库领域前沿技术分享与交流

相关电子书

更多
Phoenix 全局索引原理与实践 立即下载
RowKey与索引设计:技巧与案例分析 立即下载
事务、全局索引、透明分布式 立即下载