46.6kデモを予約するログイン無料で始める

Milvus社、データ管理の再定義とストレージ能力の向上を実現するMMapを発表

Oct 13, 20230 min read

Milvusは、オープンソースのベクトルデータベースの中で最も高速なソリューションであり、集中的なパフォーマンスを必要とするユーザーに対応している。しかし、ユーザーのニーズの多様性は、彼らが扱うデータを反映している。中には、圧倒的なスピードよりも、予算に見合ったソリューションや拡張性の高いストレージを優先するユーザーもいる。Milvusは、このような様々な要求を理解し、MMap機能を導入することで、機能を犠牲にすることなくコスト効率を約束しながら、大容量データの扱い方を再定義します。

MMap とは?

MMapとは、メモリマップドファイルの略で、オペレーティングシステム内のファイルとメモリ間のギャップを埋めるものです。この技術により、Milvusは大容量ファイルをシステムのメモリ空間に直接マッピングし、ファイルを連続したメモリブロックに変換することができます。この統合により、明示的な読み取りや書き込み操作が不要になり、Milvusのデータ管理方法が根本的に変わります。これにより、大容量ファイルやユーザがランダムにファイルにアクセスする必要があるような状況でも、シームレスなアクセスと効率的なストレージが保証されます。

誰がMMapの恩恵を受けるのか?

ベクターデータベースは、ベクターデータのストレージ要件のため、かなりのメモリ容量を必要とします。MMap機能により、限られたメモリ内でより多くのデータを処理することが現実になります。しかし、この能力向上はパフォーマンス・コストを伴います。システムはインテリジェントにメモリを管理し、負荷と使用量に基づいていくつかのデータを退避させます。この退避により、Milvusは同じメモリ容量内でより多くのデータを処理することができる。

我々のテストでは、十分なメモリを搭載している場合、ウォームアップ期間後にすべてのデータがメモリに常駐し、システムのパフォーマンスが維持されることが確認された。しかし、データ量が増加するにつれて、性能は徐々に低下します。**したがって、性能の変動にあまり敏感でないユーザーにはMMap機能をお勧めします。

MilvusでMMapを有効にする: 簡単な設定

MilvusでMMapを有効にするのは非常に簡単です。milvus.yamlファイルを修正するだけです。queryNode設定の下にmmapDirPath`項目を追加し、その値として有効なパスを設定します。

バランスを取る: パフォーマンス、ストレージ、システム制限

データアクセスパターンはパフォーマンスに大きく影響します。MilvusのMMap機能は局所性に基づいてデータアクセスを最適化します。MMapにより、Milvusは順次アクセスされるデータセグメントに対して、スカラーデータをディスクに直接書き込むことができます。文字列のような可変長データは平坦化され、メモリ内のオフセット配列を使ってインデックスが付けられます。このアプローチにより、データアクセスの局所性が確保され、各可変長データを個別に格納するオーバーヘッドが排除される。ベクトル・インデックスの最適化には細心の注意が払われている。MMapは、隣接リストをメモリ内に保持しながら、ベクトル・データに対して選択的に採用され、パフォーマンスを損なうことなく大幅なメモリ節約を実現している。

さらに、MMapはメモリ使用量を最小化することでデータ処理を最大化する。QueryNodeがデータセット全体をコピーしていた以前のMilvusバージョンとは異なり、MMapは開発中に合理化されたコピーフリーのストリーミングプロセスを採用しています。この最適化により、メモリのオーバーヘッドが大幅に削減されます。

**社内テストの結果、MMapを有効にするとMilvusは2倍のデータ量を効率的に処理できることがわかりました。

前途:継続的なイノベーションとユーザー中心の機能強化

MMap機能はベータ段階ですが、Milvusチームは継続的な改善に取り組んでいます。今後のアップデートにより、システムのメモリ使用量が改善され、Milvus は単一ノードでより広範なデータ量をサポートできるようになります。ユーザーはMMap機能をより細かく制御できるようになり、コレクションの動的な変更や高度なフィールドロードモードが可能になります。これらの機能強化により、これまでにない柔軟性が提供され、ユーザーは特定の要件に合わせてデータ処理戦略を調整することができる。

結論:Milvus MMapで卓越したデータ処理を再定義する

Milvus 2.3のMMap機能は、データ処理技術における大きな飛躍を意味します。Milvusは、性能、コスト、システム限界の微妙なバランスを取ることにより、膨大な量のデータを効率的かつコスト効率よく処理することを可能にします。Milvusは進化を続けながら、革新的なソリューションの最前線に立ち続け、データ管理において達成可能なことの限界を再定義しています。

Milvusが比類のないデータ処理の卓越性を目指して旅を続ける中、さらなる画期的な開発にご期待ください。

Updated on Jul 09, 2026