有人对 Azure SQL 成本与 DocumentDB/CosmosDB 成本进行过比较吗?我不清楚 Azure CosmosDB 成本中提供的 RU。例如,1 TB 数据库中的 1 个请求不能等于 1 GB 数据库中的 1 个请求。
首先,您无法可靠地概括关系型 Azure SQL 成本和 NoSQL CosmosDB 成本之间的成本比较,因为它们是截然不同的东西。它们不可互换,根据计划的使用情况和选择的优化点,它们需要不同的数据建模。成本(开发+天蓝色账单+未来维护)可能会根据您的负载和使用情况而有很大差异。
所以一般的答案是相当无用的“这取决于”。
查看更多有关 sql 与 noSQL 差异的信息,还有 有关从 sql 切换到 nosql 的一些注意事项。
更好地理解 RU 是什么的最佳方法是通过生成实际数据并检查实际查询并从中推断出目标成本来进行实验。如果您通过 id 或从选择性足够的索引获取文档(并且您永远不应该在 docDB 中扫描),那么 GB 与 TB DB 中的 RU 成本很可能相似。
如果您没有时间使用实际数据/查询进行测试,那么您可以使用 https://www.documentdb.com/capacityplanner .
注意!请注意,这两种方法都要求您已经了解如何在 NoSQL 中布局数据。 NoSQL 文档并不等同于 SQL 行或表。请参阅 Ryan CrawCour、David Makogon 的“NoSQL 文档数据库的数据建模”,了解设计 noSQL 时应考虑的事项。
在 2024 年重新审视这个问题,我在 Azure 中同时使用了 SQL Server 和 Cosmos DB,并且思考了同样的问题:SQL Server 和 Cosmos DB 哪个更便宜?
两者的成本取决于:存储+吞吐量。
存储要简单得多,所以让我们检查一个假设的 1 TB 数据库,并看看两者的成本。
Cosmos DB 的每 GB 存储非常简单:每 GB 36 美分,按需付费。 1TB 就是 360。 SQL Server 并不那么简单,因为您购买的是 DTU 和存储的“包”。 SQL Server 的存储空间是“预留的”(即最多..),因此如果您预留 1TB,并且仅使用 500 GB,您仍然需要支付 1 TB 的费用。 因此很难确切地说 SQL Server 的存储成本是多少。使问题进一步复杂化的是,存在不同的性能级别,但一般来说,级别,但据我所知,等效的 1TB Sql Server 每月将花费您 634。
如果您在 Cosmos 上花费等量的 RU,则每月大约需要花费 350 美元购买 4000 RU。
所以他们俩的月薪都在 650 左右。所以我不会说一个比另一个更便宜或更贵。我认为定价是相当的。
但是,我对此事的看法是:如果你可以使用 Cosmos,那就使用 Cosmos。定价为现收现付,不保留。 此外,Cosmos 的响应能力在所有层都是相同的,而 SQL Server 则不然。 我不得不增加一个小型站点的 DTU,该站点的 SQL Server 使用人数少于 5 人。另一方面,Cosmos 是具有相同响应水平的服务。 如果您超过 RU 限制,它们当然会限制您,但这与较低层 SQL Server 的缓慢性能不同。 我还没有找到衡量两者之间性能的方法,所以这只是意见,但我发现 Cosmos 就性能成本而言是更好的野兽。
此外,我发现如果数据建模做得好,Cosmos 会非常高效,这样您就可以下载包含所需所有数据的单个文档,而不是使用 SQL 进行多个查询和联接来获取相同的数据。 换句话说,通过点读取来获取最多 2k 的文档,然后在 SQL Server 中进行类似查询,计算成本更低。
话虽如此,您使用哪个数据库主要取决于您的数据库需求。 如果您需要一个紧凑的数据库(财务等),那么 Sql Server 就是您所需要的。 我喜欢 Cosmos 来驱动这样的应用程序: 一个教授语言的人工智能辅导网站