Skip to content

Latest commit

 

History

History
96 lines (74 loc) · 3.76 KB

diff_WWModel_AzureDataFactoryPipe_cn.md

File metadata and controls

96 lines (74 loc) · 3.76 KB

微软Azure数据工厂/数据管道架构的缺陷和改进措施----兼论仓库/车间模型与微软Azure数据工厂/数据管道架构的差别

版权所有 © 2021-04-27 林鹏程, 保留所有权利。

Microsoft Azure DataFactory/DataPipelines Architecture Warehouse/Workshop Model

发表这篇文章的起因

在2021-04-24, 我在reddit的clojure论坛发了一个贴子 "HPE Cray Supercompter officially likes "The Grand Unified Programming Theory: The Pure Function Pipeline Data Flow with Principle-based Warehouse/Workshop Model", 有个用户(Humble_Welder6049) 说我的仓库/车间模型Azure数据工厂/数据管道架构没有差别, 我是一个业余个人开发用户, 以前没有使用过"云服务", 所以我仔细阅读他发的链接文章, 然后发表了这篇文章. 因为我在clojure论坛上的那个帖子上, 从发了 询问了他的论文链接的那条消息后, 这个贴子被版主删除了, 不能在原贴回复他, 深感遗憾. 从他的评论来看, 我认为他阅读我的文章太匆忙, 没有仔细思考, 匆忙下结论, 这个做法比较不严谨.

差别

车间 vs 数据管道

  • 车间

    • 它是比数据管道更大的执行单元,由串联的数据管道组成.
    • 车间之间没有任何交互,每个车间只被仓库统一调度。
      • 调度和车间具有1:n关系
    • 它是划分独立任务时的原子单位,对应甘特图的一个条。
    • 它可以没有仓库,这时它只是微服务(专用处理芯片,服务业)。
  • 数据管道

    • 执行管道活动允许数据工厂管道调用另一个管道。
    • 调度管道[当前版本(2019-11-19)新增]:
      • 管道和触发器具有n:m关系
    • 它不遵守如下原则
      • 单一领导和统一调度原则
      • 有序原则

仓库 vs 数据工厂

  • 仓库

    • 它是一个特殊的管道,一切资源的容器(状态,数据,函数也是数据), 它有两个特殊的副作用管道(I/O)与外部互联.
    • 它有一个调度器, 仓库调度器和车间是1:n关系,仓库调度器使用甘特图算法动态规划进行全局优化。
    • 它可以没有普通车间,这时它只是数据中心(仓储业)。
  • Azure数据工厂

    • Azure数据工厂是基于云的ETL和数据集成服务, 是一种传统的数据仓库解决方案.
    • 调度管道[当前版本(2019-11-19)新增]:
      • 管道和触发器具有n:m关系,
      • 按传统并发系统使用的活动依赖关系调度,并没有按优化顺序调度。
    • 它不遵守如下原则
      • 单一领导和统一调度原则
      • 有序原则
      • 明确原则

Azure数据工厂/数据管道架构的缺陷和改进措施

从上面的差异比较来看,Azure数据工厂/数据管道架构有以下的缺陷:

  • 因为
    • 执行管道活动允许数据工厂管道调用另一个管道。
    • 管道和触发器具有n:m关系
  • 所以
    • 由于它没有车间的封装,多个数据管道互相调用,交织成一张复杂混乱的网络。
    • 它象是一个没有车间的工厂, 所有机器(数据管道)在露天工场上联接在一起, 也没有统一的调度器, 它们处于混乱的无组织状态.
    • 它不是一个严格的星形系统和分形系统。
    • 它不遵守如下原则
      • 单一领导和统一调度原则
      • 有序原则
      • 明确原则

改进措施就是使用我的仓库/车间模型.

参考