使用RavenDB而不是SQL Azure时,在Windows Azure中存储数据更便宜吗?

Mar*_*uza 5 azure azure-storage ravendb azure-table-storage

SQL Azure存储比Windows Azure存储贵很多.实现像RavenDB这样的无sql解决方案是否允许我将数据存储在更便宜的Azure存储上?是否还有其他需要考虑的事项,如备份,速度或安全性?

谢谢.

Sim*_*nro 20

您必须考虑使用SQL Azure,您不仅可以获得存储,还可以获得数据库服务器.如果您实现RavenDB,您将需要一个辅助角色来托管它,并且为了允许该辅助角色失败,另一个辅助角色(副本)也会占用存储空间.

请记住,使用SQL Azure,您可以获得高度可用(3倍的故障转移复制)SQL解决方案,该解决方案面向熟悉的(ADO.NET)API.根据存储成本以外的其他方面做出选择,例如运营工作和开发工作.如果选择RavenDB,应该是因为开发工作可能节省成本(因为文档API与对象图的接近程度)和运营成本,因为RavenDB是作为应用程序的一部分"管理"的.实际字节的存储成本,特别是在规模上,是一个边际考虑因素.

  • +1 - 这适用于RavenDB,MongoDB,以及您选择安装的任何其他NoSQL数据库.SQL Azure非常适合关系数据,但可能不适合您的特定架构(或缺少它). (3认同)

Dav*_*gon 7

在@Sie的回答中添加一点:在考虑表存储及其低成本时,还要考虑是否可以直接使用它,而不是使用已安装和管理的NoSQL数据库引擎.就目前而言,Table Storage提供了一种无模式解决方案,允许您在一行中存储一个属性包,由partitionkey + rowkey索引.那对你有用吗?您可以使用一些额外的表来为您提供额外的索引吗?如果是这样,您的存储成本将非常低(并且仍然持久,三重复制).

如果您发现自己编写了大量代码来管理表存储,那么投资运行RavenDB所需的Compute实例可能更有效.考虑到这一点时,如果您正在移动重要数据(因为每个核心获得大约100Mbps),您还可能会考虑更大的VM大小.像MongoDB这样的数据库,使用内存映射文件,实际上可以通过更多RAM来提高速度.不确定这与RavenDB是否相同.