你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure 中扩展云规模分析
可扩展的数据平台对于企业适应数据的快速增长至关重要。 全世界每秒钟都会产生大量数据。 预计可用数据量将在未来几年继续呈指数增长。 随着数据生成速率的增加,数据移动的速度也随之增加。
无论拥有多少数据,用户都需要快速查询响应。 他们希望等待几分钟就能获得结果,而不是几小时才能得到结果。 本文介绍如何缩放 Azure 云缩放分析解决方案,并继续满足用户对速度的需求。
介绍
许多企业都有大型数据平台整体。 这些单体是围绕单个 Azure Data Lake Gen2 帐户构建的,有时是单个存储容器。 单个 Azure 订阅通常用于所有与数据平台相关的任务。 大多数架构平台都没有订阅级别扩展,如果用户遇到任何 Azure 订阅或服务级别限制,这可能会阻碍继续采用 Azure。 尽管某些约束是软限制,但达到这些约束仍会对数据平台产生重大负面影响。
构建数据平台时,请考虑组织的结构。 记下团队的数据所有权和功能责任。 如果你的组织给予团队很大程度的自主权和分布式所有权,那么数据网格架构是你的最佳选择。
避免让不同的团队负责解决方案的各个任务(例如引入、清理、聚合和服务)的情况。 根据多个团队,可能会导致速度急剧下降。 例如,如果服务层上的数据使用者需要载入新数据资产或实现特定数据资产的功能更改,则必须完成多步骤过程。 对于此示例,步骤如下:
- 数据使用者向负责数据管道阶段的每个团队提交票证。
- 团队必须同步协同工作,因为层是相互连接的。 新服务需要对数据清理层进行更改,这会导致数据聚合层的更改,这会导致服务层的更改。 这些更改可能会影响每个管道阶段。
- 团队很难看到处理更改的潜在影响,因为它们没有整个端到端生命周期的概述。 它们必须共同努力,设计一个定义完善的发布计划,以最大程度地减少对现有使用者和管道的影响。 此依赖项管理会增加管理开销。
- 根据规则,团队并不关注数据使用者请求的数据资产专家。 若要了解新的数据集特征或参数值,他们必须咨询专家。
- 实现所有更改后,数据使用者将收到新数据资产可供使用通知。
每个大型组织都有数千个数据使用者。 一个复杂的过程,如描述的大型体系结构中的严重降低速度,因为集中式团队成为业务部门的瓶颈。 结果是创新较少,有效性有限。 可能,业务部门可以决定离开服务并构建自己的数据平台。
扩展方法
云缩放分析使用两个核心概念解决缩放难题:
- 使用数据登陆区域进行缩放
- 使用数据产品或数据集成进行缩放,使分布式和分散的数据所有权成为可能
可以部署单个数据登陆区域或多个数据登陆区域。 通过连接到数据管理登陆区域,可以发现和管理数据。 每个数据管理登陆区域都在单个 Azure 订阅中。
订阅是 Azure 的管理、计费和缩放单元。 它们在大规模 Azure 采用计划中发挥着关键作用。
使用数据登陆区域进行扩展
云规模分析的核心概念是数据管理登陆区域和数据登陆区域。 应将每个订阅放在其自己的 Azure 订阅中。 分离这些任务可以明确分离职责、遵循最低特权原则,并部分解决之前提及的订阅规模问题。 最少的云规模分析设置包括单个数据登陆区域和单个数据管理登陆区域。
但是,对于大规模数据平台部署,最少的设置是不够的。 公司构建大规模平台,并投入大量资金,以一致高效地扩展其数据和分析工作。 为了克服订阅级限制,云缩放分析使用订阅作为缩放单元,如 Azure 登陆区域中所述。 通过此方法,可以通过向体系结构添加更多数据登陆区域来提高数据平台占用量。 采用此方法还解决了一个 Azure Data Lake Gen2 用于整个组织的问题,因为每个数据登陆区域都包含三个数据湖。 来自多个域的项目和活动可以分布在多个 Azure 订阅中,从而提供更大的可伸缩性。
在实施云规模分析体系结构之前,确定组织需要多少数据登陆区域。 做出正确的决策为有效高效的数据平台奠定了基础。
所需的数据登陆区域数取决于许多因素,尤其是:
- 组织一致性,例如多少个业务部门需要自己的数据登陆区域
- 运营注意事项,例如组织如何使特定于业务部门的操作资源和资源保持一致。
使用正确的数据登陆区域模型可以最大程度地减少将来将数据产品和数据资产从一个登陆区域移到另一个登陆区域的努力。 它还有助于在将来有效且一致地缩放大数据和分析工作。
确定要部署的数据登陆区域数时,请考虑以下因素。
因子 | 说明 |
---|---|
组织结构和数据所有权 | 考虑组织的结构和数据在组织中拥有的方式。 |
区域和位置 | 如果在多个区域中部署,请确定哪些区域或区域应托管数据区域。 请务必遵守所有数据驻留要求。 |
配额 | 订阅配额不是容量保证,并且会按区域应用。 |
数据主权 | 由于数据主权法规,数据必须存储在特定区域中,并遵循特定于区域的策略。 |
Azure 策略 | 数据登陆区域必须遵循各种 Azure 策略的要求。 |
管理边界 | 订阅为治理和隔离提供了一个管理边界,明确区分了关注点。 |
网络 | 每个登陆区域都有一个虚拟网络。 由于虚拟网络驻留在单个区域中,因此每个新区域都需要一个新的登陆区域。 虚拟网络必须是对等虚拟网络才能启用跨域通信。 |
限制 | 订阅有限制。 通过有多个订阅,可以缓解达到这些限制的危险。 |
成本分配 | 考虑是否应按业务部门或域拆分共享服务(例如以集中方式付费的存储帐户)。 使用单独的订阅可创建成本分配的边界。 可以使用标记实现相同的功能。 |
数据分类和高度机密数据 | 安全机制可能会影响数据产品开发和数据平台的可用性。 考虑数据分类,并确定高度机密数据集是否需要特殊处理,例如实时访问、客户管理的密钥(CMK)、精细的网络控制,还是更多加密。 |
其他法律或安全影响 | 考虑是否需要逻辑或物理分离数据的任何其他法律或安全要求。 |
如果实现数据网格体系结构,请考虑以下因素,因为决定如何分配数据登陆区域和数据域。
因子 | 说明 |
---|---|
数据域 | 考虑组织使用的数据域,并决定哪些域将在数据平台上使用。 请考虑单个数据域的大小。 有关详细信息,请参阅 什么是数据域? |
延迟 | 协作处理大量数据的域可以跨登陆区域传输大量数据。 请考虑在同一登陆区域或区域中分配域。 分离它们会增加延迟,并可能会增加跨区域域的成本。 |
安全性 | 某些服务部署或配置需要在订阅中提升权限。 将这些权限授予一个域中的用户会隐含地授予该用户在同一订阅内的其他域中的相同权限。 |
可以在订阅的云采用框架指南中找到更多注意事项。
许多组织希望高效缩放其企业数据平台。 业务部门应能够构建自己的数据解决方案和应用程序,以满足其独特的要求。 提供这种能力可能是一个挑战,因为许多现有的数据平台并不是围绕可扩展性和分散所有权的概念构建的。 这些数据平台的体系结构、团队结构和运营模型清楚地显示了这种缺陷。
数据登陆区域不会在你的组织内创建数据孤岛。 为云规模分析推荐的网络设置可实现跨登陆区域的安全和就地数据共享,从而实现跨数据域和业务部门的创新。 若要了解详细信息,请查看网络体系结构注意事项。
标识层也是如此。 使用单个 Microsoft Entra 租户时,可以向标识授予对多个数据登陆区域中的数据资产的访问权限。 若要详细了解用户和标识授权过程,请参阅 数据访问管理。
注意
如果有多个数据登陆区域,每个区域都可以连接到其他区域中托管的数据。 这样,组就可以跨业务进行协作。
云规模分析使用通用架构来倡导一致的治理。 体系结构定义了基线功能和策略。 所有数据登陆区域都遵循相同的控制和审核。 团队可以创建数据管道、引入源和创建数据产品,例如报表和仪表板。 团队还根据需要执行 Spark/SQL 分析。 可以通过向策略中的功能添加服务来增强数据登陆区域功能。 例如,团队可以添加第三方图形引擎来满足业务需求。
云规模分析强调集中编录和分类,以保护数据,并使各种组能够发现数据产品。
注意
建议针对跨区域查询数据。 相反,请确保数据接近使用它的计算,同时尊重区域边界。
云规模的分析体系结构和数据登陆区域的概念使组织能够随着时间的推移轻松增加数据平台的大小。 可以分阶段添加更多数据登陆区域。 客户无需先具有多个登陆区域。 采用此体系结构时,优先考虑几个数据登陆区域及其包含的数据产品。 适当的优先级有助于确保云规模分析部署的成功。
使用数据产品或数据集成进行缩放
在每个登陆区域中,组织可以使用数据应用程序进行缩放。 数据应用程序是数据体系结构的单元或组件,它封装了提供读取优化的数据产品供其他数据应用程序使用的功能。 在 Azure 中,数据应用程序是资源组形式的环境,使跨职能团队能够实现数据解决方案和工作负载。 关联的团队负责数据解决方案的端到端生命周期,其中包括引入、清理、聚合和服务任务。
云规模分析解决了前面讨论的数据集成和责任问题。 参考设计提供由数据域驱动的分布式体系结构,而不是表引入和源系统集成的单一功能责任。 跨职能团队接管数据范围的端到端功能责任和所有权。
你可以跨多个自治跨职能数据集成团队分配端到端责任,而不是拥有集中式技术堆栈和负责数据处理工作流的所有任务的团队。 每个团队拥有一个域或子域功能,并被鼓励按照数据使用者的要求为数据集提供服务。
这些体系结构差异会导致数据平台上的速度提高。 数据使用者不再需要依赖一组集中式团队,也不必为请求的更改设置优先级而战。 随着较小的团队接管你的端到端集成工作流程,数据提供者和数据消费者之间的反馈循环要短得多。 此方法可加快优先级、更快的开发周期和更敏捷的开发过程。 你的团队不再需要同步流程和发布计划,因为跨职能数据集成团队充分了解端到端技术堆栈以及更改的影响。 它可以使用软件工程实践来运行单元和集成测试,以最大程度地减少对使用者的整体影响。
理想情况下,拥有数据集成系统的团队也拥有源系统。 此团队应由在源系统、主题专家(SME)中为数据集、云工程师和数据产品所有者工作的数据工程师组成。 构建此类跨职能团队可减少与外部团队所需的通信量,在开发从基础结构到实际数据管道的完整堆栈时至关重要。
数据平台的基础是从源系统集成的数据集。 通过这些数据集,数据产品团队可以创新业务事实数据表并改进决策和业务流程。 数据集成团队和数据产品团队应向消费者提供 SLA,并确保满足所有协议。 提供的 SLA 可能与数据质量、时间线、错误率、运行时间和其他任务相关。
总结
通过使用云规模分析体系结构的缩放机制,组织会随着时间的推移在 Azure 中发展数据资产,同时避免已知的技术限制。 本文中所述的这两种缩放方法都有助于克服不同的技术复杂性,并可通过简单高效的方式使用。