SQL Azure和Azure表存储如何比较?

|                                                                                                                       
已邀请:
Windows Azure的SQL数据库是一个关系数据库,具有您希望从关系数据库获得的所有内容(多个索引,存储过程,强大的查询等)。 Azure表存储是一种非关系型,可大规模扩展(每个帐户最多100TB)的存储设施,其中,实体是通过分区键(实体的共置)和行键来定位的。 如果您想要一个不需要复杂的关系操作的非常简单的存储机制,则Azure Table Storage会很好地工作。 编辑2012年6月7日:更新为春季发行版定价 也有成本差异。 SQL Database的100MB起始价格为4.99美元,可以逐步扩展(5GB约为26美元,50GB约为125美元,150GB约为225美元),但没有交易成本。 Azure Table Storage的运行价格为$ 0.125 / GB(或无地理复制的情况下为$ 0.09 / GB),随着数量的增加,每GB的价格下降,但交易成本为$ 0.01 / 100,000(对于小容量系统而言是标称值,但对于高容量系统)。完整的定价细节在这里。 在《 MSDN杂志》上有一篇相当新的文章,其中更详细地介绍了用例,差异等。 如果您打算直接迁移现有的数据库,则SQL数据库将与您在SQL Server Express 2005中的数据库紧密匹配。但是,由于此时它只是一个原型,因此值得重新评估您的需求。     
\“我如何决定选择哪个?\” 好问题。 您必须解决自己关心的问题,并相互评估选项。 我认为关键的区别在于,SQL Azure的可扩展性低于表存储。如果您期望大量的访问者,则数据库可能无法跟上,并成为阻止您进一步扩展的瓶颈-在云中,您可以继续添加前端服务器,直到信用卡出血为止,但是一旦转到“大型”数据库服务器,就别无选择。 (除了不是真的-您还可以找到一种在多个数据库服务器之间分区应用程序的方法)。 因此,如果您关心可伸缩性,则可能需要转到表存储-它没有与SQL Azure相同的可伸缩性限制。 但是,这种可伸缩性的成本是您可能还需要关心的事情-您必须从头开始构建应用程序才能使用表存储,并且必须重新创建很多从关系数据库免费获得的东西。例如,交易并没有真正按照您期望的方式工作。 因此,如果它只是一个原型,并且您并没有明确打算成为下一个Facebook,那么我会留在SQL Azure上,直到可扩展性痛苦变成现实。     

要回复问题请先登录注册