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

背景信息

本文内容由以下几部分构成,分别为您解决不同的问题。
分类 说明
简单模式与标准模式介绍 不同工作空间模式的物理形态介绍。
不同模式工作空间对生产任务开发与运维的影响 DataWorks建立于对应工作空间物理属性之上的任务开发与运维机制介绍。
不同模式工作空间的优劣势对比 不同工作空间模式的优劣势对比。
标准模式工作空间对使用流程的影响图示 以角色扮演的方式为您介绍标准模式工作空间下各角色各司其职实现的流程管控。
不同工作空间模式下,DataWorks模块对应操作的引擎 简单模式仅有生产环境,标准模式有开发环境和生产环境,此部分为您介绍各个环境与DataWorks模块的对应关系。
简单模式如何实现开发与生产隔离 若您已经在使用简单模式工作空间,并希望实现简单模式开发与生产隔离,您可参考该部分内容。

注意事项

  • 不同工作空间模式对于绑定引擎存在一定的要求,标准模式工作空间需要分别为开发环境和生产环境绑定物理隔离的集群或项目,才可以实现开发生产环境隔离。关于工作空间引擎绑定详情请参见:引擎的基本操作
  • 是否可跨项目、跨数据库访问资源与计算引擎本身特性有关。若绑定引擎时,开发环境与生产环境绑定不同的引擎(实例,项目、数据库),那么在DataWorks开发环境是否可访问生产环境下的表、资源、函数等,与计算引擎本身特性有关。
  • 标准模式工作空间下,开发环境的任务默认不进行周期调度,仅发布至生产环境后可进行周期调度。

简单模式与标准模式介绍

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

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

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

本文从以下维度为您对比介绍简单模式与标准模式工作空间。
维度 简单模式 标准模式(推荐)
绑定的计算引擎个数 一个DataWorks工作空间对应一个计算引擎(项目、实例或数据库)。简单模式 一个DataWorks工作空间对应两个计算引擎(项目、实例或数据库),可以将开发和生产环境的计算引擎隔离。
说明 您需要分别为开发环境和生产环境绑定物理隔离的集群或项目,才可以实现开发生产环境隔离。
标准模式
对应DataWorks的环境 一个计算引擎(项目、实例或数据库)作为DataWorks的生产环境。 两个计算引擎中,其中一个计算引擎(项目、实例或数据库)作为DataWorks开发环境,另一个作为DataWorks生产环境。
说明 开发环境与生产环境可以分别绑定不同的引擎,例如:
  • 开发与生产环境绑定不同的云实例。
  • 开发与生产环境绑定同一个云实例的不同项目或数据库。

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

对比 简单模式 标准模式(推荐)
生产任务开发流程管控差异 任务提交后,您无需发布,即可进入调度系统周期性执行,产出结果数据。

(提交-->生产)

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

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

说明 标准模式下仅生产环境的任务才会自动调度。
标准模式
生产任务运维权限管控差异 开发人员可直接编辑生产任务的代码。 开发人员只能在数据开发界面编辑代码并且提交,但是不能将代码直接发布到生产环境,发布生产的操作需要有运维权限(项目所有者、管理员、运维这几类角色拥有此权限)。
  • 所有代码仅支持在开发环境编辑,无法修改生产环境的代码。
  • 您可基于标准模式工作空间特性,以及DataWorks角色权限体系来规划与管控DataWorks上任务开发与运维流程。详情请参见:场景示例:标准模式对使用流程的影响
生产数据权限管控差异 开发人员可直接使用生产数据进行测试,无法保障生产数据安全。 开发人员在开发环境可使用测试数据进行测试,也可通过授权或申请权限(仅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模块 标准模式 简单模式
数据开发 操作开发环境引擎(实例,项目、数据库) 操作生产环境引擎(实例,项目、数据库)
运维中心
  • 开发环境运维中心:操作开发环境引擎(实例,项目、数据库)
  • 生产环境运维中心:操作生产环境引擎(实例,项目、数据库)

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

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

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

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

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