揭开 Milvus 容量规划工具的神秘面纱

在当今快速发展的数据领域,为您的 Milvus 部署选择合适的配置对于确保高效的性能和资源利用至关重要。面对众多选择,选择合适的配置可能会让人感到不知所措。
以下是使用 Milvus 容量规划工具时需要考虑的3个关键点。
  
     63-1.png
    63-1.png
  
Milvus 容量规划工具
索引选择:平衡内存、磁盘、成本、准确性和速度
Milvus 提供了多种索引算法(HNSW、FLAT、IVF_FLAT、IVF_SQ8),这些算法在内存使用、磁盘空间、成本、速度和准确性方面存在权衡。HNSW 通常是推荐的选择,因为它平衡了性能和内存。有关这些索引的更多详细信息,请参见此博客。
HNSW:
- 结合了两个概念:跳过列表和可导航小世界(NSW)图。HNSW 创建了一个 NSW 的分层列表。HNSW 搜索从顶层开始,逐层向下寻找每层的最近邻。顶层的图中节点最少,底层的图中节点最多。 
- 查询速度非常快,召回率极佳。每个向量需要最多的内存,因此成本可能最高。 
FLAT:
- 100% 召回率(穷尽搜索)。 
- 查询速度非常慢,对于数据大小 n,时间复杂度为 O(n),索引大小与向量数据相同。 
IVF_FLAT:
- 将向量空间划分为簇,仅在 nlist 个簇中进行搜索,与 IVF_FLAT 相比提高了搜索速度。 
- 中等召回率,中等查询速度(比 HNSW 慢但比 FLAT 快)。 
- 比 HNSW 需要更多的内存,但比 FLAT 需要的内存少。 
IVF_SQ8:
- 利用标量量化技术,将磁盘、计算和内存消耗减少 70-75%。 
- 中等召回率,中高等查询速度。 
- 当资源有限时,提供了比 IVF_FLAT 更好的选择,但牺牲了较低的准确性。 
除了上述最常见的浮点索引外,Milvus 还支持 ScANN(在 CPU 上比 HNSW 快 20%)、二进制、稀疏和基于磁盘的索引,请参阅 Milvus 索引文档页面。
DISKANN 是一种混合磁盘/内存索引,如果您可以接受稍长的延迟(大约 100 毫秒左右),但需要支持大量向量和高召回率,这是一个不错的选择。
AUTOINDEX 在开源 Milvus 中默认为 HNSW(或在 Zilliz 中为更高性能的专有索引)。
GPU_CAGRA 是 GPU 索引中最快的,但它需要带有 GDDR 内存的推理卡,而不是带有 HBM 的卡。其他支持的 GPU 索引包括:GPU_BRUTE_FORCE、GPU_IVF_FLAT、GPU_IVF_PQ。
段大小和部署配置
容量规划工具提供了三种段大小(512 MB、1024 MB、2048 MB)。默认段大小为 512 MB。更少、更大的段通常意味着更快的搜索,因此如果您有大量数据,通常建议使用 2GB。
将段视为数据块;它们是 Milvus 中用于负载均衡和启用索引上的分布式搜索的最小单位。我们的快速经验法则:
- 对于 4GB-8GB 的查询节点大小,使用 512MB 段。 
- 对于查询节点小于 16GB,使用 1GB 段。 
- 对于查询节点大于 16GB,选择 2-4GB 段大小。 
在 Pulsar 或 Kafka 之间,对于新项目(绿地安装),建议使用 Pulsar,因为每个主题的开销较小。
Zilliz Cloud 的企业版提供了额外的成本和速度配置。更多信息,请参见我们的云容量规划工具:
- 内存不足(OOM)减少和压缩优化以实现峰值性能。 
- 延迟加载存储节省: 
- 使用标准计算单元(CUs)高效存储热数据。 
- 使用分层存储 CUs 以成本效益的方式存储很少访问(冷)的数据。 
结论
记住,这只是一个起点!Milvus 提供了广泛的自定义选项。
Milvus 容量规划工具专注于单一索引。如果您需要为不同的集合使用不同的索引算法,请创建具有自定义配置的单独集合。这可能需要更复杂的部署设置。
参考链接
资源规划:https://docs.zilliz.com/docs/resource-planning
Zilliz 云定价计算器:https://zilliz.com/pricing#estimate_your_cost
Milvus 索引介绍:https://thesequence.substack.com/p/guest-post-choosing-the-right-vector
Milvus 索引文档:https://milvus.io/docs/index.md
Milvus GPU CAGRA 索引:https://zilliz.com/blog/Milvus-introduces-GPU-index-CAGRA
 - 技术干货 - 如何设计一个面向开发者全生命周期成本的全托管向量检索服务产品? - 作为产品的设计者和开发者,必须始终以用户为中心,积极倾听他们的需求,并集中精力降低软件开发的全链路成本,而非过度追求极致性能或过分炫技。在这种背景下,降低开发者的综合使用成本已成为 Zilliz Cloud 和开发团队过去的主要使命。 2023-7-5
 - 技术干货 - LLMs 诸神之战:LangChain ,以【奥德赛】之名 - 毫无疑问,大语言模型(LLM)掀起了新一轮的技术浪潮,成为全球各科技公司争相布局的领域。诚然,技术浪潮源起于 ChatGPT,不过要提及 LLMs 的技术发展的高潮,谷歌、微软等巨头在其中的作用不可忽视,它们早早地踏入 AI 的技术角斗场中,频频出招,势要在战斗中一争高下,摘取搜索之王的桂冠。而这场大规模的 AI 之战恰好为 LLMs 技术突破奏响了序曲。LangChain 的加入则成为此番技术演进的新高潮点,它凭借其开源特性及强大的包容性,成为 LLMs 当之无愧的【奥德赛】。 2023-5-17
 - 技术干货 - 向量数据库的行业标准逐渐清晰!Vector DB Bench 正式开源! - 本文将从 Vector DB Bench 的特点和优点出发,帮助开发者全面、客观、高效地评估向量数据库。 2023-6-21




