这实际上是一个颇具曲折性和难得性的故事。由于我自己是在公司中间加入的,从 2.0 版本开始参与了 Milvus 的构建,而我们公司在向量数据库领域已经有大约 5 年的历史了。
最初,我们看到了这个机会,并意识到有诸如 Faiss 等引擎在处理向量检索方面已经非常成熟,许多大型厂商也在使用它们。因此,我们的第一个版本设计非常简单,仅在 Faiss 上增加了一些持久化的日志,以及一些基础的 RPC。当时很多人认为 Milvus 只是在 Faiss 上做了一层封装,这是最早对 Milvus 的看法,实际上,这个结论现在可以套用在大多数正在创业的向量数据库上,它们目前架构与我们最早的 1.0 架构几乎没有什么区别。
在这个过程中,我们从 0.1 到 1.0 版本进行了许多尝试,主要受到最早一个重要客户的影响。虽然我不提及客户的名称,但他们最初使用了 Milvus 的早期版本,即 0.1 版本,