
-
优点:作为使用广泛的全文搜索数据库,学习上手的难度不大,如果技术团队已经使用了Elasticsearch,则不需要再引入新的技术,就可以满足向量搜索的业务需求。Elasticsearch可以同时满足全文搜索和向量搜索,灵活性比较高。横向扩展的能力比较出色,集群技术成熟。 -
缺点:Elasticsearch是为全文搜索目的而设计的,虽然支持向量搜索,但对于涉及百万级向量搜索及以上的数据,性能会受到影响。Elasticsearch为满足海量数据的检索速度和可靠性,数据存储设计副本等技术,占用空间大。而且内核使用Java开发,运行内存要求非常高。

-
优点:很多应用都使用Redis作为缓存中间件的数据库,这也就意味着使用Redis作为向量数据库,不需要额外的技术架构调整。Redis一直以高性能、高稳定性、轻量化著称。 -
缺点:由于Redis是基于内存运行的,因此单台机器能够承载的数据量受到物理内存大小的限制,不适合用于处理海量数据。向量搜索功能推出的时间不长,没有经过足够时间的验证。

-
优点:完全云原生,全托管模式,不需要用户了解任何有关向量化或向量索引的知识,前期导入的时候是非常方便快捷的。 -
缺点:从开发人员的角度来看,依赖外部的第三方托管服务的危险,无法完全控制数据库的设置和运行方式。考虑到目前有大量的开源、自托管替代方案,从长远来看,依赖完全托管的闭源解决方案的影响可能是巨大的。而且成本也比较高。

-
优点:由于在向量数据库生态系统中存在已久,因此数据库非常成熟,拥有大量算法。提供了很多向量索引选项,并且从头开始用 Golang 构建,具有极高的可扩展性。截至 2023 年,它是唯一一家提供可行 DiskANN 实现的主流供应商,据说这是最高效的磁盘向量索引。 -
缺点:Milvus 似乎是一个在可扩展性问题上拼尽全力的解决方案——它通过代理、负载均衡器、消息代理、Kafka 和 Kubernetes 7 的组合实现了高度的可扩展性,这使得整个系统非常复杂且资源密集。客户端 API(例如 Python)也不像 Weaviate 和 Qdrant 等较新的数据库那样可读或直观,后者往往更注重开发人员的体验。Milvus 的构建理念是将数据流式传输到向量索引,以实现大规模可扩展性,在许多情况下,当数据量不是太大时,Milvus 似乎有些过犹不及。对于更静态和不频繁的大规模情况,Qdrant 或 Weaviate 等替代方案可能更便宜,并且可以在生产中更快地启动和运行。

-
优点:出色的文档,活跃的社区。Weaviate 专注于打造最佳的开发者体验,并且通过 Docker 启动和运行非常容易。在查询方面,它可以快速生成亚毫秒级的搜索结果,同时提供关键字和向量搜索功能。提供多种方案的云托管服务,当然价格不算优点。 -
缺点:由于 Weaviate 是使用 Golang 构建的,因此可扩展性是通过 Kubernetes 实现的,并且这种方法(与 Milvus 类似)在数据变得非常大时需要大量基础设施资源。

-
优点:出色的文档,可以帮助开发人员轻松通过 Docker 启动和运行。它完全用 Rust 构建,提供开发人员可以通过其 Rust、Python 和 Golang 客户端使用的 API,这些是当今后端开发人员最流行的语言。Qdrant支持多种优化策略,如索引优化、查询优化等。同时还支持分布式部署和水平扩展,以满足大规模数据处理的需求。 -
缺点:项目相对较新,没有足够的时间验证。应对业务量增长时,只能在服务级别上的横向扩展。只支持静态分片。根据Zilliz的报告来看,随着向量数据库中非结构化数据元素数量的增长,数据存储量大,查询效率可能会受到影响。

在原型设计和生产环境方面表现出色。由于其数据存储的短暂性,Chroma非常适合用于快速构建原型脚本。通过简单的设置,用户可以轻松地创建集合并重复使用它们,为后续的数据添加提供便利。此外,Chroma还具有自动加载和保存数据的功能。在启动客户端时,它会自动加载用户的数据;在关闭时,则会自动保存数据,大大简化了数据管理的过程。这种特性使得Chroma在原型设计和开发阶段非常受欢迎。
Chroma在2022年5月获得种子轮融资,并在次轮获得1800美元融资。
-
优点:Chroma 提供了十几种编程语言的客户端,可以快速启动向量存储,并且是市场上第一个默认提供嵌入模式的向量数据库。对开发者比较友好,集成简单。 -
缺点:功能相对简单,特别是对于需要更复杂功能的应用场景。只支持 CPU 计算,这可能限制了在需要大量计算资源的情况下性能的提升。

-
优点:LanceDB无需管理服务器,降低了开发者的运维成本,提高了开发效率。针对多模态数据进行了优化,支持图像、文本、音频等多种数据类型,提高了数据库在处理复杂数据时的效率。提供了友好的API接口和可视化工具,使得开发者能够轻松地集成和使用数据库。 -
缺点:2023年才推出,属于非常新的数据库,不管是功能开发还是社区运营都还不够成熟。

-
优点:PGVector 可以无缝集成到现有的 PostgreSQL 数据库中,用户无需迁移现有的数据库即可开始使用向量搜索功能。因为是PostgreSQL插件,借助 PostgreSQL 的长期开发和优化,PGVector 继承了其可靠性和稳健性,同时在向量化处理方面进行了增强。 -
缺点:相比于专用向量数据库,性能和资源利用等方面的优化还略显不足。


