MongoDB数据源
MongoDB是一个面向文档的NoSQL数据库,以灵活的JSON格式存储数据,支持高并发和水平扩展。
本数据集成服务支持开源及云上MongoDB产品,支持其主流版本,可满足不同用户在多种部署环境下的数据同步需求。
使用前准备及限制
- 网络要求
MongoDB数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通。
- 权限要求
- 读权限:数据集成服务需要从MongoDB读取数据,可在目标数据库授予read内置角色。该角色允许用户执行find、aggregate、listCollections、listIndexes等读取操作。
- 写权限:数据集成服务需要向MongoDB写入数据,可在目标数据库授予readWrite内置角色。该角色涵盖read 全部权限,并额外支持insert、update、remove、createCollection、createIndex等写入与结构变更操作。
- 端口放通
MongoDB端口(27017):需放通TCP 27017(及副本集/分片集群实际监听端口)供华为云数据集成服务访问。
支持的数据类型
|
分类 |
字段类型 |
读取是否支持 |
写入是否支持 |
|---|---|---|---|
|
数值 |
Integer |
√ |
√ |
|
Long |
√ |
√ |
|
|
Double |
√ |
√ |
|
|
Decimal |
√ |
√ |
|
|
ObjectId |
ObjectId |
√ |
√ |
|
时间 |
Date |
√ |
√ |
|
Timestamp |
√ |
√ |
|
|
文档 |
Document |
√ |
√ |
|
字符 |
String |
√ |
√ |
|
数组 |
Array |
√ |
√ |
|
布尔 |
Boolean |
√ |
√ |
|
二进制 |
Binary |
√ |
√ |
|
Null |
Null |
√ |
√ |
支持的迁移场景
数据集成离线同步支持以下三种同步方式,以满足不同数据迁移场景的需求:
- 单表同步
适用于数据入湖和数据上云场景下,表或文件级别的数据同步。支持的数据源类型请参考单表支持的数据源类型。
- 分库分表同步
适用于数据入湖和数据上云场景下,多库多表同步场景。支持的数据源类型请参考分库分表同步支持的数据源类型。
- 整库迁移
适用于数据入湖和数据上云场景下,离线或自建数据库整体同步场景。支持的数据源类型请参考整库同步支持的数据源类型。
需要注意的是,分库分表与整库迁移能力会根据不同region的上线支持情况有所不同,具体支持情况以页面为准。以下是针对MongoDB的支持迁移场景概览:
|
支持迁移场景 |
单表读取 |
单表写入 |
分库分表读取 |
分库分表写入 |
整库读取 |
整库写入 |
|---|---|---|---|---|---|---|
|
是否支持 |
√ |
√ |
x |
√ |
x |
x |
核心能力速览
- 连接配置
配置项
支持情况
说明
SSL支持
x
支持SSL加密,保障数据传输安全,暂不支持。
- 读取能力
配置项
支持情况
说明
增量读取
√
支持通过【find条件】配置,实现增量读取。
分片并发
x
通过并发读取,充分利用资源,提升读取性能,MongoDB链路暂不支持。
Document嵌套解析
√
支持解析嵌套的Document数据结构,能够正确处理包含多层嵌套字段的Document数据,确保数据的完整性和准确性。
自定义字段能力
√
可在任务级追加计算列、常量列或脱敏函数,满足个性化业务需求。
脏数据能力
√
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。
- 写入能力
配置项
支持情况
说明
导入前清空
√
支持preSql操作,可在数据导入前进行数据清洗和处理。
冲突解决
√
支持【新增】/【替换】等多种写入方式,可灵活处理数据冲突。
并发写入
√
支持并发写入,提升写入效率。
脏数据能力
√
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。
创建数据源
在DataArts Studio管理中心新建相应的数据源,详情请参见创建DataArts Studio数据连接。
创建数据集成离线作业
在DataArts Studio数据开发中新建MongoDB集成作业,详情请参见新建离线处理集成作业。