Azure:SQL Compact可能吗?

时间:2012-02-06 06:01:12

标签: azure

我在Azure上运行RESTful服务。目前,它具有零持久性。 (它只是另一个api的REST网关。)我在一个最小的Azure实例中运行它,并期望这将处理它将获得的所有负载。

我现在需要为它添加一些非常轻量级的持久性。一个简单的表,40-200行,8个数据列。数据非常静态。

完成整个SQL Azure的事情似乎对我的需求来说太过分了。

我的想法是使用:

  1. 一个XML文件,并将其作为db加载到内存中。 XML文件是 部署代码。
  2. 一些更好的部署XML的方法,所以它可以 推出/更新更容易
  3. SQL Compact(我可以在Azure上执行此操作吗?)
  4. __ _
  5. 这里的正确道路是什么?

    谢谢!

2 个答案:

答案 0 :(得分:4)

SQL Server Compact需要以持久的方式将其数据存储在某处,因此您需要定期将其同步到持久存储,这需要大量的额外工作,我不知道如何可靠地执行此操作,因此很可能不是一个好主意。

对于您的简单表,Azure表存储可能就足够了。如果这还不够,那么SQL Azure是下一个选择。

答案 1 :(得分:2)

您可以将XML文件用作商店,这对它没有任何害处,相反,这是一个非常简单且经济高效的解决方案,但有一个问题。正如您刚才提到的那样,您只使用azure实例,在这种情况下,您可以将XML文件存储在App_Data中,但如果您希望将来转移到2 azure实例,则必须复制App_Data。 1}}文件夹。换句话说,您需要保持App_Data文件夹同步。

建议

您可以使用App_Data检索文件并将其存储在内存中,而不是将文件存储在BLOB WebClient中。

优点BLOB的优势在于,您无需同步它。

缺点:您可以进行的交易数量相关费用。这取决于您更新文件的次数。

摘要

  • 如果您只使用一个Azure实例,请使用App_Data
  • 多个Azure实例,使用BLOB时无法同步或使用App_Data进行同步。
  • 不要使用Azure表,因为BLOB是仅为此目的提供的指定商店。

修改

来自MSDN帖子

  

据我所知,Windows Azure不支持SQL Compact Edition。 SQL Compact Edition将数据存储在文件系统中,不会在多个实例中同步(Web角色可以部署到多个实例。实例类似于虚拟机)。重新启动或重新映像实例时,存储在文件系统中的文件将丢失。

希望这会对你有所帮助。