分布式数据库从入门到实战
彭旭
惟客数据总架构师
1352 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 23 讲/共 28 讲
分布式数据库从入门到实战
15
15
1.0x
00:00/00:00
登录|注册

22|Faiss是一个向量数据库吗?

你好,我是彭旭。
在上一讲中,我们探讨了人工智能领域对于数据的向量化表达以及相应的存储和检索需求,这极大地促进了向量数据库技术的发展。
自从 2017 年 FaceBook 开源了 Faiss 后,从 2019 年到 2020 年,市场上诞生了许多优秀的向量数据库,据 DBRanking 对向量数据库的排名所示,最新流行的纯向量数据库排名靠前的包括如 Pingcone、Chroma、Weaviate、Milvus 等。
让人奇怪的是,这个榜单竟然没有把 Faiss 包含在内。在我看来,这是因为 Faiss 其实不能算是一个完整的数据库。
为什么呢?
我们先来看一下 Faiss 提供了什么能力。

Faiss 是什么?

官方对 Faiss 的介绍是“Faiss 是一个用于高效相似性搜索和密集向量聚类的库”。注意,这里说 Faiss 是一个库,而没有说是一个数据库。
事实上,Faiss 是用 C++ 编写的,并提供了一个 Python 的封装,而 Faiss 对外提供的服务就是一个 Python 的依赖库,所以它并不具备一个完整的数据库的功能,甚至不具备数据的持久化能力、数据的管理能力。
比如说 Faiss 每次在程序中访问之前,都需要重新加载数据,然后基于这些数据在内存中构建索引。但是程序一旦结束,这些数据就在内存中消亡了,并不会被持久化存储。除非手动调用 Faiss 的 API 将构建好的索引数据,以文件的形式存储到磁盘。但是,就算存储下来,也没有一个管理工具可以查看这些数据,只能在 Faiss 重新启动后,再去加载这个文件。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Faiss是一个用于高效相似性搜索和密集向量聚类的库,需要足够大的内存支持大规模数据。 2. Faiss提供了丰富的索引和相似度度量方法,可以根据业务需求选择合适的索引。 3. Faiss的性能在小数据集场景下表现良好,但随着数据量增加,FLAT索引的响应时间会线性增长。 4. Faiss提供了性能高的索引方式,如HNSW方式,可以根据M参数的调整来平衡索引构建时间、检索时间和结果精确度。 5. Faiss支持的各种索引方式可以根据业务的准确度要求、性能要求、资源占用情况来选择合适的索引。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式数据库从入门到实战》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)