必读:简单模式和标准模式的区别

为方便不同安全管控要求的用户生产数据,DataWorks为您提供简单模式和标准模式两种工作空间模式。本文从简单模式工作空间与标准模式工作空间物理形态、对开发行为的影响等多个维度为您介绍两种模式工作空间的区别。

背景信息

本文内容由以下几部分构成,分别为您解决不同的问题。

分类

说明

简单模式与标准模式介绍

不同工作空间模式的物理形态介绍。

不同模式工作空间对生产任务开发与运维的影响

DataWorks建立于对应工作空间物理属性之上的任务开发与运维机制介绍。

不同模式工作空间的优劣势对比

不同工作空间模式的优劣势对比。

标准模式工作空间对使用流程的影响图示

以角色扮演的方式为您介绍标准模式工作空间下各角色各司其职实现的流程管控。

不同工作空间模式下,DataWorks模块对应操作的数据源

简单模式仅有生产环境,标准模式有开发环境和生产环境,此部分为您介绍各个环境与DataWorks模块的对应关系。

简单模式如何实现开发与生产隔离

若您已经在使用简单模式工作空间,并希望实现简单模式开发与生产隔离,您可参考该部分内容。

注意事项

  • 不同工作空间模式对于创建数据源存在一定的要求,标准模式工作空间需要分别为开发环境和生产环境创建物理隔离的数据源,才可以实现开发生产环境隔离。关于工作空间创建数据源的详情请参见:创建并管理数据源

  • 是否可跨项目、跨数据库访问资源与数据源本身特性有关。若创建数据源时,开发环境与生产环境创建不同的数据源,那么在DataWorks开发环境是否可访问生产环境下的表、资源、函数等,与数据源本身特性有关。

  • 标准模式工作空间下,开发环境的任务默认不进行周期调度,仅发布至生产环境后可进行周期调度。

简单模式与标准模式介绍

您可以从以下维度对比了解简单模式与标准模式的物理形态。

说明

您可选择创建任意模式工作空间体验DataWorks,但建议您在实际开发时,使用标准模式工作空间实现DataWorks开发环境与生产环境代码隔离、不同环境计算资源隔离、权限隔离、任务发布流程管控等需求。

若您已在使用简单模式工作空间,并且希望保留当前简单模式工作空间的代码时,可选择工作空间模式升级,详情请参见场景:工作空间模式升级(简单模式升级标准模式)

本文从以下维度为您对比介绍简单模式与标准模式工作空间。

维度

简单模式

标准模式(推荐)

添加的数据源个数

一个DataWorks工作空间对应一个数据源。简单模式

一个DataWorks工作空间对应两个数据源,可以将开发和生产环境的数据源隔离。

说明

您需要分别为开发环境和生产环境创建物理隔离的数据源,才可以实现开发生产环境隔离。

标准模式

对应DataWorks的环境

一个数据源为DataWorks的生产环境。

两个数据源中,其中一个数据源作为DataWorks开发环境,另一个作为DataWorks生产环境。

说明

开发环境与生产环境可以分别创建不同的数据源,例如:

  • 开发与生产环境添加不同的云实例。

  • 开发与生产环境添加同一个云实例的不同项目或数据库。

不同模式工作空间对生产任务开发与运维的影响

对比

简单模式

标准模式(推荐)

生产任务开发流程管控差异

任务提交后,您无需发布,即可进入调度系统周期性执行,产出结果数据。

(提交-->生产)

简单模式

任务需要先提交至开发环境,再执行发布操作,将任务发布至生产环境,才可以自动调度运行任务。

(提交-->发布-->生产)

说明

标准模式下仅生产环境的任务才会自动调度。

标准模式

生产任务运维权限管控差异

开发人员可直接编辑生产任务的代码。

开发人员只能在数据开发界面编辑代码并且提交,但是不能将代码直接发布到生产环境,发布生产的操作需要有运维权限(项目所有者、管理员、运维这几类角色拥有此权限)。

  • 所有代码仅支持在开发环境编辑,无法修改生产环境的代码。

  • 您可基于标准模式工作空间特性,以及DataWorks角色权限体系来规划与管控DataWorks上任务开发与运维流程。详情请参见:场景示例:标准模式对使用流程的影响

生产数据权限管控差异

开发人员可直接使用生产数据进行测试,无法保障生产数据安全。

开发人员在开发环境可使用测试数据进行测试,也可通过授权或申请权限,在开发环境使用生产表数据进行验证。

说明
  • 仅MaxCompute支持在安全中心可视化申请使用生产表数据权限。MaxCompute数据访问权限控制,详情请参见MaxCompute数据权限控制详情

  • 是否可跨项目、跨数据库访问资源与数据源本身特性有关。若创建数据源时,开发环境与生产环境创建了不同的数据源,那么在DataWorks开发环境是否可访问生产环境下的表、资源、函数等,由数据源本身特性有关。

数据访问身份差异

使用统一身份直接操作生产环境。

MaxCompute、Hologres、EMR、CDH等访问身份包括:阿里云主账号、RAM用户、RAM角色(仅MaxCompute支持),任务责任人。

说明

非上述集群,例如,AnalyticDB for MySQL、AnalyticDB for PostgreSQL等引擎与您创建数据源时不同环境绑定的账号有关,权限与账号在数据库中的权限一致。

  • 开发环境:默认为任务执行者(即当前登录用户)进行任务测试。

  • 生产环境:统一使用指定的身份执行调度任务。您可在数据集成 > 数据源中,找到目标数据源后,修改访问身份。

说明

MaxCompute、Hologres、EMR、CDH

  • 开发环境:任务责任人

  • 生产环境:阿里云主账号、RAM用户、RAM角色(仅MaxCompute支持)

非上述集群,例如,AnalyticDB for MySQL、AnalyticDB for PostgreSQL等引擎与您创建数据源时不同环境绑定的账号有关,权限与账号在数据库中的权限一致。

不同模式工作空间的优劣势对比

对比

简单模式

标准模式

优势

简单、方便、易用。

仅需要授权数据开发人员“DataWorks开发角色”即可完成所有数据仓库开发工作。

安全、规范。

  • 具备安全、规范的代码发布管控流程(包含代码评审、代码DIFF查看等功能),保障生产环境稳定性,避免不必要的因代码逻辑引起的脏数据蔓延或任务报错等非预期情况。

  • 数据访问得到有效管控,数据安全得以保障。

劣势

存在不稳定、不安全的风险。

  • 无法设置开发环境和生产环境隔离,只能进行简单的数据开发。

  • 无法对生产表权限进行控制。

    说明

    当面向MaxCompute计算引擎时,开发角色默认拥有当前MaxCompute项目所有表的读写权限。开发角色的用户可以随意对表进行增加、删除和修改等操作,存在数据安全风险。

  • 无法对数据开发流程进行管控。

    说明

    开发角色可以不经过任何人审批,随时新增、修改代码并提交至调度系统,给生产带来不稳定因素。

流程相对复杂,一般情况下无法一人完成所有数据开发、生产流程。

场景示例:标准模式对使用流程的影响

如图,标准模式“生产、开发隔离”的模式将影响数据模型设计、数据处理逻辑、代码发布等流程。

标准模式

附录:不同工作空间模式下,DataWorks模块对应操作的数据源

您可以在数据开发 > 数据源界面下查看数据开发中已绑定的数据源信息。绑定后不同工作空间模式下,DataWorks模块对应操作的数据源如下表所示:

DataWorks模块

标准模式

简单模式

数据开发

操作开发环境数据源(实例,项目、数据库)

操作生产环境数据源(实例,项目、数据库)

运维中心

  • 开发环境运维中心:操作开发环境数据源(实例,项目、数据库)

  • 生产环境运维中心:操作生产环境数据源(实例,项目、数据库)

附录:简单模式如何实现开发与生产隔离

需求:若您已经在使用简单模式的工作空间,并希望实现简单模式工作空间开发环境与生产环境隔离。

实现:您需要准备两个简单模式工作空间,一个空间作为开发环境,一个空间作为生产环境,并通过跨空间发布的方式将作为开发环境工作空间下的任务发布至作为生产环境的工作空间,从而实现开发环境与生产环境隔离。简单模式实现跨空间发布详情请参见发布中心概述

缺点:作为生产环境的工作空间,仍可以直接在数据开发模块中编辑生产代码,从而导致生产环境的代码更新入口不唯一,进而影响整个开发流程。

建议:建议您将简单模式工作空间升级为标准模式工作空间,以便获得更好的开发流程管控。详情请参见场景:工作空间模式升级(简单模式升级标准模式)