使用优化型读取和 pgvector,提高 Amazon Aurora 上生成式人工智能工作负载的性能

使用优化型读取和 pgvector,提高 Amazon Aurora 上生成式人工智能工作负载的性能

💡 原文中文,约6000字,阅读约需15分钟。
📝

内容提要

这段文字已经是简体中文。

🔎

延伸解读

优化型读取的适用边界

优化型读取并非对所有向量工作负载都有效。文章明确指出,本地NVMe仅缓存未经修改的被逐出分页,因此如果向量数据频繁更新,可能无法获得同样的性能提升。此外,如果向量工作负载可以完全装入内存,则可能不需要优化型读取实例。因此,在考虑采用优化型读取前,应评估数据更新频率和内存容量是否匹配。

性能与成本的权衡

基准测试显示,优化型读取实例的查询吞吐量比标准实例平均高出6到7倍,但实例月费也更高。例如,R6gd-12xl每月7008美元,而R6g-12xl为5831美元。然而,由于吞吐量大幅提升,每百万次查询的成本从329.84美元降至59.02美元,降低了82%。因此,对于高查询量的向量工作负载,优化型读取可能更具成本效益。

索引选择与参数调优

文章对比了pgvector的HNSW和IVFFlat索引,指出HNSW索引可将查询性能提升20倍。在HNSW索引中,hnsw.ef_search参数控制查全率与吞吐量的权衡。基准测试中设置ef_search=400,实现了0.9578的查全率。开发者应根据应用对查全率和延迟的要求,调整该参数以平衡性能与准确性。

基准测试的参考价值与局限

基准测试使用BIGANN-1B数据集和SIFT描述符,维度为128,与常见的1536维嵌入体不同。测试实例为R6gd和R6g,表/索引大小分别为614GB和781GB,均超出实例内存。这些条件可能影响结果的普适性。读者在参考性能提升数据时,需结合自身数据规模、维度和访问模式进行评估。

❓

Q&A

Amazon Aurora 优化型读取如何提升向量工作负载的性能?

Amazon Aurora 优化型读取通过结合 pgvector HNSW 索引,提升查询性能,减少资源使用,查询吞吐量可提高多达九倍。

使用 HNSW 索引的优势是什么?

HNSW 索引相比于 IVFFlat 索引,查询性能提升可达 20 倍,适合处理大规模向量数据。

Aurora 优化型读取适合哪些应用场景?

适合超出数据库实例内存容量的大型数据集应用,如实时高性能向量比较和相似度搜索。

Aurora 优化型读取的成本效益如何?

优化型读取实例的查询成本比标准实例低 75-80%,提供高性价比的解决方案。

Aurora 优化型读取在基准测试中的表现如何?

基准测试显示,优化型读取实例的查询吞吐量平均高出 6 到 7 倍,CPU 利用率可达 95%。

并非所有向量工作负载都能从优化型读取中受益,为什么?

更新频繁的向量数据可能不适用优化型读取,因为它主要缓存未修改的被逐出分页。

🏷️

标签

➡️

继续阅读