Azure存储表与SQL
我刚刚开始学习Azure,我看不出有太多的场景需要将某些内容放入Azure存储表而不是SQL。我想也许我已经习惯在需要相关数据的环境中工作了Azure存储表与SQL,azure,azure-sql-database,azure-storage,azure-table-storage,Azure,Azure Sql Database,Azure Storage,Azure Table Storage,我刚刚开始学习Azure,我看不出有太多的场景需要将某些内容放入Azure存储表而不是SQL。我想也许我已经习惯在需要相关数据的环境中工作了 什么时候将内容放入Azure存储表而不是Azure SQL数据库的表中更好?您应该了解“NoSQL”的好处 非关系数据库、无模式、大数据、可扩展等等 sqlazure在您希望使用关系、索引、约束等处理结构化数据时非常有用 Azure storage table在需要处理无关系的集中式结构化数据(通常是大容量数据)时非常有用 价格: SQL Azure:$2
什么时候将内容放入Azure存储表而不是Azure SQL数据库的表中更好?您应该了解“NoSQL”的好处
非关系数据库、无模式、大数据、可扩展等等 sqlazure在您希望使用关系、索引、约束等处理结构化数据时非常有用 Azure storage table在需要处理无关系的集中式结构化数据(通常是大容量数据)时非常有用 价格: SQL Azure:$25.98/月5GB 存储表:175 GB无事务或带宽时为21.88/m 所以,当您存储大量数据时,存储表会便宜很多。。。以日志记录为例 中央集权: Windows Azure是一个分布式服务器环境,因此,如果您在一台计算机上保存某些内容,其他人将不会知道,因此storage table是集中式日志记录、会话处理、设置或其他方面的一个很好的解决方案请记住,即使在一个数据中心中也存在延迟 速度:
如果设计正确,在许多情况下,存储表应该比sql azure快,但这可能取决于用例,我还没有真正测试过这一点。如果满足以下条件,我会一直使用azure表作为更便宜的解决方案: 我仅通过PK select on属性执行表选择,由于整个反序列化过程的复杂性,速度很慢 我可以使用有限的Linq套件 我不需要在服务器上连接表和执行复杂的查询 我需要对我的数据进行横向分区切分,Sql Azure联合体是从第0天开始,通过具有PartitionKey的表朝这个方向迈出的一步
虽然我在这篇文章后面补充了一些内容,但我确实想提一件似乎还没有涉及到的事情。我怀疑Azure SQL的数据限制很快就会上升。Web版为5 GB,商业版为150 GB。对于某些解决方案,这是完全足够的。但对其他人来说,可能不是这样,我个人也遇到过这种情况 Azure表的磁盘上限要高得多。我相信是100 TB
此外,尽管NoSQL本质上是非关系型的,但这并不一定是件坏事。我们经常认为我们需要人际关系,而事实上,如果我们以不同的方式看待我们的问题,我们可能不会有太多。您可以在代码本身中强制执行关系,我怀疑大多数开发人员所做的远比他们想象的要多。如果数据访问模式相对较轻,Azure表只比SQL Azure便宜,由于表有每笔交易的费用,而SQL Azure没有。@RickNZ值得注意的是,在撰写本文时,费用非常低:每100000笔交易收取0.005美元。请查看我关于此主题的博客文章:本文应该有助于澄清有关差异的一些疑问。关于集中化、表存储以及Azure SQL的可能重复,两者都提供地理复制。关于定价,这有点棘手,Azure SQL每月收费约1400美元,即使没有数据或交易。表存储不是基于持续时间,而是基于数据。对于1000万的任何类型的操作,成本应该接近100美元。