研究一下 Supabase ~Supabase 是一个开源的 Firebase 替代方案,旨在为开发者提供类似 Firebase 的开发者体验,但使用企业级的开源工具构建。Supabase 提供了一系列后端功能,帮助开发者更快地构建产品,特别是当他们希望专注于前端开发而无需花费大量时间和精力构建和维护后端基础设施时。在本系列文章中,将深入探讨 Supabase 的功能和用法。这些文章将涵盖入门教程、架构、本地研发、人工智能和向量数据库,以及选择正确的计算插件等主题。在选择正确的计算插件时,考虑向量工作负载的规模至关重要。扩容向量工作负载有以下两个选项:一是增加数据库的大小,二是将工作负载分布到多个数据库中。选择向量工作负载的正确维度数是关键,通常维度数越低,性能越好。通过 Vecs 工具,可以创建集合、上传嵌入到单表,并为嵌入列创建 IVFFlat 和 HNSW 索引以进行内积距离度量。一系列查询用于测量不同计算插件的性能。对于不同的维度,基准测试显示了准确性、QPS 的改进以及对内存的适应性。例如,对于 384 维、960 维和 1536 维的嵌入,使用不同的计算插件和优化参数,可以达到高精度和不同级别的性能。在 IVFFlat 和 HNSW 索引中,通过调整参数,例如增加 m 和 ef_construction,可以优化性能和查询速度。同时,上传更多向量到单表取决于内存限制和对查询性能的影响。为了提高性能,可以使用一些技巧,如预热数据库、优化索引参数,并遵循人工神经网络基准测试方法。在投产智能应用时,建议关注更多性能优化指南和逐步教程。最终,选择计算插件时需要根据具体的工作负载需求、维度、内存限制和性能目标进行权衡。基准测试提供了重要依据,以确保选择最合适的计算插件来满足项目需求。