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