DTS开发记录(2)-- 数据管道及插件

简介: 通过前面两篇文章(已于2006-07-03修正)的介绍,我们已经大致明白了系统的目标的总体结构,从这篇文章开始,我们将逐渐深入到系统内部。    本文讲述数据管道,数据管道是用于在数据源/数据目标与DataTable之间进行数据传递的组件,它是与数据库类型和文件类型相关的,数据从数据源经过数据管道后,就变成与数据源类型无关的数据了,这样映射编辑和数据引擎便能对它们进行一致的处理。
    通过前面两篇文章(已于2006-07-03修正)的介绍,我们已经大致明白了系统的目标的总体结构,从这篇文章开始,我们将逐渐深入到系统内部。

    本文讲述数据管道,数据管道是用于在数据源/数据目标与DataTable之间进行数据传递的组件,它是与数据库类型和文件类型相关的,数据从数据源经过数据管道后,就变成与数据源类型无关的数据了,这样映射编辑和数据引擎便能对它们进行一致的处理。
    数据管道接口定义的类图如下:


    数据管道接口IDataPipe从另外两个接口继承:数据导入器(IDataImporter)和数据导出器(IDataExporter)。数据导入器用于从数据源读取指定页的大小的数据到DataTable中。为何要分页读取数据,那是因为当数据源中的记录非常多时,一次读取并传递所有的数据是不合适了,这时可以采用分页进行分批数据处理。数据导出器用于将数据导出到数据目标。

    目前,我们的数据源/数据目标可以分为两大类:文件和数据库。所以,从IDataPipe派生了两个接口--IFileDataPipe和IDbDataPipe,用来分别对应连接到文件的数据管道和连接到数据库的数据管道。
    为了根据文件或数据库的类型来创建合适的数据管道,所以我们需要一个工厂IDataPipeFactory来完成这件事:


    可以预见,在以后的应用中会有更多的数据库类型和文件类型加入进来,为了避免每次加入一个新的数据库类型或文件类型时都需要改动系统源码并重新编译发布,我们将数据管道做成插件(Addin),这样当我们需要支持一种新的文件类型或数据库类型时,只需要添加一个插件即可,原来的系统不用修改和重新编译。


    于是,我们可以借助插件管理器IAddinManager(参见ESFramework插件部分)来实现数据管道工厂IDataPipeFactory。

    许多朋友一定觉得这篇文章讲的太粗,这是我刻意为之的。很抱歉!因为这毕竟不是一个开源项目,它的所有权也不属于我个人(尽管它完全是我个人一手设计的),而是属于我现在所在的公司,所以我只能点到为止,介绍一些原理性的东西,供后来者参考。


转到:DTS开发记录(序)
目录
相关文章
|
27天前
|
SQL 分布式计算 监控
在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
【2月更文挑战第32天】在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
17 6
|
1月前
|
关系型数据库 MySQL 数据挖掘
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
DTS 作为阿里云核心的数据交互引擎,以其高效的实时数据流处理能力和广泛的数据源兼容性,为用户构建了一个安全可靠、可扩展、高可用的数据架构桥梁。阿里云数据库 SelectDB 通过与 DTS 联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL / RDS MySQL / PolarDB for MySQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
|
3月前
DTS数据传输延迟可能有多种原因
【1月更文挑战第16天】【1月更文挑战第79篇】DTS数据传输延迟可能有多种原因
54 2
|
1月前
|
关系型数据库 MySQL OLAP
数据传输DTS写入问题之无法获取数据如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
1月前
|
存储 Java 关系型数据库
数据传输DTS数据问题之数据写入异常如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
数据传输DTS数据问题之数据写入异常如何解决
|
1月前
|
关系型数据库 MySQL 数据处理
数据传输DTS延迟问题之数据延迟如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
335 1
|
6月前
|
存储 Java 数据库连接
云数据仓库ADB不管是jdbc写入或者dts同步,均会存在丢数据的情况?
云数据仓库ADB不知道是不是磁盘出问题了不管是jdbc写入或者dts同步,均会存在丢数据的情况?
55 2
|
4月前
|
数据管理 数据库 数据库管理
数据传输DTS数据迁移可以迁移表当中的部分数据吗?怎么操作呢?
数据传输DTS数据迁移可以迁移表当中的部分数据吗?怎么操作呢?
38 0
|
关系型数据库 MySQL Shell
使用 DTS 迁移结构化数据|学习笔记
快速学习使用 DTS 迁移结构化数据
100 0
使用 DTS 迁移结构化数据|学习笔记
|
canal 关系型数据库 MySQL
【笔记】用户指南—数据导入和导出—使用DTS导入和导出数据
PolarDB-X提供丰富的数据导入和导出方式,以保持与其他数据系统的互通。本文主要介绍通过DTS导入导出数据的方式。
156 0

热门文章

最新文章