【跨国数仓迁移最佳实践4】MaxCompute 企业级能力升级:跨域访问控制与数据安全特性增强

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第4篇,解析跨国异构数仓迁移背后的企业级权限管理升级与数据安全技术增强的全过程。注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。

前言:随着东南亚数字经济的蓬勃发展,支付和电商巨头 GoTerra 作为区域领导者,其数据规模和复杂度持续增长。为了满足日益增长的业务需求和合规要求,GoTerra 决定将其大数据业务从 Google BigQuery 迁移到阿里云 MaxCompute 平台。这一迁移不仅是技术平台的转换,更是数据治理和安全体系的全面升级。


针对 BigQuery 与 MaxCompute 的产品差异点,MaxCompute元数据团队在现有访问控制原子能力基础上,开发了 GCP 兼容的权限体系和 Catalog 管理 API,帮助 GoTerra 实现了元数据、角色权限等配置的高效平滑迁移。


本文将重点介绍 MaxCompute 在跨域访问控制和数据安全领域为 GoTerra 量身定制的企业级特性,包括跨账号多层级访问控制、基于 PolicyTag 策略标签的数据动态脱敏等功能,这些特性不仅解决了 GoTerra 在迁移到 MaxCompute 时遇到的卡点,同时也为 MaxCompute 的用户提供了更完善的数据安全解决方案。

01 异构迁移下的权限安全挑战


由于 GoTerra 作为东南亚互联网集团,其自身业务覆盖多个领域且组织架构复杂,需要在统一平台的情况下,能够支持不同业务间不同的权限管理与配置需求


复杂的业务需求:

1. 复杂组织架构的权限架构:GoTerra 作为大型集团,内部有多个独立或半独立的业务线,每个业务线内部又可能有数据开发、数据科学、数据分析师、业务人员等不同角色和团队,他们对数据的访问需求各不相同(例如,开发需要读写,分析师只需要读取特定脱敏后的数据)。


2. 严格的权限分离与最小权限原则:为了数据安全和合规,需要确保每个用户或团队只能访问其工作所必需的最小数据集,不能越权访问其他业务线或敏感数据。


3. 多账号间灵活管理:GoTerra 在阿里云上使用了多个账号,需要在保证安全的前提下实现跨账号的数据共享和协作。


同时客户深度应用与依赖 Google BigQuery 的权限管理模型,因此需要 MaxCompute 新企业级能力需要兼容 BigQuery 的权限管理特性。


BigQuery 的权限管理特性

1. 与 IAM (Identity and Access Management) 高度集成:客户可以将 IAM 上定义的 BigQuery API 粒度的权限,绑定到具体的 BigQuery 资源(如 Dataset 或者 Table)上,从而实现更细粒度的授权,以及授权关系的水平可扩展。


2. 资源层级授权:权限可以在 Google Cloud 的资源层级结构(如 Organization ->  Project -> Dataset -> Table)上进行定义和继承。这意味着可以很容易地为一个项目或数据集(Dataset)设置一组权限,这些权限会自动应用于其下的所有表。


3. 预定义和自定义角色:提供了丰富的预定义角色,也支持用户创建自定义角色,精确控制具体可以执行的操作。


4. 灵活的成员管理:可以将角色分配给个人用户、服务账号、Google Groups(组)等不同类型的“成员”,便于基于团队或职能进行批量授权和管理。


5. 易于管理的列级权限支持集中管理的、可复用的、支持树状结构的策略标签 (Policy Tag),再将标签应用到列上并通过标签管理用户权限。


MaxCompute 的权限系统与 BigQuery 存在着较大的差异无法直接满足客户的需求:

1. MaxCompute 的核心权限边界是“Project 项目虽然项目内可以通过 ACL(Access Control List)或 policy 授权,但缺乏像 BigQuery 那样在更高层级(如组织/资源目录)或更低层级(如 Schema、表、列)进行统一、继承式管理的原生机制。


2. 权限粒度较粗我们的权限控制主要集中在项目级别的访问(如 Read, Write)和对象级别的基本操作(如对特定表的 Select, Describe),缺乏像 BigQuery IAM 那样可以精确到具体 API 操作粒度的控制。


3. 缺乏高级继承机制:在原始模型下,如果要给一个团队(比如 GoTerra 的“数据分析团队”)授予对多个项目或多个 Schema 下所有表的只读权限,需要对每个表或每个项目单独进行授权,管理起来非常繁琐且容易出错。它不支持像 BigQuery 那样的“在项目/数据集层级授予权限,自动应用于所有子资源”的继承特性。


4. 跨项目、跨账号授权复杂:虽然我们有一定的跨项目资源共享能力(通过 package),也有一定的跨账号访问能力。但在 GoTerra 的多账号架构下,这些方式都不够安全或便捷,缺乏基于组织结构的边界控制能力。


5. 列级权限使用复杂列级脱敏策略是直接在项目内定义和管理的,与特定的项目关联,并直接绑定到特定的表列,缺乏集中式的标签管理概念和树状结构。每个策略更像是一个独立的规则定义,不方便策略的复用。

02 MaxCompute 权限体系架构升级


为了解决 GoTerra 在迁移过程中的需求,我们引入了一种全新的多层级访问控制系统。


全新资源层级结构


原有的权限系统主要基于项目级别,无法满足 GoTerra 复杂的组织架构和权限需求。为此,我们引入了命名空间(Namespace)概念,作为比项目更大的数据平面边界。命名空间同时也会关联到资源目录(Resource Directory)上,以方便多账号管理。

新的层级结构如下图所示:


0.png


1. 资源目录(ResourceDirectory)RD是阿里云提供的一个顶层组织和管理资源的容器。一个 RD 可以包含多个阿里云账号(主账号),这些账号可以是企业内部的不同部门、子公司或不同的业务单元。在 MaxCompute 中,RD是最大的边界,一个 RD 可以包含多个命名空间(如果这些命名空间所属的项目分别属于 RD 内的不同主账号)。


2. 命名空间(NameSpace)这是 MaxCompute 新引入的一个比项目更大的数据平面边界,它可以将多个项目组织在一起,方便进行统一的权限管理。用户可以通过 Catalog API 或者 DCL 授权语句,在命名空间这一层级创建自定义角色,以及策略标签。创建好的自定义角色和策略标签,可以应用于所属命名空间内的所有项目。 目前,命名空间和阿里云主账号是一对一的关系。


3.目(Project)这是 MaxCompute 中最基础和核心的组织单元。用户在 MaxCompute 中进行的所有操作(如创建表、运行 SQL、提交作业等)都必须在一个具体的项目中进行。一个项目只属于一个命名空间,并且可以包含多个 Schema。


4. 模式(Schema)项目内部的一个逻辑分组,用于组织和管理表和其他资源对象(如表的快照、函数、资源等)。一个 Schema 只属于一个项目,并且可以包含多个表。


5. 表(Table)这是 MaxCompute 中存储结构化数据的基本单元。用户可以将策略标签应用于表的特定列,实现基于策略标签的数据动态脱敏和列级访问控制。


扩展角色和权限继承


新的权限体系最显著的特点是权限继承,权限可以在资源层级结构中从上层对象传递到下层对象。

  • 继承规则当用户被授予某个对象(如 Schema)的权限时,该权限通常会自动应用于该对象所包含的所有下层子对象(如该 Schema 下的所有 Table)。
  • 灵活性虽然存在继承,但用户也可以在更细粒度的级别(如特定的 Table)上授予或撤销权限,实现更精确的控制。
  • 命名空间级别角色 支持用户通过 Catalog API 或 SQL(DCL 语句)创建自定义角色,此角色可以作用在同一个命名空间的所有项目。


下面,我们通过一个虚构的跨部门数据协作与分析的场景, 来说明新的权限系统是如何工作的。


场景描述:

一家公司有两个核心业务部门:用户服务部 (User Service) 和 订单处理部 (Order Processing)。公司需要进行数据分析,以优化运营。

  • 用户服务部负责用户信息管理,其数据存放在项目 user_project 中的 user_project.user_data Schema 下。
  • 订单处理部负责订单处理,其数据存放在 MaxCompute 项目 order_project 中的 order_project.order_data Schema 下。订单处理部需要读取用户服务部的用户基础信息来完成订单处理。
  • 数据分析部需要访问两个部门处理后的最终结果数据,以便进行报表和分析。


资源分层结构:


640 (20).png


用户列表:


640 (21).png


自定义角色(通过 Calalog API 创建):


640 (22).png


权限配置与继承演示

初始状态: 所有用户(除了管理员)对所有项目、Schema、表均无权限。


权限配置由管理员进行操作。


步骤 1:配置用户服务部研发权限。

  • 目标:aliceuser_project 下的所有数据拥有完全权限(开发、维护、读取)。
  • 操作:将 Developer 角色授予 aliceuser_project 级别。
  • DCL:GRANT `namespaces/40822/roles/Developer` ON PROJECT user_project TO RAM$company:alice
  • 效果(权限继承):
  • alice 获得了 user_project 的所有权限。
  • 根据继承规则,alice 自动获得了 user_project.user_datauser_project.user_results 两个 schema 的 ListSchema, GetSchema 权限。
  • 同时,alice 也自动获得了这两个 schema 下的所有表(usersuser_profilesuser_summary)的 ListTableGetTableGetTableDataUpdateTableDataCreateTable 等权限。
  • 总结:通过在项目级别授权,alice 继承了对该项目内所有 Schema 和表的完整开发权限。


步骤 2:配置订单处理部研发权限。

  • 目标:boborder_project 下的所有数据拥有完全权限(开发、维护、读取)。
  • 操作 1:将 Developer 角色授予 boborder_project 级别。
  • DCL:GRANT `namespaces/40822/roles/Developer` ON PROJECT order_project TO RAM$company:bob
  • 效果:boborder_project 及其所有 Schema 和表拥有完全权限(同 alice 的情况)。
  • 操作 2:DataViewer 角色授予 bobuser_project.users_data.users 表上。
  • DCL:GRANT `namespaces/40822/roles/DataViewer` ON TABLE user_project.users_data.users TO RAM$company:bob
    效果:bob 获得了对 users 表的读取权限。注意,这里没有给 bob user_projectuser_data Schema 的写权限,仅限读取这张特定的表。
  • 继承说明:这个权限是直接授予表的,不涉及向上或向下的继承。它精确地满足了bob 读取特定依赖数据的需求,而不会继承到 users 表所在 Schema 的其他表或整个项目。


步骤 3:配置数据分析师权限

  • 目标:carol 能读取两个部门的结果数据(user_summaryorder_summary)。
  • 操作 1:将 DataViewer 角色授予 caroluser_project.user_results Schema 上。
  • DCL:GRANT `namespaces/40822/roles/DataViewer` ON SCHEMA user_project.user_results TO RAM$company:carol
  • 效果(权限继承):
  • carol 获得了对 user_project.user_results Schema 的 GetSchemaListTable 权限。
  • 通过继承,carol 自动获得了该 Schema 下所有表(如 user_summaryry)的 GetTableGetTableData 权限。
  • 操作 2:DataViewer 角色授予 caroloder_project.order_results Schema 上。
  • DCL:GRANT `namespaces/40822/roles/DataViewer` ON SCHEMA order_project.order_results TO RAM$company:carol
  • 效果:和 user_results 类似,carol 获得了 oder_project.order_results Schema 下所有的读权限。


  • 总结:通过在两个结果 Schema 级别授权carol 利用权限继承机制,获得了访问这两个 Schema 下所有结果表的只读权限,而无需对每张表单独授权。

基于 PolicyTag 策略标签的动态数据脱敏


为满足 GoTerra 对敏感数据访问的严格控制和合规要求,我们引入了基于策略标签 (Policy Tag) 的集中式动态数据脱敏功能。该功能借鉴了 Google BigQuery 的先进理念,并结合阿里云生态进行了优化,提供了灵活、可复用且支持层级结构的列级访问控制和数据脱敏能力。


核心概念

  • 动态脱敏:无需用户修改现有查询 SQL,数据被访问时系统会根据访问者身份对敏感数据列进行脱敏处理,确保数据在查询、下载、关联分析、UDF 计算时已经处于脱敏状态,有效避免个人信息等数据的泄露风险。
  • 策略标签 (Policy Tag):这是附加到表列上的元数据标签,用于标识该列的数据敏感性(如 PII、财务数据、机密信息等)。
  • 分类法 (Taxonomy):策略标签可以组织成树状结构的分类法。一个分类法可以包含多个策略标签,策略标签之间可以有父子层级关系。这种层级结构支持权限的继承和精细化管理。
  • 数据策略 (Data Policy):与策略标签关联的规则,定义了对该标签标记的列数据的访问行为。主要类型包括:
  • 列级安全策略 (COLUMN_LEVEL_SECURITY_POLICY):定义哪些用户或角色可以访问(读取)被该标签标记的列数据。
  • 数据脱敏策略 (DATA_MASKING_POLICY):定义当用户无权访问原始数据时,应如何展示脱敏后的数据(例如,显示为 NULL、默认值、或经过哈希处理的值)。
  • 预定义角色
  • MaskedReader:被授予此角色的用户,可以读取被策略标签标记的列的脱敏后数据。
  • FineGrainedReader:被授予此角色的用户,可以读取被策略标签标记的列的原始、未脱敏数据。


工作流程

1. 定义分类法和策略标签:在命名空间创建分类法,并在其中定义策略标签及其层级关系。

2. 配置数据策略:为每个策略标签创建数据策略,指定其列级安全规则和数据脱敏规则。

3. 分配角色:将 MaskedReaderFineGrainedReader 角色授予给加入到 MaxCompute 中的 RAM 用户或角色,并绑定到特定的策略标签上。

4. 应用策略标签:将定义好的策略标签应用到表的相应列上。

5. 查询与生效:用户查询表时,系统根据其被授予的角色和查询的列所关联的策略标签,动态决定返回原始数据、脱敏数据或拒绝访问。


集中式管理与跨项目复用

策略标签、分类法和数据策略均定义在命名空间层级。由于一个命名空间通常对应一个云账号,这意味着可以在账号级别集中创建和管理一套统一的策略标签体系。这套体系可以被应用于该命名空间下所有项目内的表,极大地简化了多项目环境下的数据安全管理,确保了策略的一致性。


下面,我们通过一个虚构的样例,来演示如何通过策略标签的层级结构和角色分配,实现非常精细的访问控制。


假设有一个用户画像表 proj1.schema1.user_profiles


640 (23).png


  • 策略标签设置
  • 创建一个名为 sensitive_data 的分类法。
  • sensitive_data 下创建 PII 标签。
  • 创建 IDContact 标签,作为 PII 的子标签。
  • 创建 Confidential 标签。
  • 创建 Financial 标签,作为 Confidential 的子标签。


  • 标签应用
  • idCardNumber 列应用 ID 标签。
  • priority 列应用 Confidential 标签。
  • lifetimeValue 列应用 Financial 标签。
  • email 列应用 Contact标签。


  • 数据策略与角色分配
  • PII 标签配置数据脱敏策略(如 ALWAYS_NULL),并为用户 user1,user2,user3,user4 分配 MaskedReader 角色。
  • ID 标签上,为用户 user2 分配 FineGrainedReader 角色。
  • 在 Confidential 标签上,为用户 user3 分配 FineGrainedReader 角色。
  • Financial 标签配置数据脱敏策略(如 SHA256 哈希),并为用户 user4 分配 MaskedReader 角色。


经过上述配置后,策略标签的树状结构,以及每个标签的角色分配如下图所示:


0 (1).png


接下来,我们将创建好的策略标签绑定到表的不同列上,如下表所示。


640 (24).png


根据与列关联的标签,运行 SELECT * FROM proj1.schema1.user_profiles; 会对不同的用户产生以下结果:


user1:该用户已被授予 PIIConfidential 策略标签的 MaskedReader 角色。返回以下结果:


640 (25).png


user2:该用户已被授予 ID 策略标签的 FineGrainedReader 角色。返回以下结果:


640 (26).png


user3:该用户已被授予 Confidential 策略标签的 FineGrainedReader 角色。返回以下结果:


0 (2).png


user4:该用户已被授予 Financial 策略标签的 MaskedReader 角色。返回以下结果:


640 (27).png


所有其他用户: 任何不属于上述列出组的用户都会收到访问被拒绝的错误,因为他们尚未被授予 FineGrainedReaderMaskedReader 角色。要查询 proj1.schema1.user_profiles 表,他们必须在 SELECT 语句中指定他们有权访问的列。


跨账号用户管理及访问控制


在企业级环境中,基于业务需求、部门职能、资产管理及合规要求的差异,通常会设立多个云账号以实现资源的有效管理和隔离,例如:数据管理方拥有专门的账号和项目空间用于集中存储与写入数据;各业务部门则通过独立的账号和项目空间执行特定任务的数据处理工作;安全部门同样配置有专用项目空间来进行安全审计等活动。


为了确保对敏感信息的严格访问控制,在实际操作过程中,数据管理者需直接负责权限分配,即由数据提供方向具体的数据使用方授予访问权限。这样一来,虽然业务使用者利用自身项目中的计算能力来处理数据,但其访问外部(即数据提供方)项目中的数据时,必须遵循预先设定好的授权规则。这种方法不仅加强了数据安全性,还促进了跨团队间的协作效率。


在多账号环境下,我们基于资源目录(RD)实现了跨主账号的身份授权边界,并提供了细粒度的权限管理能力。这使得企业的数据管理员能够在 MaxCompute 内统一管理同一 RD 下的用户,将这些云账号中的 RAM 用户和角色添加为 MaxCompute 的成员,并进行详细的权限配置,无需额外设置委托授权。这样不仅确保了数据权限完全由数据所有者掌控,还减少了对主账号身份依赖所带来的安全风险。


同时,为了防范未经授权的外部人员获取敏感信息,我们允许用户通过 RD 控制策略来限制哪些用户可以被添加至特定 MC 项目之中,同时简化了多账号场景下的安全管理流程。


以下为 RD 控制策略,限制只允许同一个 RD 之下的 RAM 用户和角色被添加到 MaxCompute:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
              "odps:AllowCrossAccountAddUser"
          ],
          "Resource": "*",
          "Condition": {
            "Bool": {
              "odps:InSameRD": [
                "false"
              ]
            }
          }
        }
      ]
    }

    03 从权限体系升级看企业价值


    对于像 GoTerra 这样的大型企业而言,其大数据业务具有高度复杂性,这不仅体现在技术层面的数据处理与分析上,还反映在其支撑这一业务运作的组织架构之中。鉴于此,企业在权限管理体系方面面临着既要确保管理便捷性又要实现精细化控制的双重挑战。因此,构建一个既能够支持高效运维又具备强大灵活性和可扩展性的权限管理系统成为了此类企业不可或缺的核心能力之一。


    以此为契机,我们实现了如下特性:

    • 引入全新的层级结构,提供了完整、分层的管理和控制体系
    • RD 解决了跨账号的安全边界问题。
    • 命名空间提供了更高层次的统一管理和策略定义点。
    • 项目是核心的资源和安全边界
    • Schema 增加了逻辑分组中间层授权的能力。
    • 是最终的数据载体,支持最细粒度的权限控制列级安全(通过策略标签)。


    • 支持权限在层级化资源上的自动继承
    • 简化管理:通过在较高层级授予权限,可以利用继承自动将权限应用到下层所有对象,大大减少了重复的授权操作。
    • 精确控制:当需要更精细的权限时,可以在特定层级(如 Table)直接授予权限,且该权限不会自动继承到其他对象,满足了特定的跨部门数据依赖需求。
    • 职责分离:不同的用户根据其职责获得了恰到好处的权限,既保证了工作效率,又保障了数据安全。


    • 引入基于策略标签的动态数据脱敏功能
    • 强化数据安全与合规:集中定义敏感数据标签并关联脱敏策略,有效防止敏感信息泄露,满足企业合规要求。
    • 灵活精细的访问控制:策略标签支持层级结构和继承,允许在标签层级统一定义访问规则(原始数据或脱敏数据),并可应用于具体列,实现了真正的列级精细化控制。
    • 提升数据协作效率:不同角色可根据权限看到不同级别的数据视图,既保证安全又促进了安全的数据共享。
    • 降低管理复杂度:策略标签和数据策略在命名空间级别集中管理、跨项目复用,简化了大规模环境下的敏感数据治理,确保策略一致性。


    • 强化跨域访问控制与安全合规
    • 通过基于资源目录(RD)的身份边界控制和精细化的层级权限体系,有效防止了跨账号的非授权访问,满足了企业在多账号环境下严格的合规与数据安全要求,简化了安全管理流程。

    04 结语与展望


    此套系统已经在今年 3 月发布到印尼,支撑 GoTerra 线上业务


    同时我们还将在以下方向进一步探索:

    • 权限系统的智能化:引入 AI 技术,自动推荐权限配置,降低权限管理复杂度。
    • 脱敏策略的自动化:基于数据内容自动识别敏感信息,动态应用脱敏策略。


    通过与 GoTerra 的深度合作,MaxCompute 正在成为企业级大数据平台的标杆,为全球用户提供安全、可靠、高效的数据处理服务。此次 GoTerra 搬站项目不仅是一次技术迁移,更是 MaxCompute 产品能力的一次全面提升。我们相信,这些为企业级数据安全和访问控制打造的新特性,在确保数据安全和合规的前提下,将帮助更多企业实现数据价值的最大化。

    相关实践学习
    基于MaxCompute的热门话题分析
    Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
    相关文章
    |
    19天前
    |
    SQL 缓存 分布式计算
    【跨国数仓迁移最佳实践5】MaxCompute近线查询解决方案助力物流电商等实时场景实现高效查询
    本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第5篇,解析跨国数仓迁移背后的性能优化技术。 注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。
    |
    1月前
    |
    SQL 分布式计算 运维
    【跨国数仓迁移最佳实践3】资源消耗减少50%!解析跨国数仓迁移至MaxCompute背后的性能优化技术
    本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第3篇,解析跨国数仓迁移背后的性能优化技术。 注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。
    |
    存储 数据采集 安全
    瓴羊Dataphin数据安全能力再升级,内置分类分级模板、上线隐私计算模块
    瓴羊Dataphin数据安全能力再升级,内置分类分级模板、上线隐私计算模块
    377 0
    |
    2月前
    |
    存储 SQL 人工智能
    【跨国数仓迁移最佳实践1】Append Delta Table 统一存储格式创新
    本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第一篇,跨国数仓迁移背后 MaxCompute 的统一存储格式创新。 注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。
    |
    4月前
    |
    存储 缓存 分布式计算
    StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
    本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
    StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
    |
    8月前
    |
    存储 安全 Cloud Native
    从数据风险出发的云上数据安全最佳实践
    本文介绍了从数据风险出发的云上数据安全最佳实践,涵盖数据泄露现状及原因分析,以及基于云的安全机制。文章详细探讨了以云为基础实现数据全链路可视可控的方法,包括资产可见可控、数据安全中心、治理闭环和自动化智能化的数据安全治理能力。通过云原生方案,企业可以更高效地识别、预警和处置数据风险,确保数据安全。文中还提到多项免费工具和服务,帮助企业降低数据泄露风险并减少安全投入。
    276 60
    |
    8月前
    |
    SQL 监控 关系型数据库
    用友畅捷通在Flink上构建实时数仓、挑战与最佳实践
    本文整理自用友畅捷通数据架构师王龙强在FFA2024上的分享,介绍了公司在Flink上构建实时数仓的经验。内容涵盖业务背景、数仓建设、当前挑战、最佳实践和未来展望。随着数据量增长,公司面临数据库性能瓶颈及实时数据处理需求,通过引入Flink技术逐步解决了数据同步、链路稳定性和表结构差异等问题,并计划在未来进一步优化链路稳定性、探索湖仓一体架构以及结合AI技术推进数据资源高效利用。
    646 25
    用友畅捷通在Flink上构建实时数仓、挑战与最佳实践
    |
    10月前
    |
    人工智能 安全 Cloud Native
    |
    10月前
    |
    缓存 监控 大数据
    构建高可用AnalyticDB集群:最佳实践
    【10月更文挑战第25天】在大数据时代,数据仓库和分析平台的高可用性变得尤为重要。作为阿里巴巴推出的一款完全托管的PB级实时数据仓库服务,AnalyticDB(ADB)凭借其高性能、易扩展和高可用的特点,成为众多企业的首选。本文将从我个人的角度出发,分享如何构建和维护高可用性的AnalyticDB集群,确保系统在各种情况下都能稳定运行。
    140 0