Azure Cosmos DB 采用细粒度多租户和资源管控设计。 这种设计使Azure Cosmos DB能够以更低的成本运行,并帮助你节省资金。 目前,Azure Cosmos DB在单个计算机上支持超过 280 个客户工作负荷,密度不断提高,群集中的数千个客户工作负荷。 它对群集中不同计算机上的客户工作负载以及数据中心内多个群集中的客户工作负载进行负载均衡。 若要了解详细信息,请参阅 Azure Cosmos DB:开拓多区域分布式数据库的前沿。 由于资源治理、多租户以及与 Azure 其余基础设施的原生集成,Azure Cosmos DB 的平均成本比在 IaaS 上运行的 MongoDB、Cassandra 或其他开源 NoSQL 数据库低 4 到 6 倍,并且比在本地部署环境中运行的数据库引擎最多可低 10 倍。 请参阅有关 NoSQL 数据库云服务的总(非)拥有成本的白皮书。
OSS NoSQL数据库解决方案(如 Apache Cassandra、MongoDB 和 HBase)专为本地设计。 作为托管服务提供时,它们等效于具有租户数据库的资源管理器模板,用于管理预配的群集和监视支持。 OSS NoSQL 体系结构需要很大的运营开销,了解其专业知识可能比较困难且费用不菲。 另一方面,Azure Cosmos DB 是完全托管式的云服务,可让开发人员专注于业务创新,而不是管理和维护数据库基础结构。
与云原生数据库服务Azure Cosmos DB不同,OSS NoSQL数据库引擎不是使用资源治理或精细多租户作为基本体系结构原则设计和构建的。 OSS NoSQL Cassandra 和 MongoDB 等数据库引擎做出基本假设,即运行它们的虚拟机的所有资源都可供其使用。 如果资源量低于特定阈值(例如,对于小型 VM 实例),则其中许多数据库引擎无法正常运行。 并且,它们可采用供应商推荐的配置,而这些配置通常建议使用成本更高的大规模虚拟机。 因此,你无法托管 OSS NoSQL或任何其他本地数据库引擎,并使用基于消耗的收费模型(例如每秒请求或消耗的存储)使其可用。
Azure Cosmos DB 的总拥有成本
Azure Cosmos DB 的无服务器预配模型消除了过度预配数据库基础结构的需求。 无需专业化的配置或许可即可提供 Azure Cosmos DB 资源。 因此,与开源 NoSQL 数据库相比,以 Azure Cosmos DB 为后端的应用程序可将总拥有成本最多降低 70%。 有关部分实时示例,请参阅客户用例。 Azure Cosmos DB 定价模型的其他优势包括:
物超所值:市场分析师、客户和合作伙伴一致认为,与客户自行实施这些解决方案或通过其他供应商实施相比,Azure Cosmos DB 以更低的价格提供了其全部功能所对应的更高价值。 数据库功能(如多区域分布、多区域写入、定义明确且直观的一致性模型)和自动索引使用Azure Cosmos DB大大简化,无需任何复杂、开销或停机。
无需NoSQL DevOps 管理:使用 Azure Cosmos DB,无需使用 DevOps 来管理部署、执行维护、缩放或修补。 可以使用托管在本地或云基础结构上的 OSS NoSQL群集执行所有工作负荷。
弹性缩放功能:可以纵向扩展和缩减Azure Cosmos DB吞吐量,这有助于在非高峰期降低拥有成本。 云基础结构中部署的 OSS NoSQL 群集提供有限的弹性,而本地部署在定义上不提供弹性。 在 Azure Cosmos DB 中,如果预配更高的吞吐量,则可以保证吞吐量呈线性扩展。 这一保证由财务 SLA 提供支持,并且在任何规模下都能达到第 99 百分位。
规模效益: Azure Cosmos DB 等托管服务使用大量的节点来运行,原生与网络、存储和计算等资源集成。 由于Azure Cosmos DB的规模和标准化,你可以省钱。
为云而优化: Azure Cosmos DB 自底层起即为支持细粒度多租户和性能隔离而设计。 此设计允许在群集和数据中心之间以最佳方式放置、执行和均衡数千个租户及其工作负荷。 相比之下,当前一代的 OSS NoSQL 数据库运行于本地部署环境中,并假定整个虚拟机仅承载单个租户的工作负载。 同样,这些数据库也不是设计为在最大程度上利用云提供商的基础结构和硬件。 例如,OSS NoSQL 数据库引擎既无法识别虚拟机宕机与常规映像升级之间的区别,也不了解高级磁盘本身已进行了三重复制这一事实。 它不能利用这些优势,因此无法向客户传达这些优势和成本节省。
按小时付费: 对于需要在任何时间点缩放的大型工作负荷,只需按小时收费。 应用程序中的工作负荷以及查询的数据在一年中的不同时间通常会有变化。 使用 Azure Cosmos DB,你可以按需扩展或缩减,并且只为所需付费。 对于本地部署系统或 IaaS 托管系统,你无法复制这种模式,因为没有办法每小时将硬件下线。 在这种情况下,使用 Azure Cosmos DB 可能会将成本平均节省 10 到 14 倍。
获得大量免费功能: 在 Azure Cosmos DB 中,写入工作负荷的成本要比替代型数据库服务便宜得多。 此外,Azure Cosmos DB 还免费提供自动索引、生存时间 (TTL)、更改源等功能,而这些功能在其他数据库服务中通常需要额外付费。
对各种工作负荷使用统一货币:与替代产品/服务不同,在Azure Cosmos DB中,无需将工作负荷分段为读取和写入。 或者按工作负载类型预配吞吐量,例如分别按读取吞吐量和写入吞吐量进行预配。 Azure Cosmos DB,预配的吞吐量使用统一规范化的货币保留,以请求单位或 RU/秒为单位。Azure Cosmos DB不强制你为工作负荷分配优先级、执行容量规划或单独支付每种类型的容量费用。 此方法使你可以轻松地在各种操作和工作负荷类型之间交换相同的 RU/秒。
无需预配虚拟机即可扩展: 大多数事务型数据库如果想要实现扩展,就需要采用大型虚拟机,以避免嘈杂邻居问题,并应对较为宽松的资源治理。 此要求给客户带来了负担和前期成本承诺。 使用 Azure Cosmos DB 可以从较小的规模着手,然后无缝扩展到大规模工作负荷,这不会造成任何停机,也不影响数据可用性。
可以尽最大限度利用预配的吞吐量: 凭借 Azure Cosmos DB 的子核心多路复用优势,可在更高的程度充分利用预配的吞吐量,而 IaaS 托管选项或第三方产品/服务却做不到这一点。 与替代型解决方案相比,此方法可以节省大量的成本。
Azure Cosmos DB 与其他 Azure 服务的深度集成。 Azure Cosmos DB 原生与网络、计算、Azure Functions(无服务器)、Azure IoT 和其他 Azure 服务相集成。 通过这种集成,你可以获得中国各地数据复制的最佳性能、速度,并得到可靠的保证。 第三方解决方案无法与之媲美,或者即使提供此类功能,通常也会收取更高费用。
默认情况下至少提供 10 到 20 个容错域,让你自动获得高可用性: Azure Cosmos DB 支持跨容错域的工作负荷分布,这项功能对于高可用性至关重要。 它在中国任何地方按99百分位提供99.999%的读取和写入的高可用性。 而你自行实现或通过第三方解决方案实现此类功能的成本则比较高。
自动免费获得所有企业功能。 Azure Cosmos DB 免费提供极其全面的合规性认证、安全性以及静态和动态加密(与我们的竞争产品相比)。 您在中国境内可自动获得区域可用性。 可让数据库跨越任意数目的 Azure 区域,并随时可以添加或删除区域。
容量规划
估算 TCO 时,从容量规划开始可能会有所帮助。 如果计划从现有数据库群集迁移到Azure Cosmos DB,则可以使用现有数据库群集的相关信息进行容量规划。
- 如果你只知道现有数据库群集中的 vCore 和服务器数量,请阅读根据 vCore 或 vCPU 数量估算请求单位数。
- 如果你知道当前数据库工作负荷的典型请求速率,请参阅使用 Azure Cosmos DB 容量规划工具估算请求单位。
后续步骤
- 尝试为迁移到 Azure Cosmos DB 进行容量规划? 可以使用有关现有数据库群集的信息进行容量规划。
- 如果你只知道现有数据库群集中的 vCore 和服务器数量,请阅读根据 vCore 或 vCPU 数量估算请求单位数。
- 如果你知道当前数据库工作负荷的典型请求速率,请参阅使用 Azure Cosmos DB 容量规划工具估算请求单位。
- Azure Cosmos DB定价模型如何对客户经济高效
- 针对开发和测试进行优化
- 优化吞吐量成本
- 优化存储成本
- 优化读取和写入成本
- 优化查询成本
- 优化多区域Azure Cosmos DB帐户的成本
- NoSQL数据库云服务的(非)拥有总成本