Archive Data
在此页面上
Overview
Atlas 可将不常访问的数据从 Atlas 集群转移到云对象存储上 MongoDB 托管的只读“联邦数据库实例”中。Atlas 存档数据后,您就可以通过只读联邦数据库实例统一查看 Atlas 和 Online Archive 数据。
根据您在存档规则中指定的 Atlas 标准存档数据。标准根据要存档的集合类型而有所不同:
对于标准集合,标准可以是以下之一:
归档数据的日期字段和在 Atlas 集群上保留数据的天数的组合。 当当前 日期超过指定日期字段的值时, Atlas 会从当前时间中减去天数,然后 将这个时间之后的数据存档。
自定义查询。Atlas 运行存档规则中指定的查询, 以选择要存档的文档。
对于时间序列集合,标准是时间字段和在 Atlas 集群上保留数据的天数的组合。当当前时间超过指定时间字段的值时,Atlas 会从当前时间中减去天数,然后将这个时间之后的数据存档。
在集群上配置 Online Archive 时, Atlas 会创建 2 个联合数据库实例:
您只能通过存档的“联合数据库实例”查询存档中的数据。
集群和存档的联合数据库实例,它允许您查询集群和已存档数据。
集群需求
Atlas 中的 Online Archive 仅适用于 M10
及更大的集群。
所需权限
要创建或删除“在线档案”,您必须拥有以下角色之一:
Atlas 如何存档数据
要存档数据:
对于每个存档,Atlas 在存档的命名空间中运行查询,以确定符合存档标准的文档。Atlas 将对特定档案名称空间的此查询引用为作业。
默认情况下,Atlas 每五分钟运行一次作业。如果 要存档的文档大小未达到阈值,Atlas 会 将作业间隔时间延长 5 分钟,最长不超过 4 小时。 如果作业间隔时间达到最大值,或者要存档的文档大小达到阈值, Atlas 会再次运行作业, 并将作业间隔时间重置为 5 分钟。每个任务的阈值为 2GB。
Atlas 可以从集群中的任何节点启动作业。但是,由于该作业可能需要执行删除操作,因此它始终连接到主节点。
如果指定要运行作业的时间窗口,则只要至少有 5 MiB 的数据要存档,Atlas 就会在该时间窗口内连续运行作业。要了解更多信息,请参阅限制。如果正在运行的作业在时间窗口内未完成,Atlas 会继续运行作业直到完成。如果所有存档作业在三个连续存档窗口期间达到针对要存档文档的大小或数量的阈值,则建议您加大频率。
Atlas 运行索引充分性查询以确定存档过程的效率。如果扫描的文档数与返回的文档数之间的差值为 10 个或更多个,则查询结果会触发
Index Sufficiency Warning
(索引充分性警告)。此警告表明您的索引不足,无法实现有效的存档过程。对于基于日期的存档,您必须为日期字段创建索引。对于使用表达式的自定义条件,Atlas 可能会先转换一个值,然后再根据查询对其进行评估。对于符合存档标准的文件,Atlas:
每次数据存档作业最多可写入 10,000 个分区
对于查询字段值的每种唯一组合,最多可将 2GB 的文档数据写入 云对象存储空间上的分区,但日期除外, 日期会在每次运行期间进行分组以减少分区数。
每次查询运行都会写入后续数量的文档数据(最多 2 GB)。
注意
完成存档作业所需的时间取决于很多因素,包括集群资源。下一个存档作业仅在当前作业完成后运行。
Online Archive 在 Atlas 集群上运行,病使用相同的底层资源,例如 IOPS。每个作业的默认限制为 2GB,可防止操作占用过多资源。若您的集群目前仅能在其资源限制的边缘支持工作负载,激活 Online Archive 可以让集群扩展其容量。激活 Online Archive 之前,确保 Atlas 集群有多余的资源。
如果激活了“在线档案”,您可以选择以下区域之一来存储存档数据。
Data Federation 区域 | AWS 区域 |
---|---|
Virginia, USA | us-east-1 |
美国俄勒冈州 | us-west-2 |
巴西圣保罗 | sa-east-1 |
爱尔兰 | eu-west-1 |
英国伦敦 | eu-west-2 |
德国法兰克福 | eu-central-1 |
Tokyo, Japan | ap-northeast-1 |
印度孟买 | ap-south-1 |
新加坡 | ap-southeast-1 |
澳大利亚悉尼 | 亚太东南部-2 |
加拿大蒙特利尔 | ca-central-1 |
重要
Atlas 使用 Amazon 服务器端加密 S3 管理密钥 (SSE-S3) 对存档数据进行加密。Atlas 无法使用您在集群数据上使用的任何静态加密密钥。
Data Federation 区域 | Azure 地区 |
---|---|
Virginia, USA | US_EAST_2 |
荷兰 | EUROPE_WEST |
重要
Atlas 使用 Azure 存储服务端加密 对存档数据进行加密。Atlas 无法使用您在集群数据上使用的任何静态加密密钥。
Data Federation 区域 | Google Cloud 地区 |
---|---|
比利时 | europe-west1 |
Iowa, USA | us-central1 |
重要
Atlas 使用 Google Cloud 存储服务端加密 对存档数据进行加密。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 连接。
注意
配置在线存档无法消除对备份策略的需要。建议配置符合您需求的备份策略。要了解有关配置备份策略的更多信息,请参阅备份集群。
Atlas 在线档案数据联合
当您为 Online Archive 配置M10
或更大的 Atlas 集群时,Atlas 会为存档数据创建只读联合数据库实例(每个集群一个)。
限制
Online Archive 不支持以下活动:
查看 Online Archive
要查看 Online Archive 的联合数据库实例,请执行以下操作:
在 Atlas 中,转到项目的联合数据库实例。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Services 标题下的 Data Federation。
显示Data Federation 页面。
查询 Online Archive
要查询 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 后,您可以: