0

我们有一个计划迁移到 Azure 的旧系统。系统使用 sqlite 文件来存储我们需要访问的数据。在尝试了许多解决方案之后,我们决定将 sqlite 文件存储在 Azure 文件存储中,并通过云工作者角色的 UNC 路径访问它们(我们不能使用 Azure 函数或应用程序服务,因为它们没有使用 SMB 的能力)。

这一切似乎都正常,但我担心的是当尝试以这种方式访问​​大文件(有效地通过网络)时,sqlite 可能会如何反应。

有没有人有过这种事情的经验,如果有,你遇到过什么问题吗?

另一种计划是使用网络工作者角色并将 sqlite 文件存储在 blob 存储中。但是,为了访问数据,我们必须将 blob 复制到 Web 服务器计算机上的临时文件中。

4

1 回答 1

0

您当然可以使用 Azure 文件存储,因为它实际上是一个 SMB 共享,由 blob 存储支持(这意味着它是持久的)。而且,由于它是 SMB 共享,因此您可以从各种工作角色实例访问它。

至于您的替代选择(存储在 blob 中并复制到临时存储) - 这是行不通的,因为每个工作角色实例都是独立的,然后您将在每个 VM 上拥有多个未同步的数据库副本。如果 VM 重新启动,您将立即丢失该临时驱动器上的所有数据。

注意:使用 Web/worker 角色实例以及 VM,您可以附加 blob 支持的磁盘并将内容持久地存储在那里。但是,您仍然会遇到处理多个实例的问题(因为附加的磁盘不能附加到多个 VM)。

于 2017-04-26T12:41:16.413 回答