数据传输
数据传输成本的来源
Atlas 数据传输成本取决于托管集群的云服务提供商。Atlas 每天均会列出数据传输费用。
Atlas 会对您的 Atlas 节点与另一个节点之间的数据传输收费。以下传输会产生费用,按费用从最低到最高的顺序列出:
同一 AWS 区域中的数据传输。
不同 AWS 区域之间的数据传输。
向 AWS 地区外的位置进行的数据传输,不包括向 Atlas 节点传输的传入数据。
云备份快照导出
除了 AWS 或 Azure 本身产生的数据传输费用外,对于导出到 AWS S3 存储桶或 Azure Blob 存储容器的每 GB 数据, Atlas 收取$.125
的费用。Atlas 会在导出之前压缩数据。要估算导出的数据量,请将集群中每个数据库的 dataSize 相加。此总数应与导出数据的未压缩大小一致,这将是 Atlas 因数据导出操作而产生的最大成本。
要了解有关云备份快照导出的更多信息,请参阅导出云备份快照。
传输成本例外和行为
Atlas不会对传入Atlas 集群的数据传输收取费用。此外, Atlas不会对传出数据的 M0
或 Flex集群层收费。
对于部署在 Atlas 控制平面所在的北美地区之外的 AWS 集群,发票将包括一个 AWS Data Transfer (different region)
项目,该项目是由于在 Atlas 控制平面所在的 AWS 北美地区与部署集群的 AWS 区域之间发送的继承网络流量(如心跳、自动化代理和 Performance Advisor)所产生的。
集群
多区域集群可能具有更高的数据传输成本,具体取决于其他地区的数量和位置,以及部署到每个地区的集群数量。
无服务器实例(已弃用)
无服务器实例已被弃用。对于与负责备份和恢复数据的虚拟机之间的双向数据传输,无服务器实例会产生相应的费用。
基于推送的日志导出
导出基于推送的日志会产生数据传输费用。
数据输出
Atlas 通常对通过互联网传输的每 GB 数据传输收取 $0.09 的费用。
AWS 区域之间或区域内的数据传输成本较低。
将数据实时迁移到 Atlas
MongoDB 托管并运行免费的 Atlas 实时迁移服务,帮助用户将现有 MongoDB 数据库迁移到 MongoDB Atlas。MongoDB 不会对传输至 Atlas 集群的任何传入数据收取费用。了解有关迁移到 Atlas 的更多信息。
如何降低数据传输成本
绝大多数 Atlas 客户在数据传输上的花费不到其预算的 10%。如果您的花费明显增加,下面这些优化措施可能有助于降低您的数据传输费用:
检查访问数据的所有应用程序和进程是否效率低下。确保查询不会:
重新读取客户端已经存在的数据。
将现有数据重新写入集群。
尽可能确保查询来自与集群相同的云区域和提供者。
当需要跨区查询时:
请务必阅读查询使用“nearest”偏好。
尽可能从您的 Highest Priority Region(最高优先级区域)中获取源写入查询。有关区域优先级的详细信息,请参阅用于实现高可用性的可选举节点。
使用投影执行查询操作,指定或限制 MongoDB 在匹配文档中返回的字段,从而限制 MongoDB 发送给应用程序的数据量。或者,使用
$project
聚合阶段从聚合框架中对项目文档字段进行投影,以便在传输前缩小文档的大小。在客户端驱动程序中启用网络压缩,以压缩客户端与服务器之间的数据。例如,您可以为节点 Node.js 驱动程序配置网络压缩选项。Atlas 始终会压缩集群内通信。要了解更多信息,请参见驱动程序文档。
注意
从本地部署环境到 Atlas、跨云提供商或同一云提供商的各大洲之间的查询会产生最大的数据传输费用。