我在Azure上运行RESTful服务。目前,它具有零持久性。 (它只是另一个api的REST网关。)我在一个最小的Azure实例中运行它,并期望这将处理它将获得的所有负载。
我现在需要为它添加一些非常轻量级的持久性。一个简单的表,40-200行,8个数据列。数据非常静态。
完成整个SQL Azure的事情似乎对我的需求来说太过分了。
我的想法是使用:
这里的正确道路是什么?
谢谢!
答案 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
的优势在于,您无需同步它。
缺点:您可以进行的交易数量相关费用。这取决于您更新文件的次数。
App_Data
BLOB
时无法同步或使用App_Data
进行同步。BLOB
是仅为此目的提供的指定商店。修改强>
来自MSDN帖子
据我所知,Windows Azure不支持SQL Compact Edition。 SQL Compact Edition将数据存储在文件系统中,不会在多个实例中同步(Web角色可以部署到多个实例。实例类似于虚拟机)。重新启动或重新映像实例时,存储在文件系统中的文件将丢失。
希望这会对你有所帮助。