Docs 菜单
Docs 主页
/
MongoDB Atlas
/

存档数据

在此页面上

  • 概述
  • 集群需求
  • 所需权限
  • Atlas 如何存档数据
  • Atlas 在线档案数据联合
  • 限制
  • 查看 Online Archive
  • 查询 Online Archive
  • 管理在线档案查询限制
  • 编辑在线存档
  • 删除在线存档
  • 在线存档成本
  • 管理您的在线档案

重要

无服务器实例中的不可用功能

无服务器实例目前不支持此功能。要了解详情,请参阅无服务器实例限制

Atlas 可将不常访问的数据从 Atlas 集群转移到云对象存储上 MongoDB 托管的只读“联邦数据库实例”中。Atlas 存档数据后,您就可以通过只读联邦数据库实例统一查看 Atlas 和 Online Archive 数据。

根据您在存档规则中指定的 Atlas 标准存档数据。 标准根据要存档的集合类型而有所不同:

在集群上配置 Online Archive 时, Atlas 会创建 2 个联合数据库实例:

  • 您只能通过存档的“联合数据库实例”查询存档中的数据。

  • 集群和存档的联合数据库实例,它允许您查询集群和已存档数据。

Atlas 中的 Online Archive 仅适用于 M10 及更大的集群。

要创建或删除“在线档案”,您必须拥有以下角色之一:

要存档数据:

  1. 对于每个存档,Atlas 在存档的命名空间中运行查询,以确定符合存档标准的文档。Atlas 将对特定档案名称空间的此查询引用为作业。

    默认情况下,Atlas 每五分钟运行一次作业。如果 要存档的文档大小未达到阈值,Atlas 会 将作业间隔时间延长 5 分钟,最长不超过 4 小时。 如果作业间隔时间达到最大值,或者要存档的文档大小达到阈值, Atlas 会再次运行作业, 并将作业间隔时间重置为 5 分钟。每个任务的阈值为 2GB。

    Atlas 可以从集群中的任何节点启动作业。但是,由于作业可能需要执行删除操作,因此它始终会连接到节点。

    如果您指定要运行作业的时间窗口,只要有至少5 MiB 的数据要存档,Atlas 就会在该时间窗口内连续运行作业。要了解详情,请参阅限制。如果正在运行的作业在时间窗口内未完成,Atlas 会继续运行作业,直到完成。如果所有存档作业在三个连续存档窗口期间达到要存档的文档大小或数量的最大阈值,我们建议您增加频率。

    Atlas 运行索引充分性查询以确定存档过程的效率。如果扫描的文档数与返回的文档数之间的差值为 10 个或更多个,则查询结果会触发 Index Sufficiency Warning(索引充分性警告)。此警告表明您的索引不足,无法实现有效的存档过程。对于基于日期的存档,您必须为日期字段创建索引。对于使用表达式的自定义条件,Atlas 可能会先转换一个值,然后再根据查询对其进行评估。

  2. 对于符合存档标准的文件,Atlas:

    1. 每次数据存档作业最多可写入 10,000 个分区

    2. 对于查询字段值的每种唯一组合,最多可将 2GB 的文档数据写入 云对象存储空间上的分区,但日期除外, 日期会在每次运行期间进行分组以减少分区数。

    3. 每次查询运行都会写入后续数量的文档数据(最多 2 GB)。

注意

每个存档作业之间的间隔为 5 分钟。Atlas 在当前运行的存档作业完成 5 分钟后运行下一个作业。完成存档作业所需的时间取决于很多因素,包括集群资源。

Online Archive 在 Atlas 集群上运行,病使用相同的底层资源,例如 IOPS。每个作业的默认限制为 2GB,可防止操作占用过多资源。若您的集群目前仅能在其资源限制的边缘支持工作负载,激活 Online Archive 可以让集群扩展其容量。激活 Online Archive 之前,确保 Atlas 集群有多余的资源。

如果激活了“在线档案”,您可以选择以下区域之一来存储存档数据。

存档数据时,Atlas 会先将数据复制到云对象存储,然后从 Atlas 集群中删除该数据。存档期间,您可能会在 Atlas 集群和 Online Archive 中短暂发现重复的文档。但在存档完成且 Online Archive 状态为 idle(空闲)后,已存档的文档不会出现在 Atlas 集群中。

出于性能考虑, WiredTiger不会将已删除数据的存储块释放回操作系统。不过,Atlas 最终会自动将这些存储区块重新用于新数据。这有助于 Atlas 集群避免碎片。要了解更多信息,请参阅如何在 WiredTiger 中回收磁盘空间?。

您的“在线档案”属性为只读。Atlas 不会更新存档数据。您可以配置在特定时间段后删除存档数据。如需清除存档数据,请在创建修改 Online Archive 时配置 Online Archive 的 Deletion Age Limit(删除年龄限制)设置。数据归档后,Atlas 不会将您的 Online Archive 与 Atlas 集群同步以保持一致性。

Atlas 提供一个统一端点。您可将其用于查询实时集群上的所有数据库和集合,以及使用在您 Atlas 集群中相同数据库与集合名称的已存档数据。不能通过网络对等连接使用统一端点,但可以设置私有端点或通过 TLS 使用标准 Internet 连接。

注意

配置在线存档并不能消除对备份策略的需要。建议配置符合您需求的备份策略。要了解有关配置备份策略的更多信息,请参阅备份集群。

当您为 Online Archive 配置M10或更大的 Atlas 集群时,Atlas 会为存档数据创建只读联合数据库实例(每个集群一个)。

Online Archive 不支持以下活动:

  • 写入在线存档。

  • 通过 Atlas 控制台、Atlas Data Federation CLI 或 Atlas Data Federation API 配置管理 Online Archive 联合数据库实例。

  • 存档已封顶的集合。

  • 7 天后存档大小小于 5 MB 的数据。要了解详情,请参阅限制。

  • GridFS。

要查看 Online Archive 的联合数据库实例,请执行以下操作:

  1. 登录 Atlas 控制台。

  2. 单击 Project(项目)页面上左侧导航栏中的 Data Federation(数据联合)。

要查询 Online Archive 数据,请通过 Online Archive 或联合数据库实例 Connect(连接)按钮,使用连接字符串连接到联合数据库实例。

也可使用 SQL 查询在线存档数据。要了解详情,请参阅使用 Atlas SQL 进行查询。

您可以配置针对存档数据查询所处理的数据量限制,以控制 Online Archive 的数据处理成本。当处理的数据量达到任何适用的配置限制时,Atlas 不会执行任何新查询,并向客户端应用程序返回错误信息,说明已达到限制。还可以选择配置查询终止,以终止超过限制的查询。如需了解更多信息,请参阅“管理 Atlas Data Federation 查询限制”。

Atlas 创建 Online Archive 后,您就无法将存档条件从 Date Match(日期匹配)更改为 Custom Filter(自定义过滤器),反之亦然。

如果删除所有 Online Archive,Atlas 会删除 联合数据库实例。删除所有 Online Archive 后,如果创建的 Online Archive 与已删除的 Online Archive 设置相同, Atlas 会为新的 Online Archive 创建新的联合数据库实例。

Online Archive 存储不经常访问的数据,以降低您的 Atlas 集群数据存储成本。但是,会因传输和查询的数据量而产生费用。要了解更多信息,请参阅在线存档成本。

您可以通过 Atlas 控制台和 API 为集群上的某个集合配置 Online Archive。创建 Online Archive 后,您可以:

← 从 S3 导入存档