# 数据源
## 1.什么是「数据源」?
配置「数据源」是创建数据任务中的第一步,是该数据任务进行数据集成的原始数据载体。数据源可以是数据库、文件系统、文件、应用,一切存储数据的载体都能成为数据源。
## 2.支持哪些数据源?
DataPipeline目前已支持的数据源包括:
* [MySQL](../chapter1/shu-ju-yuan/pei-zhi-mysql-shu-ju-yuan.md)
* [Oracle](../chapter1/shu-ju-yuan/pei-zhi-oracle-shu-ju-yuan.md)
* [SQL Server](../chapter1/shu-ju-yuan/pei-zhi-sql-server.md)
* [FTP](../chapter1/shu-ju-yuan/pei-zhi-ftp.md)
* [Couchbase](../chapter1/shu-ju-yuan/pei-zhi-couchbase.md)
* [PostgreSQL](../chapter1/shu-ju-yuan/pei-zhi-postgresql.md)
* [S3](../chapter1/shu-ju-yuan/pei-zhi-s3.md)
* [API](../chapter1/shu-ju-yuan/pei-zhi-api.md)
* [Kafka](../chapter1/shu-ju-yuan/pei-zhi-kafka.md)
## 3.如何配置数据源?
新建数据源前,请先确认您的数据源配置是否符合平台要求,
具体要求参考下表:
| 数据源类型<p style="width:120px"></p> | 版本要求<p style="width:110px"></p> | 用户权限要求<p style="width:350px"></p> | 其他要求<p style="width:300px"></p> |
| --- | --- | --- | --- |
| MySQL(实时) | 5.5或以上版本 | SELECT,</br>REPLICATION SLAVE,</br>REPLICATION CLIENT权限 | BINLOG修改为ROW模式,MYSQL BINLOG MODE = ROW BINLOG\_ROW\_IMAGE =‘FULL’(此参数在mysql5.6及以上版本需要设置) ,BINlOG保留时间建议\>=72小时;不支持阿里云 RDS 只读从库[查看BINLOG配置手册](../mysql-binlog-config.md) |
| MySQL(定时) | 5.5或以上版本| SELECT权限 | 要求需要同步的表拥有增量识别字段,用于同步增量数据。选择的字段必须为可排序,例如数字或时间类型,推荐的字段类型一般为随数据更新而自增的字段,如:</br>更新序列号 (例:SequenceID)</br>更新时间戳 (例: UpdatedAt) |
| Oracle(实时)- Logminer | Logminer模式下支持 Oracle 11.2.0.4以上版本的 Non CDB数据库;增量识别字段支持10g以上。 | select any transaction,</br>logmining,</br>execute on dbms_logmnr_d,</br>execute on dbms_logmnr,</br>execute on dbms_flashback, </br>create session,</br>resource,</br>select any dictionary,</br>flashck any table,</br>execute_catalog_role,</br>以及相关视图和表的select权限| 提供Oracle Logminer,12c以下版本不需要logmining权限,日志补全至少需要开启primary key、all、unique级别的日志级别,Archive LOG保留时间建议\>=72小时</br>[查看LOGMINER配置手册](../oracle-log-miner-config.md) |
| Oracle(定时) | 10g或以上版本 | 需要相关视图和表的select权限 | 要求需要同步的表拥有增量识别字段,用于同步增量数据。选择的字段必须为可排序,例如数字或时间类型,推荐的字段类型一般为随数据更新而自增的字段,如:</br>更新序列号 (例:SequenceID)</br>更新时间戳 (例: UpdatedAt) |
| SQL Server(实时) | 2008或以上 |Select on table;</br> View change tracking on table; | 如果default schema为dbo,可以直接授权select和view change tracking权限:grant select on schema::dbo to user;</br>grant view change tracking on schema::dbo to user;</br>如果主体模式不是dbo就需要按照表为单位进行view change tracking的授权,比如grant view change tracking on object::rpt.表名 to user; 要求同步表存在主键</br> [查看Change Tracking配置手册](../sql-server-change-tracking-config.md) |
| SQL Server(定时) | 无 | Select on schema | 要求需要同步的表拥有增量识别字段,用于同步增量数据。选择的字段必须为可排序,例如数字或时间类型,推荐的字段类型一般为随数据更新而自增的字段,如:更新序列号 (例:SequenceID)</br>更新时间戳 (例: UpdatedAtr)|
| PostgreSQL(实时) | wal2json:9.4或以上版本;decoderbufs:9.6或以上版本 | replication角色、login角色,需要同步的表的select\update权限 | PostgreSQL-decoderbufs、PostgreSQL-wal2json两种插件满足实时同步 |
| PostgreSQL(定时) | 9.4以上版本 | 需要同步表的select权限 | 要求DataPipeline与数据源在同一个服务器上 |
| FTP(CSV、Log4j) | 无 | 登录、访问和写入权限 | 无 |
| Couchbase | 4.0或以上 | 无 | admin |
| S3 | 无 | SELECT 权限 | 无 |
| API | 无 | 无 | 无 |
| Kafka | 无 | 无 | 无 |
确认数据源配置符合要求后,即可新建数据源,操作主要分三步:
* 选择数据源类型
* 填写配置信息
* 测试连接
一、点击「新建数据源」,会弹窗要求用户选择数据源类型。
:-: 
二、填写配置信息
请点击下方链接查看具体配置内容
* [**配置MySQL数据源**](../chapter1/shu-ju-yuan/pei-zhi-mysql-shu-ju-yuan.md)
* [**配置Oracle数据源**](../chapter1/shu-ju-yuan/pei-zhi-oracle-shu-ju-yuan.md)
* [**配置SQL Server数据源**](../chapter1/shu-ju-yuan/pei-zhi-sql-server.md)
* [**配置FTP数据源**](../chapter1/shu-ju-yuan/pei-zhi-ftp.md)
* [**配置Couchbase数据源**](../chapter1/shu-ju-yuan/pei-zhi-couchbase.md)
* [**配置PostgreSQL数据源**](../chapter1/shu-ju-yuan/pei-zhi-postgresql.md)
* [**配置S3数据源**](chapter1/shu-ju-yuan/pei-zhi-s3.md)
* [**配置API数据源**](chapter1/shu-ju-yuan/pei-zhi-api.md)
* [**配置Kafka数据源**](chapter1/shu-ju-yuan/pei-zhi-kafka.md)
三、测试连接
* 用户填写完输入项后,点击「连接」即可。
* 系统会判断数据源配置项是否可以连接成功。
* 若测试连接成功,后将会自动打开该数据源的详情页。
* 若测试失败,系统会返回测试失败原因。
四、修改和删除数据源
* 数据源被数据任务占用时,数据源编辑和删除按钮置灰,不可操作。
* 数据源未被占用时,允许对数据源进行编辑和删除。
:-: 
* 编辑功能
* 点击编辑按钮,弹窗出现数据源配置界面,要求弹窗替换掉数据源详情页弹窗。
* 标题为:修改数据源-数据源名称
* 内容为:数据源配置项,与新建数据源逻辑一致,各项均可编辑
* 配置信息除密码显示已填信息,用户可以编辑修改各项信息,修改完毕后点击连接
* 密码默认展示原始密码,用六个星表示
* 点击密码右侧【密码可见】按钮,不显示真实密码,仍然显示六个星
* 用户可以自己设置新密码,不支持只修改密码部分字段,点击右侧【密码可见】要求显示出用户新设置的密码。
* 点击连接,返回到数据源详情页弹窗
* 连接成功,则在右上角弹窗提示数据源【 hyr】连接成功
* 连接失败,则提示出具体的失败原因,逻辑与新建数据源一致
* 删除功能
:-: 
* 点击删除按钮,弹窗出现数据源确认删除页面
* 标题为:删除数据源
* 提示文案:确认要删除数据源###?
* 副文案:删除后将无法恢复
* 点击删除,数据源将被彻底删除。
**常见问题**
#### Q1:用户选择实时模式时,选表时发现有一些表置灰不能同步要想同步这些表该怎么办?
* Datapipeline会依次鉴定数据库、schema以及表是否有实时权限,所以,若在同步时发现有些表置灰未开启实时权限,则无法实时同步这些表;若想继续同步无权限的表则需求去数据源修改配置。
</br></br></br>
* * * * *
</br></br></br>
- DataPipeline产品手册
- 产品主要界面介绍
- 创建-数据任务
- 数据源
- 配置MySQL数据源
- BINLOG配置手册
- 配置Oracle数据源
- LOGMINER配置手册
- 配置SQL Server数据源
- Change Tracking配置手册
- 配置FTP数据源
- 配置Couchbase数据源
- 配置PostgreSQL数据源
- 配置S3数据源
- 配置API数据源
- 配置Kafka数据源
- 数据目的地
- 配置Redshift数据目的地
- 配置Oracle数据目的地
- 配置MySQL数据目的地
- 配置Kafka数据目的地
- 配置SQL Server数据目的地
- 配置FTP数据目的地
- 配置TIDB数据目的地
- 配置Greenplum数据目的地
- 配置Hive数据目的地
- Hive技术实现
- Hive目前支持情况
- 配置HybridDB for PostgreSQL
- 任务设置
- 选择同步内容
- 数据清洗
- 激活数据任务
- 管理-数据任务
- 数据任务列表
- 数据任务详情页
- 基本信息
- 概览信息
- 任务设置
- 错误队列
- 配置规则
- 消息列表
- 文件同步
- 文件源
- 配置S3文件源
- 配置FTP文件源
- 文件目的地
- 配置hdfs文件目的地
- 任务设置
- 激活文件任务
- 管理-文件任务
- 文件任务详情页
- 基本信息
- 概览信息
- 任务设置
- 消息列表
- 元数据管理
- 用户权限管理
- 系统设置
- 产品更新日志
- 常见问题
