category
想象一下,在城市上空翱翔,风景在下面伸展开来,每一栋建筑,每一条道路,每一辆汽车在他们的一天中行驶。这是从直升机上看到的视图——一种允许您一次看到所有内容的视角,但能够专注于特定细节。这是Microsoft Fabric的一个适当类比,它是一个包罗万象的分析解决方案,提供了企业数据环境的全面视图。
在本文中,我们将讨论MicrosoftFabric,查看主要的体系结构概念,并讨论每个层关注的问题。在本文的结尾处,我们的目标是为个人关于域、工作区、湖泊的数量以及它们如何相互对应的常见问题提供答案。在本文本身中,我们将使用直升机乘坐的类比来讨论不同的抽象级别。当我们飞越Fabric并走近它时,我们将强调影响其体系结构、部署模式和设计考虑事项的重要元素,以及要考虑的其他基本因素。
Microsoft Fabric-概述
Microsoft Fabric是一种一体式分析解决方案,旨在满足企业的需求。它涵盖了从数据移动到数据科学、实时分析和商业智能的一切。Microsoft Fabric于2023年春季预览推出,并于2023年底正式上市。
Microsoft Fabric brings together new and existing components from Power BI, Azure Synapse, and Azure Data Factory into a single integrated environment. These components are then presented in various customized user experiences. The data lake is the foundation on which all the Fabric services are built. Microsoft Fabric Lake is also known as OneLake.
Microsoft Fabric是一个SaaS平台
随着我们的起飞,我们获得了Microsoft Fabric的最广泛视图。在这个层面上,我们看到了基础。微软选择的方法是独特和重要的。Microsoft Fabric是一个软件即服务(SaaS)平台。这意味着Microsoft为许多不同的服务处理集成和大多数基础架构管理和配置。因此,不再部署基础架构。不再编写基础架构模板,也不再考虑存储帐户的数量。向SaaS的转变也消除了订阅的需要。
在租户级别启用Microsoft Fabric。全局管理员可以使用简单的交换机在PowerBI管理门户中激活Microsoft Fabric。根据您的需求,Fabric变得可供租户或所选用户组中的每个人访问。有关详细信息,请参阅下面的屏幕截图。
Screenshot of Microsoft Fabric. The Microsoft Fabric admin switch lets organizations that use Power BI enable Microsoft Fabric.
租户级别还充当第一个安全边界。每个租户始终维护其唯一的Microsoft Entra ID,以前称为Azure Active Directory。这意味着租户的身份和访问管理是主要的防线。事实上,在登录到基于web的SaaS平台时,身份验证由Microsoft Entra ID处理。因此,要限制Microsoft Fabric中的用户访问,可以建立多因素身份验证或条件访问策略。此步骤确保您组织的数据具有更高级别的安全性。
Microsoft Fabric支持面向域
将鼠标悬停在Microsoft Fabric的管理设置上,您可以配置域。域充当与组织中的特定区域或字段相关的所有数据和工件(如笔记本)的逻辑组。此功能对于较大的组织特别有用,因为它允许按业务能力、职能领域或部门对数据进行分组。这使用户能够根据其独特的管理法规、限制和需求管理其数据。
以一家大型电子商务公司为例。该公司通常在几个不同的业务部门(如财务、市场营销、运营等)下有许多团队。在这种情况下,域可以表示部门本身,如“财务”。然后,可以将管理用户和工作区的责任和权限委派给特定的域管理员或贡献者。
Fabric所需的域数量因公司而异。一些公司拥有许多不同的业务领域,而另一些公司在管理大规模数据方面可能较小或较不先进。这些公司可能会选择拥有较少数量的域,但随着团队的扩大,管理更多的数据集。如果您想了解更多关于这方面的信息,我鼓励您阅读我关于数据域的其他文章。
需要注意的是,域主要用于隔离管理或管理关注点。域不用于命令谁有权访问数据或其他工件。数据和工件的安全性和访问在不同的层上解决,我们将在下一步深入研究。
工作区
随着直升机的下降越来越近,我们可以更详细地看到Microsoft Fabric的各种功能。工作空间是Microsoft Fabric的关键组件,为用户提供协作环境,以处理数据摄取、机器学习、笔记本、实时分析、湖泊、仓库和报告。工作空间将用户与代码和工件的区域、容量和版本控制系统连接起来。让我们更深入地研究这些方面
Microsoft Fabric is divided into several logical layers. Each layer has its own management and characteristics.
与区域的关系意味着所有关联的存储都在工作区的分配区域内管理。这对于具有严格地理数据隔离要求的全球公司特别有用。例如,如果业务部门或域需要在欧洲和美国之间分离数据,则利用多个工作空间可以帮助满足这些需求。因此,具有多个本地化平台实例的单个域可能具有许多工作空间。
与版本控制系统的链接有助于管理部署过程,并分离与开发、测试、验收和生产相关的关注点。这意味着每个开发阶段都将有一个专用的工作区。例如,开发、测试和生产将有单独的工作区。
与容量的关联是指促进各种体验和活动所需的计算能力。可以跨工作区和域实施容量协调。例如,可以在所有域的所有开发工作区之间共享单个容量单元。或者,高需求生产环境可能具有其专用容量。因此,要在域中优化和分离计算密集型工作负载,使用额外的工作空间可能是一种有效的策略。
工作空间还充当管理权限的安全边界。在工作空间级别,有不同的角色,如管理员、成员、贡献者和查看器。每个角色在工作区中具有不同的权限和限制。但工作空间也可以用于分离活动或数据分发。Microsoft Fabric引入了在其他地方管理的数据的快捷方式或引用的概念,添加了另一种解耦到工作区的方法。考虑一个生产环境,您希望为某些用户提供对探索和实验活动的只读访问。这可以通过设置新的工作区并创建指向其中其他工作区的只读快捷方式来实现。这种隔离方法也可以用于与其他域共享数据,例如,提供所有数据产品数据所在的工作区。
未来,工作空间还可以通过私有端点促进连接。这再次符合关注点分离的原则。例如,如果您希望将架构的某些部分限制为仅与特定的其他部分连接,则建立额外的工作空间将启用此功能。
总之,工作空间是MicrosoftFabric的基本组成部分,域可能至少有几个。为开发、测试和生产建立单独的工作区是隔离的基本方法。然而,根据您的特定需要,您可能需要域的其他工作区。
项目(Item)级管理
除了工作区级别的管理之外,您还可以使用项目级别的权限管理来控制和管理特定的工件。在Microsoft Fabric中,各种元素(如报告、笔记本、管道、湖泊和仓库)共存于统一的工作空间中。然而,这些项目中的权限配置设置可能会有所不同。
为了说明这是如何工作的,让我们以来自域的工作空间中的Medallion架构为例。Medallion架构是一种流行的设计模式,组织使用它来逻辑组织Lakehouse中的数据。这是Fabric的关键设计方法。
典型的Medallion架构分为三个不同的层或区域,每个层或区域代表存储在Lakehouse中的数据的质量。级别越高,数据质量越高。在MicrosoftFabric中,最佳实践是让每个层对应于单独的Lakehouse实体。每个Lakehouse都在OneLake中管理其数据,并附带内置的SQL端点。该功能解锁了数据仓库功能,而无需在层之间移动数据。因此,要在MicrosoftFabric中实现典型的Medallion架构,您需要创建三个项目:青铜湖屋、银湖屋和黄金湖屋。
在开发、测试、验收和生产(DTAP)之间进行部署的系统工作流通常涉及克隆工作空间。如果是这样,则每个环境都至少有三个湖泊或仓库。因此,对于DTAP,湖泊的数量将乘以3,从而得出四个环境总共12个湖泊。
可以为每个单独的项目设置访问权限。例如,没有工作区角色的用户可以通过单个项目权限设置获得额外的读取或编辑权限。例如,让我们考虑Medallion架构中黄金层的访问管理。您可以允许额外的用户通过SQL端点进行只读访问。当您希望仅提供对黄金层中的高质量数据的访问,而不是整个体系结构的访问时,这可能很方便。或者,对于需要在Bronze生产环境中调试但不允许查看其他数据的开发人员,它可能很有用。
Microsoft Fabric also allows for granting permission directly. Depending on the item being shared, you may find a different set of permissions that you can grant to recipients when you share. In the example of a Lakehouse, you can set additional permissions for using SQL endpoints, using Apache Spark and building reports.
湖舍作为实体,也可以提供额外的(保护)隔离级别。假设您有一个大型的域团队管理许多应用程序,并且不是所有用户都被允许查看所有原始数据。或者,多个较小的团队接收数据,并且您希望将管道与写入相同位置的管道分开。在这种情况下,您可以选择额外的Lakehouses,允许每个小团队对自己的数据进行操作。
总之,根据您的设计或需求,工作区可能包含比青铜、银色和金色的典型三个湖屋更多的湖屋。
细粒度安全管理
当我们降落在Lakehouse或Warehouse中时,我们可以看到Microsoft Fabric的更精细的细节。为了增强仓库或Lakehouse的SQL端点的读取访问控制,还可以使用SQL策略引入进一步的限制。一旦设置了SQL策略,例如,通过GRANT/DENY SQL指令,任何访问数据的人都将受到SQL策略中概述的对象级安全性的约束。
例如,考虑跨国公司的员工数据仓库。仓库包括一个表,其中包含来自世界各地的员工记录,每个记录(或行)都包含员工所在国家/地区的属性。使用SQL策略(如行级安全性),我们可以确保经理只能查看与他们在同一国家/地区工作的员工的记录。
OneLake
当你驾驶直升机通过各个层面时,有一个不容忽视的关键层面。该逻辑层用作存储和管理所有数据的基础,称为OneLake。OneLake是一个开放存储层,构建在Azure数据湖存储(ADLS)Gen2之上,并使用开源的Delta Parquet格式。
在租户级别启用Fabric时,OneLake将自动配置为整个组织的单个逻辑数据池。尽管工作区、湖泊和仓库在不同的部分上对齐和操作,但OneLake充当了一股统一的力量。
OneLake包括一个轻量级数据虚拟化层,允许快捷方式和引用其他存储位置,甚至OneLake之外的存储位置,如Azure或Amazon Web Services(AWS)。在讨论工作空间的数量时已经提到了这一点。此外,Microsoft Fabric引入了镜像,它可以实时复制数据库快照。这些副本保持近乎实时的同步。
A Lakehouse in Microsoft Fabric can be combination of delta tables, shortcuts and data that is mirrored in near real-time. Data within this Lakehouse can even be be cross joined. This allows for near real-time operational reporting or analytics.
这些模式的好处是,湖泊和仓库可以像不同数据池的聚合体一样工作。例如,青铜层可以设计为摄取数据的一部分,快捷方式另一部分,并通过实时同步复制另一部分。上面的架构可视化了这种方法。
快捷方式也可能发生在工作空间中的消费端,导致各种消费者架构模型。例如,只专注于报告的团队可以直接访问数据。如果数据已经在不同域的工作空间中处理,则另一个团队可能会绕过Browner层。同时,不同的团队可以集成和组合数据,然后直接与其他团队共享。
从上面的讨论中我们可以得出的结论是,OneLake促进了各种架构场景,而不需要数据移动或复制。
总之
在前面的部分中,我们快速检查了架构级别上的各种层和设计概念。在这方面,需要注意的是,所讨论的功能只是Microsoft Fabric综合功能的一小部分。该平台不仅仅扩展到域、工作区和湖泊。它拥有Copilot和额外的生成人工智能功能,简化了构建笔记本、创建报告和开发SQL代码的过程。
Microsoft Fabric配备了时间序列数据库,能够在几秒钟内处理数十亿条记录。它还提供实时分析,并与事件流、窗口和类似功能兼容。该平台具有机器学习功能,并与Purview数据治理无缝集成。
在计算和存储解耦方面,Microsoft Fabric可以处理各种计算引擎,如Spark、SQL、kSQL、PowerBI等。这些引擎可以大规模并发操作TB级的数据。所有这些都可以在不需要基础架构管理的情况下实现,从而提供简化的软件即服务(SaaS)体验。
总之,从直升机的角度来看,Microsoft Fabric似乎是一个用于企业分析的综合集成解决方案。它提供了整个数据环境的全面视图,但也提供了在各个级别(从工作空间到单个项目和对象)保护和分发数据的健壮方法。作为软件即服务(SaaS)平台,它简化了基础架构管理和配置。通过提供如此广泛和详细的数据视图,Microsoft Fabric为企业提供了一个强大的数据平台。
- 登录 发表评论
- 39 次浏览
最新内容
- 13 hours 6 minutes ago
- 15 hours ago
- 15 hours 39 minutes ago
- 3 days 6 hours ago
- 3 days 14 hours ago
- 3 days 14 hours ago
- 3 days 15 hours ago
- 3 days 15 hours ago
- 1 week 1 day ago
- 1 week 1 day ago