您如何管理 Fluid Framework 中的数据?

How do you manage data in the Fluid Framework?

文档说明如下:

The Fluid container defines the application logic while containing persistent data.

我有几个问题想更好地理解数据管理。

  1. 容器中可以存储的数据量是否受流体应用程序所在的机器或服务器的可用存储空间限制运行?

  2. 数据保存多长时间?

  3. 容器中的数据可以移动到外部数据存储解决方案吗?

  4. 对于生产,Fluid 是否需要数据库?

这些是 Fluid Framework 文档尚未很好回答的一些好问题

容器中可以存储的数据量是否受 Fluid 应用 运行 所在的 [客户端] 机器或服务器 [机器] 的可用存储空间限制?

一般来说,客户端是极限,但是容器中可以存储的数据量不应以客户端机器的内存为上限。每个 Data Object within the container can be virtualized, so only the first Data Object must be loaded. However, the fluidframework currently has a solvable inefficiency where the client that Summarizes 状态都必须在本地加载所有容器数据。这可以通过分发摘要或不对未更改的部分进行摘要来避免。我们在很大程度上为两者做好了准备,因为摘要通常存储在 git 中,因此内容可寻址。

可以制造一个服务器是极限的场景,但它会非常人为。

数据保存多长时间?

数据无限期保留。我们的参考实现无限地保存数据。如果您自托管,则可以管理数据生命周期,例如订购者存储持续时间和摘要存储持续时间。托管产品将包括生命周期机制。

容器中的数据可以移动到外部数据存储解决方案吗?

是的,但没有服务器到服务器挂钩。将使用连接到文档并写出数据的非人类客户端来移动数据。这是一个有趣的工作领域。

对于生产,Fluid 是否需要数据库?

如果您自行托管该服务,则需要为旧操作(例如 mongodb)提供一个 blob 存储,为当前操作(例如 kafka)提供一个排序器,以及一个 git摘要存储(可以存在于 blob 存储中)。这些只是流体服务的一部分。存储库有 helm charts 和 docker compose 文件来满足这些要求。