借助 Datastream,您可以从 MongoDB 来源复制历史数据和变更事件,以进行实时分析和数据库同步。MongoDB 是一个开源 NoSQL 数据库,可将类似 JSON 的文档(包括嵌入式文档)整理到集合中。它不使用关系行和列,而是以二进制 JSON (BSON) 格式存储每条记录,以便作为 JSON 检索。
在配置 MongoDB 来源之前,请先查看 Datastream 中的关键术语、复制行为、支持的版本和已知限制。
关键词
以下是您在使用 MongoDB 来源时需要了解的关键术语:
SRV 连接:连接字符串,其主机名对应于域名服务 (DNS) 服务记录 (SRV)。该字符串采用以下格式:
mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]如需了解详情,请参阅 MongoDB 文档。
标准连接字符串:MongoDB 连接 URI 的标准格式,用于连接到自托管 MongoDB 独立部署、副本集或分片集群。该字符串采用以下格式:
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]如需了解详情,请参阅 MongoDB 文档。
副本集:实现复制和自动故障切换的 MongoDB 服务器集群。副本集提供冗余和高可用性,是所有生产部署的基础。
分片集群:MongoDB 分片集群由分片、mongos 和配置服务器组成。MongoDB 在集合级别对数据进行分片,将集合数据分布在集群中的各个分片上。
mongos:客户端应用与分片集群之间的接口。
mongos充当查询路由器,并将操作写入分片。集合:MongoDB 以分层结构整理数据。MongoDB 部署包含一个或多个数据库,每个数据库包含一个或多个集合。在每个集合中,MongoDB 将数据存储为包含字段和值对的文档。集合类似于关系型数据库中的表。
行为
源 MongoDB 数据库依靠变更数据流将更改复制到目标位置。变更数据流可让您访问实时数据,并且副本集和分片集群支持变更数据流。
- 如果已配置,系统会为包含的对象复制所有历史数据。
- 系统会复制指定对象的所有更改,例如插入、更新和删除。
版本
Datastream 支持 5.0 之后的 MongoDB 版本。
已知限制
将 MongoDB 用作来源的已知限制包括:
- 使用 Datastream API 时,您只能指定要在数据流中排除哪些字段。不支持为字段指定包含列表。
- 严格模式不支持
Infinity、-Infinity和NaN数值。在严格模式下,如果文档包含这些值,则会被舍弃。 如果您的数据库包含这些值,请使用规范模式(默认)。 如需了解详情,请参阅 MongoDB 数据类型。 - Datastream 不支持基于请求单位 (RU) 的 Azure Cosmos DB。
- Datastream 不支持 Amazon DocumentDB 弹性集群。
- Datastream 不会复制 MongoDB 时序集合中的变更事件,因为 MongoDB 不支持这些集合上的变更数据流。Datastream 仅回填时序集合,不会复制回填后执行的插入、更新或删除操作。
后续步骤
- 了解如何配置 MongoDB 来源以与 Datastream 搭配使用。
- 了解如何使用 API 和 gcloud CLI 创建 MongoDB 流。