《向量数据库指南》——在整个 Milvus Cloud2.0 设计过程中,一开始就在思考的几个关键点

首先,我们考虑如何实现扩展性。

其次,我们考虑了云原生或者说关注数据库的重要点,这包括弹性和数据的隔离性。因为在 1.0 版本时,用户在构建索引时查询性能会相互影响。因此,我们的目标是有效地将索引构建和查询隔离开来。第三个考虑因素是数据的实时性。在 1.0 版本中,我们的一个用户因为一致性保障较弱,插入了大量数据,但在查询时却无法找到。我们花费了很多时间排查,最终发现插入的数据没有及时构建索引,未能在线上提供服务,而用户完全不知道这一点。

为此,我们在构建 2.0 版本时关注了实时性,保障用户插入数据后能够及时使用,最理想的情况当然是强一致性,即写入后立即可以查询到。然而,某些场景下,可以接受一定的延迟,但保障是必不可少的。因此,我们在 2.0 版本中花费了很多精力开发流式数据的写入能力,如何将流数据与传统批量导入的数据结合起来,包括如何对数据进行更新和删除。这些问题在我们的 2.0 版本中,尤其是在云原生架构下,变得相当复杂。大家或多或少都了解,与数据湖相关的问题,早期的产品也没有更新和删除的能力,这些能力是在后来引入的。因此,2.0 版本的设计非常大程度上关注于如何解决实时性问题。

大约在 2021 年 6 月左右,我们发布了第一

猜你喜欢

转载自blog.csdn.net/qinglingye/article/details/132832291