The Path to Insights: Data Models and Pipelines(Google)
学到什么 #
你将学到什么: #
- Data’s function within an organization
数据在组织内的功能 - Why structured data is essential to business intelligence
为什么结构化数据对于商业智能至关重要 - How data models can be used to organize database systems
如何使用数据模型来组织数据库系统 - The distinctions between creating and querying a data model
创建和查询数据模型之间的区别 - The role of data warehouses, data marts, and data lakes in business intelligence
数据仓库、数据集市和数据湖在商业智能中的作用 - Strategies for creating and maintaining processes that meet organizational and stakeholder needs
创建和维护满足组织和利益相关者需求的流程的策略
您将培养的技能组合: #
- Applying data modeling to organize data elements and how they relate to one another
应用数据建模来组织数据元素以及它们之间的关系 - Retrieving data from a data source using pipelines, such as ETL
使用管道(例如 ETL)从数据源检索数据 - Transforming data into a usable format to answer specific business questions
将数据转换为可用的格式来回答特定的业务问题 - Designing data pipelines that automate business intelligence processes
设计自动化商业智能流程的数据管道 - Using data modeling to design data storage systems, including data warehouses, data marts, and data lakes
使用数据建模设计数据存储系统,包括数据仓库、数据集市和数据湖 - Using actual data to create a business intelligence portfolio project
使用实际数据创建商业智能组合项目
Module 1 #
数据建模、架构和数据库入门 #
课程2简介 #
作为 BI 专业人员,您不仅要回答团队的问题, 还要为他们提供数据来回答他们自己的问题。 通过确定他们需要的答案,您可以构建工具,使他们能够在需要时访问和使用所需的数据。 嘿,那里。欢迎来到这门课程。如果你已经完成了上一个,你可能会记得我,但如果你刚刚加入我们,我是 Ed。 我是 Google 的一名产品经理。 我非常高兴能帮助您开始使用数据模型以及提取、转换和加载或 ETL 管道。 正如您一直在学习的那样,BI 专业人员负责分析数据以生成有意义的见解并解决问题、回答问题、查找模式并为业务决策提供信息。 其中很大一部分是构建工具,为利益相关者提供持续的见解。 本课程将重点介绍这些工具以及如何自动化它们,以便从不同来源提取数据、监控数据并提供数据驱动的见解。 首先,您将了解设计模式和数据库架构,包括 BI 专业人员使用的常见结构。 您还将了解数据管道和 ETL 流程。 您已经了解了 ETL 代表提取、转换和加载。 这是指从源系统收集数据,将其转换为有用的格式,并将其引入数据仓库或其他统一目标系统的过程。 这将是您作为 BI 专业人员工作 的重要组成部分。您还将制定从利益相关者那里收集信息的策略,以帮助您为团队开发更有用的工具和流程。 之后,您将专注于数据库优化,以减少响应时间或数据库完成用户请求所需的时间。这将包括探索不同类型的数据库以及数据库性能、工作负载、吞吐量、资源、优化和争用这五个因素。最后,您将了解对 ETL 流程进行质量测试、验证数据库架构和验证业务规则的重要性。 完成本课程后,</b157>自动化、。影响。一些,这也是我很高兴在本课程
这是对该主题的简化解释:
数据模型和管道是任何数据驱动型组织的基础。数据模型是组织使用的数据的表示形式,数据管道是将数据从一个系统移动到另一个系统的过程。
数据模型可用于表示各种不同类型的数据,包括客户数据、产品数据和财务数据。它们可用于创建报告、仪表板和其他可视化效果,以帮助组织了解其数据并做出更好的决策。
数据管道用于将数据从一个系统移动到另一个系统。这样做的原因有很多,例如将数据加载到数据仓库中、创建数据备份或与其他组织共享数据。
ETL(提取、转换和加载)是一种常见的数据管道类型。ETL 过程涉及从源系统中提取数据,将其转换为与目标系统兼容的格式,然后将其加载到目标系统中。
对于任何想要使用数据来推动决策的组织来说,数据模型和管道都是必不可少的。通过了解这些概念,可以帮助您的组织更好地利用其数据。
以下是一些您可能认为有用的其他资源:
有用的资源和提示 #
作为学习者,您可以选择完成此计划中的一门或多门课程。但是,要获得 Google 商业智能证书,您必须完成所有课程。本阅读材料描述了获得证书所需的条件和最佳实践,以便您在 Coursera 上获得良好的学习体验。
获取 Google 商业智能证书
要获得官方的 Google 商业智能证书,您必须:
- 通过证书课程所有 3 门课程的所有评分作业。每门评分作业都是课程累积评分分数的一部分,每门课程的及格分数为 80%。
以及以下其中一项:
- 支付课程证书费用,
- 已获批Coursera 经济援助 或
- 通过赞助您参与的教育机构、雇主或机构完成证书。
完成课程的健康习惯
以下是帮助您及时完成计划中课程的最佳实践列表:
- 计划你的时间:设定定期的学习时间并每周遵循这些时间可以帮助你使学习成为你日常生活的一部分。使用日历或时间表创建时间表,并列出您每天计划做的事情,以便设定可实现的目标。找到一个空间,让您在观看视频、复习阅读和完成活动时集中注意力。
- 按照自己的节奏工作:每个人的学习方式都不同,因此该计划旨在让您按照自己的节奏工作。尽管您的个性化截止日期从您注册时开始,但请随时以最适合您的速度完成该计划。逾期作业不会受到处罚;要获得证书,您所要做的就是完成所有工作。您可以随时延长截止时间,方法是转到导航面板中的概述,然后选择切换会话。如果您已经错过了之前的截止日期,请改为选择“重置我的截止日期”。
- 保持好奇心:如果你发现一个让你兴奋的想法,那就行动起来吧!提出问题,在线搜索更多详细信息,探索您感兴趣的链接,并记下您的发现。您在此过程中为支持学习而采取的步骤将提高您的知识,在这个高增长的领域创造更多机会,并帮助您获得工作资格。
- 做笔记:笔记将帮助您在未来记住重要信息,尤其是在您准备进入新的工作领域时。此外,做笔记是在主题之间建立联系并更好地理解这些主题的有效方法。
- 复习示例:示例是完全符合活动标准的已完成作业。该计划中的许多活动都有示例供您验证您的工作或检查错误。尽管完成作业的方法通常有很多种,但示例提供了有关如何完成活动的指导和灵感。
- 与其他学习者(负责任地)聊天:如果您有问题,很可能,您并不孤单。使用 论坛向参加此课程的其他学习者寻求帮助。您还可以访问 Coursera 的全球在线社区.与他人一起学习时需要了解的其他重要事项可以在Coursera 荣誉代码和行为准则.
- 更新您的个人资料:考虑 更新您的个人资料在 Coursera 上包括您的照片、职业目标等。当其他学习者在论坛中找到您时,他们可以单击您的姓名以访问您的个人资料并更好地了解您。
课程活动的文档、电子表格、演示文稿和实验室
要完成该计划中的某些活动,您需要使用数字文档、电子表格、演示文稿和/或实验室。商业智能专业人员使用这些软件工具在其团队和组织内进行协作。如果您需要有关使用特定工具的更多信息,请参阅以下资源:
- Microsoft Word:帮助和学习:Word 的 Microsoft 支持页面
- 谷歌文档:Google 文档的帮助中心页面
- Microsoft Excel:帮助和学习:Excel 的 Microsoft 支持页
- Google 表格:Google 表格的帮助中心页面
- Microsoft PowerPoint:帮助和学习:PowerPoint 的 Microsoft 支持页面
- 如何使用 Google 幻灯片:Google 幻灯片的帮助中心页面
- 实验室的常见问题:Qwiklabs活动的故障排除帮助
模块、课程和证书词汇表
该程序涵盖了许多术语和概念,其中一些您可能已经知道,而另一些您可能不熟悉。要查看术语并帮助您准备评分测验,请参阅以下词汇表:
- 模块术语表:在每个模块内容的末尾,您可以查看该模块中的术语表。每个模块的词汇表都建立在该课程前几个模块的术语之上。模块词汇表不可下载;但是,所有术语和定义都包含在可下载的课程和证书词汇表中。
- 课程词汇表:在每门课程结束时,您可以访问和下载涵盖该课程中所有术语的词汇表。
- 证书词汇表:证书词汇表包括整个证书计划中的所有术语,是一个有用的资源,您可以在整个计划中或将来的任何时间参考。
您可以访问和下载证书词汇表,并将其保存在您的计算机上。您还可以使用课程的资源 标签。若要访问商业智能证书术语表,请单击以下链接,然后选择“使用模板”。
- 词汇表链接:商业智能证书词汇表
或
- 如果您没有 Google 帐户,可以直接从下面的附件下载词汇表。
数据分析证书词汇表
如果您完成了Google 数据分析证书,您可能会发现与此程序中的几个词汇表术语有一些重叠。请参阅数据分析证书术语表,该术语表链接在资源选项卡,以查看这些基本术语和概念。该词汇表中某些术语的定义与本程序中相同术语的定义不同,因为商业智能证书建立在数据分析证书中教授的概念之上。
课程反馈
提供有关视频、阅读材料和其他材料的反馈很容易。在浏览器中打开资源后,您可以找到竖起大拇指和竖起大拇指的符号。
- 单击竖起大拇指以获取您认为有用的材料。
- 单击大拇指朝下,查看您认为没有帮助的材料。
如果要标记项目的特定问题,请单击标记图标,选择一个类别,然后在文本框中输入说明。此反馈会返回到课程开发团队,其他学习者不可见。收到的所有反馈都有助于在未来创建更好的证书课程。
如需技术帮助,请访问学习者帮助中心.
编辑:克服冒名顶替综合症 #
你好。我是艾德。 我是 Google 的产品经理。 作为产品经理,我定义产品的愿景,并确保它与用户实际需要该产品为他们做的事情保持一致。 对我来说,冒名顶替综合症是一种信念,即就你的技能、观点、背景或经验而言,你没有达到你需要的地方。我肯定经历过冒名顶替综合症。 我与许多在各自专业领域非常熟练的人一起工作。不是每个人都能全面掌握每一项技能。 你最终会想,哦,也许我应该能够像她一样编程,或者我应该像他一样成为一名优秀的数据科学家,也许我应该有这种水平的观点,因为似乎我周围的每个人都一样。 这不一定是真的。 我真的认为关注你提供的独特视角很重要,因为每个人的观点、专业知识和兴趣,以及他们应用所有这些的方式,他们都会有所不同。 你提供的东西有独特的组合,其他人无法提供,仅仅因为你就是你。 我发现克服冒名顶替综合症最有用的技巧是保持脆弱和透明,你有这种感觉。 找到你信任的人,找到你可以与之交谈的人,并告诉他们你的感受。 告诉他们你为什么会有这种感觉。 某种感觉并不一定表明你是谁或你有能力做什么。 它就是这样。 能够脆弱地说,嘿,我不明白这一点,或者我想要一点额外的信息,这不仅对你有帮助,而且对你周围的人都有帮助。 我们倾向于关注负面因素。 我们倾向于关注我们可能认为需要改进的挑战或建设性方面。虽然没有为我们做得好的事情给予我们足够的信任,但我们应该更多地依靠这些优势。 通过了解并真正依靠自己的优势,而不是简单地试图隐藏或逃避失败,您将更加成功。
课程 2 概述 #
您好,欢迎来到 The Path to Insights: Data Models and Pipelines,这是 Google 商业智能证书的第二门课程。您正处于一段激动人心的旅程中!
在本课程结束时,您将能够使用数据建模和 ETL 流程从源系统中提取数据,将其转换为更好地实现分析的格式,并推动业务流程和目标。
课程描述
谷歌商业智能证书有三门课程。 洞察之路:数据模型和管道是第二门课程。
- 商业智能基础 — 了解 BI 专业人员在组织中的角色以及他们通常遵循的职业道路。然后,探索核心 BI 实践和工具,并了解 BI 专业人员如何使用它们对组织产生积极影响。
- 洞察之路:数据模型和管道 — (当前课程)探索数据建模和 ETL 流程,用于从源系统中提取数据,将其转换为更好地支持分析的格式,并推动业务流程和目标。
- 决策、决策:仪表板和报告— 运用您在 BI 和数据建模方面的知识来创建动态仪表板,以跟踪关键绩效指标以满足利益相关者的需求。
课程2内容
该证书课程的每门课程都分为多个模块。您可以按照自己的进度完成课程,但模块细分旨在帮助您在两到四个月内完成整个 Google 商业智能证书。
接下来会发生什么?以下是您将在本课程的每个模块中学习的技能的快速概述。
模块 1:数据模型和管道
您将通过探索数据建模基础以及常见架构和关键数据库元素来开始本课程。您还将考虑业务需求如何确定 BI 专业人员可能实现的数据库系统类型。然后,您将转向学习管道和 ETL 流程,这些流程是在整个系统中移动数据并确保其可访问性和有用的工具。在此过程中,您将向 BI 工具箱添加更多重要工具。
模块 2:动态数据库设计
在课程的这一部分中,您将了解有关数据库系统的更多信息,包括数据集市、数据湖、数据仓库和 ETL 流程。您还将研究数据库性能的五个因素:工作负载、吞吐量、资源、优化和争用。最后,您将开始考虑如何设计从系统中获得最大收益的高效查询。
模块 3: 优化 ETL 流程
在本课程的这一部分中,您将了解 ETL 质量测试、数据架构验证、验证业务规则和一般性能测试。您还将探索数据完整性,并了解内置质量检查如何帮助您发现数据缺陷。最后,您将学习如何验证业务规则并执行常规性能测试,以确保管道满足预期的业务需求。
模块 4:课程 2 课程结束项目
在第二个课程结束项目中,您将创建一个管道流程,以将必要的数据传送到目标表。然后,您将使用该目标表根据项目需求开发报表。创建管道后,还需确保其正常运行,并且存在针对数据质量问题的内置防御措施。
精彩内容
每门课程都提供多种类型的学习机会:
- 由 Google 讲师带领的视频教授新概念、介绍相关工具的使用、提供职业支持并提供鼓舞人心的个人故事。
- 阅读材料以视频中讨论的主题为基础,介绍相关概念,分享有用的资源,并描述案例研究。
- 讨论提示探索课程主题以更好地理解,并允许您与其他学习者聊天和交流想法 论坛.
- 自我复习活动和实验室为您提供应用所学技能的实践练习,并允许您通过将其与已完成的示例进行比较来评估自己的工作。
- 交互式插件鼓励您练习特定任务,并帮助您整合在课程中获得的知识。
- 视频内测验可帮助您在浏览每个视频时检查您的理解力。
- 练习测验可让您检查您对关键概念的理解并提供有价值的反馈。
- 分级测验展示了您对课程主要概念的理解。您必须在每次评分测验中获得 80% 或更高的分数才能获得证书,并且您可以多次参加评分测验以达到及格分数。
成功的秘诀
- 强烈建议您按照每节课中的项目出现的顺序浏览它们,因为新的信息和概念建立在以前的知识之上。
- 参与所有学习机会,以获得尽可能多的知识和经验。
- 如果有什么令人困惑的地方,请不要犹豫,重播视频、复习阅读或重复自我复习活动。
- 使用本课程中引用的其他资源。它们旨在支持您的学习。您可以在资源标签。
- 当您在本课程中遇到有用的链接时,请将它们添加为书签,以便您以后可以参考这些信息进行学习或复习。
- 了解并遵循Coursera 行为准则确保学习社区对所有成员来说都是一个热情、友好和支持的地方。
选择正确的数据库 #
数据的形状 #
您一直在研究数据建模和数据库架构,以及如何在 BI 中使用不同类型的数据库。 现在,我们将探讨如何使用这些概念来设计数据仓库。 但在我们进入数据仓库设计之前,让我们先回顾一下数据仓库到底是什么。 您可能还记得本课程前面的内容,数据库是存储在计算机系统中的数据集合。 好吧,数据仓库是一种特定类型的数据库,它整合了来自多个源系统的数据,以实现数据的一致性、准确性和高效访问。 数据仓库用于支持数据驱动的决策。 通常,这些系统由数据仓库专家管理,但在设计数据仓库时,BI 专业人员可能会帮助设计它们。 BI专业人员将考虑一些重要事项。 业务需求、数据的形状和数量以及数据仓库将遵循的模型。 业务需求是组织想要回答的问题或他们想要解决的问题。 这些需求有助于确定它将如何使用、存储和组织其数据。 例如,医院存储患者记录以监测健康变化与金融公司分析市场趋势以确定投资策略的数据要求不同。 接下来,让我们探讨源系统中数据的形状和数量。 通常,数据的形状是指仓库中表的行和列以及它们的布局方式。 当前和未来的数据量也会改变仓库的设计方式,仓库将遵循的模型包括系统的所有工具和约束,例如数据库本身和将合并到系统中的任何分析工具。 让我们回到我们的书店示例来开发其数据仓库。 我们首先需要与利益相关者合作,以确定他们的业务需求。 稍后,您将有机会了解有关从利益相关者那里收集信息的更多信息。 但现在,假设他们告诉我们,他们有兴趣衡量商店的盈利能力和网站流量,以评估年度促销的有效性。 现在我们可以看看数据的形状。 请考虑系统中的表捕获的业务流程或事件,因为这是一个零售商店。 主要业务流程是销售。 我们可以有一个销售表,其中包含订购数量、总计 b 等信息ASED 金额、总税额、总折扣和总净额。这些是复习的事实。 事实是业务流程中使用的度量或指标。 这些事实可能与一系列维度表相关,这些维度表提供了更多上下文。 例如,商店、客户产品促销、时间、库存或货币都可以是维度。 这些表中的信息为记录业务流程和事件的事实数据表提供了更多上下文。请注意,此数据模型是如何开始形成的。 有几个维度表都连接到中心的事实表,这意味着我们刚刚创建了一个星型模式。 使用此模型,您可以回答特定问题、年度促销的有效性,还可以生成包含其他 KPI 和向下钻取报告的仪表板。 在这种情况下,我们从业务的特定需求开始,查看我们拥有的数据维度,并将它们组织成形成关系的表。 这些关系帮助我们确定星型架构将是组织此数据仓库的最有用方法。 了解数据仓库设计背后的逻辑将帮助您开发有效的流程和系统,您将更多地使用数据库模式,并了解如何将数据从其他来源拉入仓库。
这是对该主题的简化解释:
数据仓库是特殊类型的数据库,旨在存储和管理来自多个源的大量数据。它们用于支持数据驱动的决策。
数据仓库设计是创建满足组织特定需求的数据仓库的过程。这涉及考虑组织的业务需求、数据的形状和数量以及数据仓库将遵循的模型等因素。
星型架构是数据仓库设计的常见类型。它们由一个中央事实数据表组成,该表被多个维度表包围。事实数据表存储业务流程中使用的度量或度量。维度表为事实数据表提供了更多上下文。
ETL 流程用于从源系统中提取数据,将其转换为适合数据仓库的格式,并将其加载到数据仓库中。
数据模型用于表示数据仓库中数据的结构。它们可用于可视化不同表之间的关系,并确定回答特定业务问题所需的数据。
设计有用的数据库架构 #
我们了解了设计数据仓库时需要注意哪些因素。 根据上一个示例中的业务需求和数据形状,我们创建了具有星型架构的维度模型。 该过程有时称为逻辑数据建模。 这涉及在物理数据模型中 表示不同的表。必须决定系统将如何实现该模型。 在此视频中,我们将详细了解架构需要具备哪些功能才能正常运行。 稍后,您将使用数据库架构来验证传入数据,以防止系统错误并确保数据有用。 由于所有这些原因,在任何 BI 项目的早期考虑架构非常重要。数据库架构应包含四个元素。 每列和每个表的 相关数据、名称和数据类型。数据条目的格式一致,每个数据库条目和对象的唯一键。 正如我们已经了解的,数据库模式是一种描述数据组织方式的方法。 它实际上并不包含数据本身,而是描述数据的形状以及数据库中的关系。 它需要包括所描述的所有数据。 否则,对于试图了解数据布局方式的用户来说,它不会是一个非常有用的指南。让我们回到我们的书店数据库示例。 我们知道,我们的数据包含大量有关促销、客户、产品、日期和销售的信息。 如果我们的架构不能表示这一点,那么我们就会缺少关键信息。 例如,如果当前架构无法回答特定的业务问题,则 BI 专业人员通常需要向现有架构添加新信息。如果企业想知道哪个客户服务员工对请求的响应最多,我们需要将该信息添加到数据仓库并相应地更新架构。 架构还需要包含数据库中每个表中每列的名称和数据类型。想象一下,如果你不整理你的厨房抽屉,如果你所有的餐具都扔在一起,真的很难找到任何东西。相反,您可能患有 存放勺子、叉子和刀子的特定地方。柱子就像您的厨房抽屉收纳盒。 它们使您能够知道哪些物品去哪里,以保持事物正常运行。 架构需要包含列名和数据类型,以指示哪些数据属于该列。 除了确保架构包含每列的所有相关数据、名称和数据类型外,在数据库中的所有数据条目中保持一致的格式也很重要。每个数据条目都是架构的一个实例。 例如,假设我们有两个事务系统,我们将它们合并到一个数据库中。 一个跟踪发送给用户的促销活动,另一个跟踪发送给客户的销售情况。 在源系统中,跟踪促销的营销系统可以具有用户 ID 列,而销售系统则具有客户 ID。 为了在仓库架构中保持一致,我们只想使用其中一列。 在此数据库的架构中,我们可能在其中一个表中有一列用于产品价格。 如果此数据存储为字符串类型数据而不是数值数据,则无法将其用于计算,例如在查询中将销售额相加。 此外,如果任何数据条目的列为空或缺少值,则可能会导致问题。 最后,数据库中的每个条目都有唯一的键是很重要的。 我们在之前的视频中介绍了主键和外键。 这些是在表之间建立连接,使我们能够合并整个数据库中的相关数据。总之,为了使数据库架构有用,它应该包含数据库中的相关数据、每列和每个表的名称和数据类型、数据库中所有条目的一致格式以及连接表的唯一键。 这四个元素将确保您的架构继续有用。 开发架构是一个持续的过程。 随着数据或业务需求的变化,您可以继续调整数据库架构以满足这些需求。 更多内容即将推出。
这是对该主题的简化解释:
数据库架构就像数据库的蓝图。它描述了数据的组织方式,包括表、列以及它们之间的关系。
以下是数据库架构应包含的四个关键元素:
- 相关数据:架构应包括与业务需求相关的所有数据。
- 每个列和表的名称和数据类型:每列和表都应具有唯一的名称和数据类型。这将有助于确保您的数据一致且易于理解。
- 跨数据条目的格式一致:数据库中的所有数据条目都应以相同的方式设置格式。这将有助于防止错误并更轻松地查询数据。
- 每个数据库条目和对象的唯一键:数据库中的每个条目和对象都应具有唯一的键。这将有助于确保您的数据准确可靠。
通过遵循这四个原则,您可以创建一个有用、高效且易于维护的数据库架构。
数据库架构的四个关键要素 #
无论是创建新的数据库模型还是探索现有的系统,确保架构中存在所有元素都很重要。通过数据库架构,您可以验证传送到目标数据库的传入数据,以防止错误并确保数据对用户立即有用。
下面是数据库架构应包含的常见元素的清单:
- 相关数据:架构描述如何在数据库中对数据进行建模和调整,并且必须包含所描述的所有数据。
- 每列的名称和数据类型:包括数据库中每个表中每列的名称和数据类型。
- 格式一致:确保所有数据条目的格式一致。每个条目都是架构的一个实例,因此它需要保持一致。
- 唯一键:架构必须对数据库中的每个条目使用唯一键。这些键在表之间建立连接,使用户能够合并整个数据库中的相关数据。
关键要点
随着您接收更多数据或业务需求发生变化,数据库和架构可能也需要更改。数据库优化是一个迭代过程,这意味着您可能需要在数据库的整个使用寿命期间多次检查架构。使用此清单可帮助您确保数据库架构保持正常运行。
查看数据库架构 #
到目前为止,你已了解各种类型的数据库架构之间的差异、影响数据库架构选择的因素,以及如何使用最佳实践为数据仓库设计数据库架构。
在本阅读中,你将回顾为虚构方案创建的数据库架构,并探索其设计背后的原因。作为 BI 专业人员,您需要了解以某种方式构建数据库的原因。
数据库架构
Francisco’s Electronics正在为其新的家庭办公产品线推出一家电子商务商店。如果成功,公司决策者计划将他们的其他产品也上线。该公司聘请了高级 BI 工程师 Mia 来帮助设计其数据仓库。数据库需要存储用于分析和报告的订单数据,销售经理需要快速生成报告以跟踪销售情况,以便确定网站的成功。
下面是 Mia 设计的sales_warehouse数据库的架构图。它包含不同的符号和连接器,表示两个重要信息:系统中的主要表以及这些表之间的关系。
sales_warehouse数据库架构包含五个表:Sales、Products、Users、Locations 和 Orders,它们通过键连接。这些表包含 5 到 8 列(或属性),其数据类型范围。数据类型包括 varchar 或 char(或字符)、整数、十进制、日期、文本(或字符串)、时间戳、位和其他类型,具体取决于所选的数据库系统。
查看数据库架构
若要了解数据库架构,了解使用某些数据类型的目的以及字段之间的关系会很有帮助。以下问题的答案证明了为什么 Mia 以这种方式设计 Francisco 的 Electronics 模式:
- 这是什么样的数据库架构?为什么选择这种类型的数据库?
Mia 使用星型模式设计了数据库, 因为 Francisco’s Electronics 正在使用该数据库进行报告和分析。星型架构的优势包括更简单的查询、简化的业务报告逻辑、查询性能提升和快速聚合。
- 表和字段使用哪些命名约定?使用这些命名约定有什么好处吗?
此架构使用蛇形大小写命名约定。在蛇形情况下,下划线替换空格,每个单词的第一个字母都是小写的。使用命名约定有助于保持一致性并提高数据库的可读性。由于表和字段的蛇形案例是行业标准,因此 Mia 在数据库中使用了它。
- 在数据元素中使用小数字段的目的是什么?
对于与货币相关的字段,在计算价格、税费和费用时可能存在错误。您可能具有技术上不可能的值,例如,当美元的最小值为 1 美分或 0.01 美元时,值为 0.001 美元。为了保持值一致并避免累积错误,Mia 使用了 decimal(10,2) 数据类型,该类型仅保留小数点后的最后两位数字。
注意:其他数值(如汇率和数量)可能需要额外的小数位,以最大程度地减少计算中的舍入差异。此外,其他数据类型可能更适合其他字段。要跟踪订单的创建时间 (created_at),您可以使用时间戳数据类型。对于具有各种文本大小的其他字段,可以使用 varchar。
- 数据库中每个外键和主键的用途是什么?
Mia 设计了具有主键 ID 的 Sales 表,并在其他表中包含外键以引用主键。外键的数据类型必须与其对应的主键相同。如您所知,主键可以精确地标识表上的一条记录,而外键则建立从该主键到其他表中记录的完整性引用。
销售表键 ID 和外键 | 关联表 |
---|---|
order_id | 订单表 |
product_id | 产品表 |
user_id | 用户表 |
shipping_address_id | 位置表 |
billing_address_id | 位置表 |
关键要点
在本阅读中,您探讨了为什么以某种方式设计数据库架构。在商业智能领域,您将花费大量时间使用数据对业务运营进行建模、探索数据和设计数据库。您可以应用您对此数据库架构设计的知识,在将来构建自己的数据库。这将使您能够在 BI 专业人员的职业生涯中更有效地使用和存储数据。
答案参考:洞察之路:数据模型和管道 Coursera 测验答案 (niyander.com)
数据如何移动 #
到目前为止,我们已经学到了很多关于数据如何在数据仓库中组织和存储的数据,以及模式如何描述这些系统。 作为 BI 专业人员,您的部分工作是构建和维护数据仓库,同时考虑所有这些存在并正在收集和创建数据点的系统。为了帮助顺利完成此过程,我们使用数据管道。 作为复习,数据管道是一系列过程,将数据从不同源传输到其最终目的地进行存储和分析。 这样可以自动将数据从源流向目标,同时转换数据以使其在到达目的地后立即发挥作用。 换句话说,数据管道用于将数据从 A 点获取到 B 点,自动节省时间和资源,并使数据更易于访问和有用。 基本上,数据管道用于查找数据组合的内容、位置和方式。 它们可自动执行提取、转换、组合、验证和加载数据以进行进一步分析和可视化所涉及的流程。有效的数据管道还有助于消除错误和消除系统延迟。 每当有人提出要求时,都必须一遍又一遍地手动移动数据或反复更新报告,这将非常耗时。 例如,如果气象站每天获取有关天气状况的信息,则由于数量庞大,很难手动管理它。他们需要一个系统来接收数据并将其发送到需要去的地方,以便将其转化为见解。 数据管道最有用的一点是,它可以从多个源中提取数据,对其进行整合,然后将其迁移到正确的目标。 这些源可以包括关系数据库、具有事务数据的网站应用程序或外部数据源。 通常,管道具有推送机制,使其能够近乎实时或定期地从多个源摄取数据。将数据拉入管道后,即可将其加载到其目标。 这可以是数据仓库、数据湖或数据集市,我们将详细介绍这些内容。 或者可以将其直接拉入BI或分析应用程序中进行即时分析。 通常,当数据从 A 点移动到 B 点时,管道也会转换数据。 转换包括排序、验证和验证,使数据更易于分析。 此过程称为 ETL 系统。 ETL 代表提取、转换和加载。 这是一种数据管道,它允许从源系统收集数据,将其转换为有用的格式,并将其引入数据仓库或其他统一的目标系统。 ETL 正成为数据管道的标准。 我们稍后将详细介绍它。 假设业务分析师在一个地方有数据,需要将其移动到另一个地方,这就是数据管道的用武之地。 但很多时候,源系统的结构对于分析来说并不理想,这就是为什么 BI 专业人员希望在数据到达目标系统之前对其进行转换,以及为什么设置已经设计并准备好接收数据的数据库模式如此重要。 现在让我们更详细地探讨这些步骤。 我们可以设想一个数据管道分三个阶段运行,摄取原始数据,处理并将其合并为类别,并将数据转储到用户可以访问的报告表中。 这些报告表称为目标表。 目标表是发送管道数据以便对其执行操作的预定位置。在移动数据时处理和转换数据非常重要,因为它可以确保数据在到达时随时可以使用。 但是,让我们在行动中探索这个过程。 假设我们正在与在线流媒体服务合作创建数据管道。 首先,我们要考虑管道的最终目标。 在此示例中,我们的利益相关者希望了解他们的观众人口统计数据,以便为营销活动提供信息。 这包括有关观众的年龄和兴趣以及他们所在位置的信息。 确定利益干系人的目标是什么后,我们就可以开始考虑需要管道引入哪些数据。在本例中,我们将 想要有关客户的人口统计数据。我们的利益相关者对月度报告感兴趣。 我们可以设置管道,以每月自动提取所需的数据。 引入数据后,我们还希望管道执行一些转换,以便在传送到目标表时保持干净和一致。请注意,这些表已经在我们的数据库中设置好了,用于接收数据。 现在,我们将客户人口统计数据和他们的每月流媒体习惯放在一个表格中,供我们使用。 数据管道的优点在于,一旦构建了它们,就可以安排它们定期自动执行任务。 这意味着 BI 团队成员可以专注于从数据中获取业务见解,而不必一遍又一遍地重复此过程。 作为 BI 专业人员,您工作的很大一部分将涉及创建这些系统,确保它们正常运行,并在业务需求发生变化时更新它们。 您的团队将真正欣赏 的宝贵好处。
这是您提供的内容的摘要:
数据管道
数据管道是将数据从不同源传输到最终目的地进行存储和分析的一系列过程。它们自动将数据从源流向目标,同时转换数据以使其在到达目的地后立即发挥作用。
ETL系统
ETL 代表提取、转换和加载。这是一种数据管道,它允许从源系统收集数据,将其转换为有用的格式,并将其引入数据仓库或其他统一的目标系统。ETL 正成为数据管道的标准。
数据管道的优势
- 自动实现数据从源到目标的流动
- 转换数据,使其在到达目的地后立即发挥作用
- 消除错误并解决系统延迟
- 节省时间和资源
- 使数据更易于访问和有用
数据管道的工作原理
数据管道可以分为三个阶段:
- 引入原始数据
- 处理并将其合并为类别
- 将数据转储到用户可以访问的报告表中
数据管道示例
假设我们正在与在线流媒体服务合作创建数据管道。首先,我们要考虑管道的最终目标。在此示例中,我们的利益相关者希望了解他们的观众人口统计数据,以便为营销活动提供信息。这包括有关观众的年龄和兴趣以及他们所在位置的信息。确定利益干系人的目标是什么后,我们就可以开始考虑需要管道引入哪些数据。在本例中,我们需要有关客户的人口统计数据。我们的利益相关者对月度报告感兴趣。我们可以设置管道,以每月自动提取所需的数据。引入数据后,我们还希望管道执行一些转换,以便在传送到目标表时保持干净和一致。请注意,这些表已经在我们的数据库中设置好了,用于接收数据。现在,我们将客户人口统计数据和他们的每月流媒体习惯放在一个表格中,供我们使用。
结论
数据管道是任何数据仓库或商业智能系统的重要组成部分。它们可以自动执行从源到目标的数据流,转换数据以使其有用,并消除错误并消除系统延迟。作为 BI 专业人员,您工作的很大一部分将涉及创建这些系统,确保它们正常运行,并在业务需求发生变化时更新它们。
这里有一些数据管道的真实示例:
- 一家零售公司使用数据管道从其销售点系统、库存管理系统和客户关系管理系统收集数据。然后,这些数据用于创建有关销售、库存水平和客户行为的报告。
- 一家金融服务公司使用数据管道从其交易系统、风险管理系统和客户账户系统收集数据。然后,这些数据用于创建有关交易活动、风险敞口和客户盈利能力的报告。
- 医疗保健提供商使用数据管道从其电子健康记录系统、患者门户和计费系统收集数据。然后,这些数据用于创建有关患者护理、结果和成本的报告。
这些只是在现实世界中使用数据管道的几个示例。数据管道是各种规模的企业收集、处理和分析数据的重要工具。
我们一直在学习很多关于数据管道及其工作原理的知识。 现在,我们将讨论一种特定类型的管道:ETL。 我之前提到过,ETL 可以从源系统收集数据,将其转换为有用的格式,并导入数据仓库或其他统一的目标系统。 与其他管道一样,ETL 流程分阶段工作,这些阶段包括提取、转换和加载。 让我们从提取开始。 在此阶段,管道访问源系统,然后从其中读取和收集必要的数据。 许多组织将其数据存储在事务数据库(如 OLTP 系统)中,这些数据库非常适合记录记录,或者企业可能使用平面文件(例如 HTML 或日志文件)。 无论哪种方式,ETL 都通过从源中提取数据并将其移动到临时暂存表中来使数据可用于分析。接下来,我们进行转型。 具体的转换活动取决于目标的结构和格式以及业务案例的要求,但正如你所了解的,这些转换通常包括验证、清理和准备数据以供分析。 此阶段也是 ETL 管道将数据类型从源映射到目标系统,以便数据符合目标约定。 最后,我们进入加载阶段。 这是将数据传送到其目标目的地的时间。 这可以是数据仓库、数据湖或与直接数据馈送一起工作的分析平台。请注意,数据传递后,它可以以多种格式存在于多个位置。例如,可能有一个涵盖一周数据的快照表和一个包含一些相同记录的较大存档。这有助于确保在系统内维护历史数据,同时为利益相关者提供集中、及时的数据,如果企业有兴趣了解和比较平均月销售额,数据将被移动到针对分析进行优化的 OLAP 系统 查询。ETL 流程是 BI 专业人员经常构建和与之交互的常见数据管道类型。接下来,您将了解有关这些系统以及它们是如何创建的更多信息。
这是您提供的内容的摘要:
ETL 管道
- ETL(提取、转换、加载)管道是 BI 专业人员经常构建和与之交互的常见数据管道类型。
- ETL 流程分阶段工作:
- 提取:访问源系统并读取和收集必要的数据。
- 变换:验证、清理和准备数据以供分析。
- 负荷:将数据传送到目标目的地(例如,数据仓库、数据湖、分析平台)。
- 一旦数据交付,它就可以以多种位置和格式存在,以确保维护历史数据,同时为利益相关者提供集中、及时的数据。
为作业选择合适的工具 #
在之前的视频中,我们一直在探索从不同来源引入数据的管道流程,对其进行转换以匹配目标格式,并将其推送到最终目标,用户可以在其中开始绘制业务见解。 BI 专业人员在构建和维护这些流程方面发挥着关键作用,他们使用各种工具来帮助他们完成工作。 在本视频中,我们将了解 BI 专业人员如何选择正确的工具。 作为 BI 专业人员,您的组织可能会有首选供应商,这意味着您将获得一组可用的 BI 解决方案。 BI的一大优点是,不同的工具背后有非常相似的原理和相似的效用。 这是可转移技能的另一个例子。 换言之,您的一般理解可以应用于其他解决方案,无论您的组织更喜欢哪种解决方案。 例如,我学到的第一个数据库管理系统是Microsoft Access。 这种经历帮助我对如何在表之间建立连接有了基本的了解,这使得学习新工具变得更加简单。 在我职业生涯的后期,当我开始使用MySQL时,我已经能够认识到其基本原理。 现在,您可以选择要使用的工具。 如果是这种情况,您需要考虑 KPI、利益相关者希望如何查看数据以及需要如何移动数据。 如您所知,KPI 是与业务战略密切相关的可量化值,用于跟踪目标的进度。 KPI 让我们知道我们是否成功,以便我们可以调整我们的流程以更好地实现目标。 例如,一些财务 KPI 是毛利率、净利润率和资产回报率。 或者一些人力资源 KPI 是晋升率和员工满意度。 了解组织的 KPI 意味着您可以根据这些需求选择工具。 接下来,根据利益相关者希望查看数据的方式,您可以选择不同的工具。 利益干系人可能会要求提供图表、静态报告或仪表板。 有多种工具,包括 Looker Studio、Microsoft、PowerBI 和 Tableau。 其他一些是 Azura Analysis Service、CloudSQL、Pentaho、SSAS 和 SSRS SQL Server,它们都内置了报告工具。 有很多选择。 稍后,您将获得有关这些不同工具的更多见解。 在考虑了利益相关者希望如何查看数据之后,您还需要考虑后端ls。这是您考虑如何移动数据的时候。 例如,并非所有 BI 工具都可以读取数据湖。 因此,如果您的组织使用数据湖来存储数据,那么您需要确保选择可以执行此操作的工具。 选择后端工具时,其他一些重要考虑因素包括如何传输数据、如何更新数据以及管道如何在数据转换过程中与其他工具结合使用。
从 :3:5 开始播放视频并按照文字记录进行操作3:05
这些要点中的每一个都可以帮助您确定工具集的必备条件,从而获得最佳选项。 此外,重要的是要知道您最终可能会使用多种工具组合来创建理想的系统。 正如您一直在学习的那样,BI 工具具有共同的功能,因此无论您最终使用哪种工具,都可以使用您在这些课程中学到的技能。回到我的示例,我能够理解转换和组合表背后的逻辑。 无论我使用的是Microsoft Access还是MySQL。 这个基础已经转移到了我整个职业生涯中遇到的不同BI工具中。 接下来,您将了解有关将来可能使用的解决方案的更多信息。 您也将很快开始接触一些数据。
这是对该主题的简化解释:
BI 专业人员使用各种工具来帮助他们构建和维护数据管道。这些工具可用于从不同来源摄取数据,对其进行转换以匹配目标格式,并将其推送到最终目标,用户可以在其中开始绘制业务见解。
在选择合适的工具时,BI专业人员需要考虑以下因素:
- 关键绩效指标:与业务战略密切相关并用于跟踪目标进度的可量化值。
- 利益相关者需求:利益相关者希望如何查看数据(例如,图形、静态报告或仪表板)。
- 后端工具:数据需要如何移动(例如,数据湖、数据仓库)。
需要注意的是,BI 工具具有共同的功能,因此无论您最终使用哪种工具,都可以使用您在这些课程中学到的技能。
商业智能工具及其应用 #
随着您在商业智能职业生涯中的进步,您将遇到许多不同的工具。您在这些课程中学到的技能的一大优点是它们可以在不同的解决方案之间转移。无论您最终使用哪种工具,整体逻辑和流程都将是相似的!本文概述了其中的许多商业智能解决方案。
工具 | 使用 |
---|---|
Azure Analysis Service (AAS) | 连接到各种数据源内置数据安全协议跨团队授予访问权限和分配角色自动化基本流程 |
CloudSQL | 连接到现有的 MySQL、PostgreSQL 或 SQL Server 数据库自动化基本流程与现有应用和 Google Cloud 服务(包括 BigQuery)集成观察数据库进程并进行更改 |
Looker Studio | 使用可自定义的图表和表格可视化数据连接到各种数据源在内部与利益相关者和在线分享见解跨团队协作生成报告使用报告模板加快报告速度 |
Microsoft PowerBI | 连接到多个数据源并开发详细模型创建个性化报告使用 AI 使用对话语言快速获得答案跨团队协作以生成和共享有关 Microsoft 应用程序的见解 |
Pentaho | 使用无代码接口开发管道连接到实时数据源以获取更新的报告建立与扩展库的连接访问集成的数据科学工具包 |
SSAS SQL Server | 跨多个在线数据库访问和分析数据与现有的 Microsoft 服务集成,包括 BI 和数据仓库工具以及 SSRS SQL Server使用内置报告工具 |
Tableau | 快速连接和可视化数据无需技术编程语言即可分析数据连接到各种数据源,包括电子表格、数据库和云源在直观的仪表板中组合多个数据视图通过更新数据源建立实时连接 |
特定于 ETL 的工具及其应用程序 #
在之前的阅读中,您获得了常用商业智能工具及其一些用途的列表。其中许多工具都具有内置的管道功能,但您可能会遇到一些特定于 ETL 的工具。创建管道系统(包括将数据在不同数据源之间移动和转换数据到目标数据库的 ETL 管道)是 BI 专业人员工作的很大一部分,因此了解有哪些工具可能非常有用。本文提供了一个概述。
工具 | 使用 |
---|---|
Apache Nifi | 连接各种数据源访问基于 Web 的用户界面根据需要配置和更改管道系统随时修改系统中的数据移动 |
Google DataFlow | 跨各种数据源同步或复制数据使用智能诊断功能识别管道问题使用 SQL 从 BigQuery 界面开发管道调度资源以降低批处理成本使用管道模板启动管道创建过程,并在整个组织中共享系统 |
IBM InfoSphere Information Server | 跨多个系统集成数据治理和浏览可用数据改善业务一致性和流程分析和监视来自多个数据源的数据 |
Microsoft SQL SIS | 连接来自各种来源的数据集成使用内置转换工具访问图形工具,无需编码即可创建解决方案生成自定义软件包以满足特定业务需求 |
Oracle Data Integrator | 连接来自各种来源的数据使用内置功能跟踪更改并监控系统性能访问系统监控和向下钻取功能通过访问内置的 Oracle 服务降低监控成本 |
Pentaho Data Integrator | 连接来自各种来源的数据使用拖放界面创建无代码管道访问数据流模板,以便于使用使用集成工具分析数据 |
Talend | 连接来自各种来源的数据从云服务器设计、实施和重用管道使用集成的 Talend 服务访问和搜索数据使用内置工具清理和准备数据 |
测试您的知识:数据如何移动 #
答案参考:洞察之路:数据模型和管道 Coursera 测验答案 (niyander.com)
使用Dataflow进行数据处理 #
数据流简介 #
最近,你了解了数据管道。 您将了解到,一个管道工具中涉及的许多过程和理解可以转移到其他解决方案中。 因此,在本课程中,我们将使用 Google Dataflow。 但是,即使您最终使用不同的管道工具,此处涉及的技能和步骤也将非常有用。 现在使用 Google Dataflow 将是一个很好的机会来练习您迄今为止所学到的一切。 我们将首先向您介绍数据流并介绍其基本实用程序。 稍后,你将使用此工具完成一些基本的 BI 任务并设置自己的管道。 Google Data Flow 是一种无服务器数据处理服务,可从源位置读取数据、转换数据并将其写入目标位置。 Dataflow 使用开源库创建管道,您可以使用不同的语言(包括 Python 和 SQL)与之交互。 数据流包括一系列预构建的模板,您可以自定义这些模板,也可以使用 SQL 语句来构建自己的管道。 该工具还包括安全功能,以帮助确保您的数据安全。 好的,现在让我们打开 Dataflow 并一起探索它。 首先,我们将登录并转到控制台。 控制台打开后,让我们找到作业页面。 如果这是您第一次使用 Dataflow,它将显示没有要显示的作业。 在工作页面中,我们可以在项目空间中找到当前工作。 可以选择从模板创建作业或从 SQL 创建作业。 快照 保存流式处理管道的当前状态,以便您可以启动新版本而不会丢失当前版本。 这非常适合测试管道、为用户无缝更新管道以及备份和恢复旧版本。 管道部分包含已创建的管道列表。 同样,如果这是你第一次使用数据流,它将显示在开始生成管道之前需要启用的进程。现在是这样做的好时机。 只需单击“全部修复”即可启用 API 功能并设置您的位置。
播放从 :2:2 开始的视频并按照文字记录进行播放2:02
通过“笔记本”部分,可以创建和保存具有实时代码的可共享 Jupyter Notebook。
从 :2:8 开始播放视频并按照文字记录进行操作2:08
这对于首次使用 ETL 工具的用户非常有用,可以查看示例并可视化转换。
从 :2:15 开始播放视频并按照文字记录进行操作2:15
最后,我们有 SQL 工作区。 如果您以前使用过 BigQuery,例如在 Google 数据分析证书中,那么这将很熟悉。 这是您在 Dataflow 中工作时编写和执行 SQL 查询的地方,然后就可以了。 现在,您可以登录 Google Dataflow 并开始自行探索它。 我们很快就会有更多机会使用这个工具。
用简单的术语解释这个主题
数据管道是将数据从一种格式转换为另一种格式的一系列步骤。它们用于清理、处理和准备用于分析的数据。数据管道可用于多种用途,例如:
- 数据集成:将来自多个来源的数据合并到一个统一的数据集中。
- 数据清理:从数据中删除错误和不一致之处。
- 数据转换:将数据从一种格式转换为另一种格式,例如从 CSV 文件转换为 JSON 文件。
- 数据扩充:向数据集添加其他数据,例如人口统计数据或客户购买历史记录。
- 数据分析:通过创建汇总表、图表和其他可视化效果来准备要分析的数据。
数据管道是数据分析过程的重要组成部分。它们有助于确保数据准确、一致并准备好进行分析。
下面是数据管道的简化示例:
- 数据是从源系统(如数据库或 CSV 文件)中提取的。
- 对数据进行清理和处理,以消除错误和不一致之处。
- 数据将转换为适合分析的格式。
- 数据被加载到数据仓库或其他数据存储系统中。
- 对数据进行分析以生成见解和报告。
数据管道可能很复杂,涉及许多不同的步骤。但是,基本原理是相同的:数据被提取、清理、处理并加载到数据存储系统中进行分析。
使用 Python 编码 #
如果您是从 Google 数据分析证书开始学习这些课程的,或者您一直在使用关系数据库,那么您可能熟悉查询语言 SQL。 查询语言是用于与数据库通信的特定计算机编程语言。作为 BI 专业人员,您可能还需要使用其他类型的编程语言。 这就是为什么在本视频中,我们将探讨最流行的编程语言之一 Python。 编程语言是一种由单词和符号组成的系统,用于编写计算机遵循的指令。 有许多不同的编程语言,但 Python 是专门开发的,使用户能够用比大多数其他语言更少的行编写命令。 Python 也是开源的,这意味着它是免费提供的,可以由使用它的人修改和共享。 有一个庞大的 Python 用户社区,他们开发工具和库来改进 Python,这意味着 BI 专业人员可以使用大量资源。Python 是一种通用编程语言,可以应用于各种上下文。 在商业智能中,它用于连接到数据库系统以读取和修改文件。 它还可以与其他软件工具结合使用来开发管道,甚至可以处理大数据并执行计算。 在开始编程之旅时,您应该了解有关 Python 的一些关键事项。首先,它主要是面向对象的,并且是解释的。 让我们首先了解面向对象意味着什么。 面向对象的编程语言是围绕数据对象建模的。 这些对象是捕获某些信息的代码块。 基本上,系统中的所有内容都是一个对象,一旦在代码中捕获了数据,系统就会对其进行标记和定义,以便以后可以再次使用,而无需重新输入数据。 由于 Python 已被数据社区广泛采用,因此已经开发了许多库来预定义数据结构和常见操作,您可以将其应用于系统中的对象。 当您需要重复 55>对多个项目使用相同的转换。 不必从头开始重新输入代码可以节省时间。 请注意,面向对象的编程语言不同于函数式编程语言,函数式编程语言是围绕函数建模的。 虽然 Python 主要是面向对象的,但它也可以用作函数式编程语言来创建和应用函数。 Python 如此受欢迎的部分原因是它很灵活。 但对于BI来说,Python真正有价值的地方在于它能够创建和保存数据对象,然后可以通过代码进行交互。 现在,让我们考虑一下 Python 是一种解释型语言这一事实。 解释型语言是使用解释器的编程语言;通常是另一个程序来读取和执行编码指令。 这与编译的编程语言不同,后者编译由目标计算机直接执行的编码指令。这两种类型的编程语言之间最大的区别之一是,机器执行的编译代码几乎不可能被人类阅读。 因此,Python 的解释型语言对 BI 专业人员非常有用,因为它使他们能够以交互方式使用语言。 例如,Python 可用于制作笔记本。 笔记本是用于创建数据报告的交互式、可编辑的编程环境。这是为利益相关者构建动态报告的好方法。 Python 是 BI 工具箱中的一个好工具。 甚至还有一个选项可以在 Google Dataflow 中使用 Python 命令。 很快,当您开始在 Dataflow 工作区中编写 Python 时,您将可以亲自检查它。
这是对该主题的简化解释:
Python 是一种编程语言,用于与数据库通信和开发管道。它是一种通用编程语言,可以应用于各种上下文。在商业智能中,它用于连接到数据库系统以读取和修改文件。它还可以与其他软件工具结合使用来开发管道,甚至可以处理大数据并执行计算。
关于 Python 需要了解的关键事项:
- 它主要是面向对象的和解释的。
- 面向对象的编程语言是围绕数据对象建模的。
- Python 已被数据社区广泛采用,因此已经开发了许多库来预定义数据结构和常见操作,您可以将其应用于系统中的对象。
- Python 是一种解释型语言,这意味着它使用解释器来读取和执行编码指令。这使得它对 BI 专业人员非常有用,因为它使他们能够以交互方式使用语言。
Python 应用程序和资源 #
在本课程中,您将主要使用 BigQuery 和 SQL 与 Google DataFlow 中的数据库进行交互。但是,DataFlow 确实可以选择使用 Python,这是一种广泛使用的通用编程语言。Python 对于商业智能专业人士来说是一个很好的工具,因此本读物提供了将 Python 添加到工具箱中的资源和信息!
Python 的元素
了解 Python 的一些关键元素很重要:
- Python 是开源的,免费向公众开放。
- 它是一种解释型编程语言,这意味着它使用另一个程序来读取和执行编码指令。
- 数据存储在数据框中,类似于 R。
- 在 BI 中,Python 可用于连接到数据库系统以处理文件。
- 它主要是面向对象的。
- 公式、函数和多个库都很容易获得。
- 存在一个开发人员社区,用于在线代码支持。
- Python 使用简单的语法进行简单的编码。
- 它与包括 Google Cloud、Amazon Web Services 和 Azure 在内的云平台集成。
资源
如果您有兴趣学习 Python,有许多资源可以提供帮助。这里只是其中的几个:
- Python 软件基金会 (PSF):一个提供指南的网站,可帮助您作为初学者入门
- Python 教程:来自 PSF 站点的 Python 3 教程
- Coding Club Python 教程:Python 编码教程集
学习编程语言的一般技巧
正如你所发现的,通常有一些可转移的技能可以应用于许多不同的工具,其中包括编程语言!以下是一些提示:
- 定义一个实践项目,并使用该语言来帮助您完成它。这使得学习过程更加实用和引人入胜。
- 请记住以前的概念和编码原则。在你学会了一门语言之后,学习另一种语言往往会容易得多。
- 做好笔记或以最适合您的任何格式(手写或打字)制作备忘单。
- 创建一个在线归档系统,以便在各种编程环境中工作时轻松访问这些信息。
在BigQuery中整理数据 #
从利益相关者那里收集信息 #
您已经了解了 BI 专业人员在组织中可能与之合作的不同利益相关者以及如何与他们沟通。 您还了解到,在项目开始时从利益相关者那里收集信息是该过程的重要步骤。 现在,你已经对管道有了更多的了解,让我们考虑一下在为利益相关者构建 BI 流程之前需要从利益相关者那里收集哪些信息,这样你就可以确切地知道他们需要什么,并帮助他们尽可能提高工作效率。 作为 BI 专业人员,您的部分工作是了解当前的流程以及如何将 BI 工具集成到这些现有工作流中。 通常,在 BI 中,您不仅要每天回答单个问题,还要找出团队在问什么问题,以便为他们构建一个工具,使他们能够自己获取这些信息。 人们很少确切地知道他们需要什么并将其传达给您。 相反,他们通常会带着一系列问题或症状来找你,你有责任弄清楚如何帮助他们。 不太熟悉数据的利益相关者根本不知道哪些 BI 流程是可能的。 这就是跨业务协调如此重要的原因。 您希望创建一个以用户为中心的设计,满足整个团队的所有要求,这样您的解决方案就可以同时满足每个人的需求,从而简化他们作为一个团队的流程。 弄清楚所有不同的利益相关者的需求 可能具有挑战性。一种选择是创建演示文稿并与不同团队一起主持研讨会。 这可能是支持跨业务一致性和确定每个人需求的好方法。 花一些时间观察你的利益相关者的工作,并向他们询问他们在做什么以及为什么做的问题 ,也是非常有帮助的。此外,与跨团队利益相关者一起建立指标以及目标表应包含哪些数据也很重要。这应该在开始构建工具之前完成。 如您所知,指标是用于评估绩效的单个可量化数据点。在 BI 中,企业通常感兴趣的指标是帮助他们评估他们在实现某些目标方面的成功程度的 KPI。了解这些目标以及如何衡量它们是构建 BI 工具的重要第一步。您还知道,目标表是执行数据操作的最终目标。 了解最终目标有助于您设计最佳流程。 请务必记住,构建 BI 流程是一个协作和迭代过程。 你将继续从你的利益相关者那里收集信息,并使用你所学到的知识,直到你创建一个适合你的团队的系统,即使这样,你也可能会随着新需求的出现而改变它。 通常,您的利益相关者已经确定了他们的问题,但他们可能还没有确定他们对项目的假设或偏见。 这是 BI 专业人员可以提供见解的地方。 与利益相关者密切合作可确保您在设计能够简化其流程的 BI 工具时牢记他们的需求。了解他们的目标、指标和最终目标表,并在多个团队之间进行沟通,将确保您制定适合所有人的系统。
这是对该主题的简化解释:
什么是 BI 流程?
BI 流程是将原始数据转换为可用于做出决策的信息所遵循的一组步骤。
为什么 BI 流程很重要?
BI 流程很重要,因为它们可以帮助您:
- 了解您的数据
- 识别趋势和模式
- 做出更好的决策
如何创建 BI 流程?
若要创建 BI 流程,需要:
- 收集需求。这意味着与您的利益相关者交谈以了解他们的需求。
- 设计流程。这意味着决定需要采取哪些步骤将原始数据转换为信息。
- 实施该过程。这意味着将流程付诸行动。
- 监视过程。这意味着跟踪流程以确保其按预期工作。
有哪些常见的 BI 流程?
一些常见的 BI 流程包括:
- 数据提取。这是从不同来源获取数据的过程。
- 数据转换。这是清理和准备数据以便将其用于分析的过程。
- 数据分析。这是使用数据来识别趋势和模式的过程。
- 数据可视化。这是以易于理解的方式呈现数据的过程。
创建有效的 BI 流程有哪些技巧?
以下是创建有效 BI 流程的一些提示:
- 从明确的目标开始。您希望通过 BI 流程实现什么?
- 让利益相关者参与进来。从利益相关者那里获得意见,以确保流程满足他们的需求。
- 使用正确的工具。有多种 BI 工具可以帮助您创建和管理 BI 流程。
- 监控您的流程。跟踪该过程以确保其按预期工作。
使用 BigQuery 合并来自多个来源的数据 #
之前,您开始探索 Google Dataflow,这是一种 Google Cloud Platform (GCP) 工具,用于从源读取数据、转换数据并将数据写入目标位置。在本课程中,您将开始使用另一个 GCP 数据处理工具:BigQuery。您可能还记得 Google 数据分析证书,BigQuery 是一个数据仓库,用于查询和过滤大型数据集、汇总结果以及执行复杂操作。
作为商业智能 (BI) 专业人员,您需要从多个团队的利益相关者那里收集和组织数据。BigQuery 允许您将来自多个来源的数据合并到目标表中。然后,可以将目标表转换为仪表板,从而使利益相关者更容易理解和分析数据。在本阅读材料中,您将回顾一个场景,在该场景中,BI 专业人员使用 BigQuery 合并来自多个利益相关者的数据,以回答重要的业务问题。
问题
考虑一个场景,其中 BI 专业人员 Aviva 正在为一家虚构的咖啡连锁店工作。每年,咖啡馆都会提供各种时令菜单。公司领导有兴趣确定其季节性菜单上最受欢迎和最有利可图的项目,以便他们能够更自信地做出定价决策;战略推广;以及保留、扩展或停止菜单项。
解决方案
数据提取
为了获得利益相关者感兴趣的信息,Aviva 开始提取数据。数据提取过程包括定位和识别相关数据,然后准备转换和加载数据。为了识别必要的数据,Aviva 实施了以下策略:
与主要利益相关者会面
Aviva 与利益相关者一起举办研讨会,以确定他们的目标。在本次研讨会上,她向利益相关者提问,以了解他们的需求:
- 需要从数据中获得哪些信息(例如,不同餐厅位置不同菜单项的表现)?
- 应该衡量哪些具体指标(销售指标、营销指标、产品性能指标)?
- 应该使用哪些数据来源(销售数字、客户反馈、销售点)?
- 谁需要访问这些数据(管理层、市场分析师)?
- 主要利益相关者将如何使用这些数据(例如,确定即将推出的菜单中包含哪些项目,做出定价决策)?
观察团队的行动
Aviva 还花时间观察工作中的利益相关者,并询问他们在做什么以及为什么这样做的问题。这有助于她将项目目标与组织的更大计划联系起来。在这些观察中,她会询问为什么某些信息和活动对组织很重要。
在 BigQuery 中整理数据
Aviva 完成数据提取流程后,她会转换从不同利益相关方收集的数据,并将其加载到 BigQuery 中。然后,她使用 BigQuery 设计一个目标表来组织数据。目标表可帮助 Aviva 统一数据。然后,她使用目标表开发最终仪表板,供利益相关者查看。
结果
当利益相关者查看仪表板时,他们能够确定有关其季节性菜单上项目的受欢迎程度和盈利能力的几个关键发现。例如,数据表明,在过去几年中,其菜单上的许多薄荷产品的受欢迎程度有所下降,而肉桂产品的受欢迎程度却有所上升。这一发现导致利益相关者决定淘汰他们的三种薄荷饮料和烘焙食品。他们还决定增加一系列新的肉桂产品,并发起一项活动来推广这些产品。
主要发现
通过使用 BigQuery 等工具整理来自多个来源的数据,BI 专业人员可以找到业务问题的答案。将数据合并到目标表中还可以更轻松地开发仪表板供利益相关者查看。当利益相关者能够访问和理解数据时,他们就可以就如何改进服务或产品以及利用新机会做出更明智的决策。
将数据与目标表统一起来 #
正如您一直在学习的那样,目标表是发送管道数据的预定位置,以便在数据库系统中进行操作。从本质上讲,源表是数据的来源,目标表是数据的去向。此阅读提供了有关数据提取过程以及目标表如何适应商业智能过程的更大逻辑的详细信息。
数据提取
数据提取是从源系统(如数据库或 SaaS)获取数据的过程,以便将其传送到目标系统进行分析。您可能会认为这是 ETL(提取、转换和加载)管道的第一步。管道可以通过三种主要方式从源中提取数据,以便将其传递到目标表:
- 更新通知:当记录更新时,源系统会发出通知,从而触发提取。
- 增量提取:BI 系统检查源中已更改的任何数据并引入这些更新。
- 全量解压:BI系统将整张表解压到目标数据库系统中。
提取数据后,必须将其加载到目标表中以供使用。为了推动明智的业务决策,用户需要访问最新、干净且可用的数据。这就是为什么 BI 专业人员必须设计能够包含回答业务问题所需的所有信息的目标表。
目标表的重要性
作为 BI 专业人员,您将希望利用目标表来统一数据并使其可供用户访问。为了从各种不同的来源获得见解,拥有一个包含来自这些来源的所有数据的地方是必不可少的。
案例研究:Wayfair – 与利益相关者合作创建管道 #
在设计和迭代管道系统时与利益相关者合作是确保您部署的 BI 系统满足其业务需求的重要策略。在本案例研究中,您将了解电子商务家居零售商的 BI 团队如何Wayfair公司,总部位于马萨诸塞州波士顿,在整个项目中与利益相关者合作,创建一个适合他们的管道系统。
公司背景 #
老朋友 Niraj Shah 和 Steve Conine 于 2002 年创办了这家纯在线公司,当时他们决定为客户提供更多的选择——超出了实体空间的容纳范围。他们创办了这家公司,当时有200多家电子商务商店,每家商店都销售不同类别的产品。2011年,该公司将这些工厂合并成立 wayfair.com。
Wayfair现在是全球最大的家居零售商之一。该公司的目标是帮助每个人在任何地方创造家的感觉。它使客户能够创造反映他们是谁、他们需要什么以及他们看重什么的空间。
挑战 #
Wayfair 定价生态系统包括完整产品目录中的数千种不同的输入和输出,这些产品每天会多次更改。所有这些输入和输出都是以不同的方式从不同的来源产生的。因此,需要访问定价数据的 BI 团队和其他数据专业人员在查找、查询和解释完整数据集时遇到了麻烦。这导致了不完整且通常不准确的见解,对决策者没有用处。
为了解决这个问题,BI 团队决定设计和实施一个新的管道系统,以整合所需的所有数据利益相关者。他们还需要考虑管道系统面临的一些其他挑战:
- 设计中需要包括围绕这些流程的监控和报告,以跟踪和管理错误。
- 在与下游用户共享数据之前,数据需要干净。
- 由于要连接的数据类型多种多样,BI 团队还需要更好地了解数据关系,以便能够准确地整合数据。
- 需要举办培训课程,以帮助教育用户如何最好地访问和使用新数据集。
这些独特的挑战意味着,对于BI团队来说,在开发新系统以满足他们的需求并创建跨多个团队工作的东西时,与利益相关者密切合作尤为重要。
方法 #
鉴于系统内的数据量巨大,BI 团队必须退后一步,与利益相关者合作,真正了解他们当前如何使用数据。这包括了解他们试图解决的业务问题、他们已经使用的数据以及他们如何访问这些数据,以及他们想要使用但尚无法访问的数据。
一旦他们与利益相关者沟通,该团队就能够设计出一个实现三个关键目标的管道:
- 所有必需的数据都可以提供,并且易于理解和使用
- 该系统效率更高,可以毫不拖延地提供数据
- 该系统旨在随着数据集的垂直和水平扩展而扩展,以支持未来的增长
在完成初始设计后,将系统提交给利益相关者进行审查,以确保他们了解该系统并满足他们的所有需求。这个项目需要各种利益相关者和团队之间的协作:
- 软件工程师:软件工程师团队是数据的主要所有者和生成者,因此他们是了解数据当前状态的关键,并帮助 BI 团队访问数据。
- 数据架构师:BI 团队咨询了数据架构师,以确保管道设计是包罗万象、高效且可扩展的,以便 BI 团队能够处理系统摄取的数据量,并确保下游用户在系统扩展时能够访问数据。
- 数据专业人员:作为核心用户,这些团队提供了系统的用例和要求,以便 BI 团队可以确保管道满足他们的需求。由于每个团队的需求都不同,因此确保系统设计和包含的数据足够广泛以满足所有这些需求非常重要。
- 业务利益干系人:作为整个管道生成的见解的最终用户,业务利益干系人确保所有开发工作和用例都植根于明确的业务问题,以确保 BI 团队构建的内容可以立即应用于他们的工作。
在整个设计过程中与所有利益相关者进行沟通,确保 Wayfair BI 团队为他们的组织创造了有用且持久的东西。
结果 #
BI 团队实施的最终管道为整个组织实现了各种关键目标:
- 它使软件工程团队能够实时发布数据,供 BI 团队使用。
- 它将不同的数据组件整合到一个统一的数据集中,以便于访问和使用。
- 它允许 BI 团队将不同的数据组件存储在他们自己的单独暂存层中。
- 它包括用于监控和报告系统性能的附加流程,以通知用户故障发生的位置并实现快速修复。
- 它创建了一个统一的数据集,用户可以利用它来构建指标和报告数据。
这种管道解决方案的最大好处是,Wayfair 现在能够在一个地方为用户提供准确的信息,而无需自己加入不同的来源。这意味着该团队可以为利益相关者提供更准确的见解,并摆脱成本高昂的临时流程。
跨团队的反应非常积极。Wayfair 的分析总监表示,这对他们团队的日常工作来说是革命性的,因为他们第一次在同一个地方获得了有关零售价格、成本输入和产品状态的信息。这对他们的流程来说是一个巨大的好处,并帮助他们以更智能的方式处理数据。
结论 #
商业智能为组织提供的一个显着好处是,它使系统和流程对整个组织的用户更加高效和有效;基本上,BI使每个人的工作都变得更容易一些。确保 BI 团队与业务利益相关者和其他团队紧密结合对于他们的成功至关重要。没有良好的合作关系,问题就无法正确解决。
评论:数据模型和管道 #
结束语 #
嘿,到目前为止做得很好。 您几乎完成了本课程的第一部分。你学到了很多东西。到目前为止,我们已经讨论了 BI 专业人员在数据组织和存储中的作用。 您还调查了数据模型和架构、BI 专业人员如何根据组织的需求开发设计模式,以及如何设计数据库。 您已经了解了数据管道、ETL 流程和构建 BI 工具,这些工具有助于自动将数据从存储系统移动到目标目标。 您甚至已经开始使用工具开始构建自己的管道。 最后,您学习了从利益相关者那里收集信息的策略,以确保您为他们创建的工具能够真正解决业务问题。 但是,创建管理和移动数据的系统只是 BI 专业人员工作的一部分。 您还必须确保这些系统继续为您的利益相关者工作。 接下来,您将了解如何维护您的 BI 工具和优化的数据库系统。 我希望你很高兴能了解更多,因为我想与你分享更多。 但首先,你还有另一个挑战。 在继续下一次评估之前,请随时花一些时间阅读词汇表并查看该部分的任何内容。然后,当你准备好采取下一步行动时,我会在这里。
Module 1 中的词汇表术语 #
Attribute: In a dimensional model, a characteristic or quality used to describe a dimension
属性:在维度模型中,用于描述维度的特征或质量
Columnar database: A database organized by columns instead of rows
列式数据库:按列而不是行组织的数据库
Combined systems: Database systems that store and analyze data in the same place
组合系统:在同一位置存储和分析数据的数据库系统
Compiled programming language: A programming language that compiles coded instructions that are executed directly by the target machine
编译型编程语言:编译出由目标机器直接执行的编码指令的编程语言
Data lake: A database system that stores large amounts of raw data in its original format until it’s needed
数据湖:以原始格式存储大量原始数据直到需要时的数据库系统
Data mart: A subject-oriented database that can be a subset of a larger data warehouse
数据集市:面向主题的数据库,可以是较大数据仓库的子集
Data warehouse: A specific type of database that consolidates data from multiple source systems for data consistency, accuracy, and efficient access
数据仓库:一种特定类型的数据库,它整合来自多个源系统的数据,以实现数据一致性、准确性和高效访问
Database migration: Moving data from one source platform to another target database
数据库迁移:将数据从一个源平台移动到另一个目标数据库
Dimension (data modeling): A piece of information that provides more detail and context regarding a fact
维度(数据建模):提供有关事实的更多细节和上下文的信息
Dimension table: The table where the attributes of the dimensions of a fact are stored
维度表:存储事实维度属性的表
Design pattern: A solution that uses relevant measures and facts to create a model in support of business needs
设计模式:使用相关度量和事实来创建支持业务需求的模型的解决方案
Dimensional model: A type of relational model that has been optimized to quickly retrieve data from a data warehouse
维度模型:一种经过优化以从数据仓库快速检索数据的关系模型
Distributed database: A collection of data systems distributed across multiple physical locations
分布式数据库:分布在多个物理位置的数据系统的集合
Fact: In a dimensional model, a measurement or metric
事实:在维度模型中,测量或度量
Fact table: A table that contains measurements or metrics related to a particular event
事实表:包含与特定事件相关的测量或指标的表
Foreign key: A field within a database table that is a primary key in another table (Refer to primary key)
外键:一个数据库表中的字段,是另一个表中的主键(参考主键)
Functional programming language: A programming language modeled around functions
函数式编程语言:围绕函数建模的编程语言
Google DataFlow: A serverless data-processing service that reads data from the source, transforms it, and writes it in the destination location
Google DataFlow:一种无服务器数据处理服务,可从源读取数据、转换数据并将其写入目标位置
Interpreted programming language: A programming language that uses an interpreter, typically another program, to read and execute coded instructions
解释型编程语言:一种使用解释器(通常是另一个程序)来读取和执行编码指令的编程语言
Logical data modeling: Representing different tables in the physical data model
逻辑数据建模:表示物理数据模型中的不同表
Object-oriented programming language: A programming language modeled around data objects
面向对象的编程语言:围绕数据对象建模的编程语言
OLAP (Online Analytical Processing) system: A tool that has been optimized for analysis in addition to processing and can analyze data from multiple databases
OLAP(在线分析处理)系统:除了处理之外还针对分析进行了优化的工具,可以分析来自多个数据库的数据
OLTP (Online Transaction Processing) database: A type of database that has been optimized for data processing instead of analysis
OLTP(在线事务处理)数据库:一种针对数据处理而不是分析进行了优化的数据库
Primary key: An identifier in a database that references a column or a group of columns in which each row uniquely identifies each record in the table (Refer to foreign key)
主键:数据库中引用一列或一组列的标识符,其中每一行唯一标识表中的每条记录(参考外键)
Python: A general purpose programming language
Python:一种通用编程语言
Response time: The time it takes for a database to complete a user request
响应时间:数据库完成用户请求所需的时间
Row-based database: A database that is organized by rows
基于行的数据库:按行组织的数据库
Separated storage and computing systems: Databases where data is stored remotely, and relevant data is stored locally for analysis
存储和计算系统分离:数据远程存储的数据库,相关数据存储在本地进行分析
Single-homed database: Database where all of the data is stored in the same physical location
单宿主数据库:所有数据都存储在同一物理位置的数据库
Snowflake schema: An extension of a star schema with additional dimensions and, often, subdimensions
雪花模式:星型模式的扩展,具有附加维度,通常还有子维度
Star schema: A schema consisting of one fact table that references any number of dimension tables
星型模式:一种由一个事实表组成的模式,该事实表引用任意数量的维度表
Target table: The predetermined location where pipeline data is sent in order to be acted on
目标表:发送管道数据以便执行操作的预定位置
Terms and definitions from previous modules
先前模块中的术语和定义
A
Application programming interface (API): A set of functions and procedures that integrate computer programs, forming a connection that enables them to communicate
应用程序编程接口(API):一组集成计算机程序的功能和过程,形成使它们能够进行通信的连接
Applications software developer: A person who designs computer or mobile applications, generally for consumers
应用软件开发人员:通常为消费者设计计算机或移动应用程序的人
B
Business intelligence (BI): Automating processes and information channels in order to transform relevant data into actionable insights that are easily available to decision-makers
商业智能 (BI):自动化流程和信息渠道,将相关数据转化为决策者可以轻松获得的可行见解
Business intelligence governance: A process for defining and implementing business intelligence systems and frameworks within an organization
商业智能治理:在组织内定义和实施商业智能系统和框架的过程
Business intelligence monitoring: Building and using hardware and software tools to easily and rapidly analyze data and enable stakeholders to make impactful business decisions
商业智能监控:构建和使用硬件和软件工具来轻松快速地分析数据,并使利益相关者能够做出有影响力的业务决策
Business intelligence stages: The sequence of stages that determine both BI business value and organizational data maturity, which are capture, analyze, and monitor
商业智能阶段:决定 BI 业务价值和组织数据成熟度的阶段顺序,包括捕获、分析和监控
Business intelligence strategy: The management of the people, processes, and tools used in the business intelligence process
商业智能策略:对商业智能流程中使用的人员、流程和工具的管理
D
Data analysts: People who collect, transform, and organize data
数据分析师:收集、转换和组织数据的人员
Data availability: The degree or extent to which timely and relevant information is readily accessible and able to be put to use
数据可用性:及时获取和使用相关信息的程度或范围
Data governance professionals: People who are responsible for the formal management of an organization’s data assets
数据治理专业人员:负责组织数据资产正式管理的人员
Data integrity: The accuracy, completeness, consistency, and trustworthiness of data throughout its life cycle
数据完整性:数据在整个生命周期中的准确性、完整性、一致性和可信度
Data maturity: The extent to which an organization is able to effectively use its data in order to extract actionable insights
数据成熟度:组织能够有效使用其数据以提取可行见解的程度
Data model: A tool for organizing data elements and how they relate to one another
数据模型:一种用于组织数据元素及其相互关系的工具
Data pipeline: A series of processes that transports data from different sources to their final destination for storage and analysis
数据管道:将数据从不同来源传输到最终目的地进行存储和分析的一系列过程
Data visibility: The degree or extent to which information can be identified, monitored, and integrated from disparate internal and external sources
数据可见性:从不同的内部和外部来源识别、监控和集成信息的程度或范围
Data warehousing specialists: People who develop processes and procedures to effectively store and organize data
数据仓库专家:开发有效存储和组织数据的流程和程序的人员
Deliverable: Any product, service, or result that must be achieved in order to complete a project
可交付成果:为了完成项目而必须实现的任何产品、服务或结果
Developer: A person who uses programming languages to create, execute, test, and troubleshoot software applications
开发人员:使用编程语言创建、执行、测试软件应用程序并排除故障的人员
E
ETL (extract, transform, and load): A type of data pipeline that enables data to be gathered from source systems, converted into a useful format, and brought into a data warehouse or other unified destination system
ETL(提取、转换和加载):一种数据管道,可以从源系统收集数据,将其转换为有用的格式,然后将其带入数据仓库或其他统一的目标系统
Experiential learning: Understanding through doing
体验式学习:通过实践理解
I
Information technology professionals: People who test, install, repair, upgrade, and maintain hardware and software solutions
信息技术专业人员:测试、安装、维修、升级和维护硬件和软件解决方案的人员
Iteration: Repeating a procedure over and over again in order to keep getting closer to the desired result
迭代:一遍又一遍地重复一个过程,以不断接近期望的结果
K
Key performance indicator (KPI): A quantifiable value, closely linked to business strategy, which is used to track progress toward a goal
关键绩效指标(KPI):与业务战略密切相关的可量化值,用于跟踪目标的进展情况
M
Metric: A single, quantifiable data point that is used to evaluate performance
指标:用于评估绩效的单个可量化数据点
P
Portfolio: A collection of materials that can be shared with potential employers
作品集:可以与潜在雇主共享的材料集合
Project manager: A person who handles a project’s day-to-day steps, scope, schedule, budget, and resources
项目经理:处理项目日常步骤、范围、进度、预算和资源的人
Project sponsor: A person who has overall accountability for a project and establishes the criteria for its success
项目发起人:对项目负全部责任并为其成功制定标准的人
S
Strategy: A plan for achieving a goal or arriving at a desired future state
战略:实现目标或达到期望的未来状态的计划
Systems analyst: A person who identifies ways to design, implement, and advance information systems in order to ensure that they help make it possible to achieve business goals
系统分析师:确定设计、实施和推进信息系统的方法以确保它们有助于实现业务目标的人
Systems software developer: A person who develops applications and programs for the backend processing systems used in organizations
系统软件开发人员:为组织中使用的后端处理系统开发应用程序和程序的人员
T
Tactic: A method used to enable an accomplishment
战术:用于实现成就的方法
Transferable skill: A capability or proficiency that can be applied from one job to another
可转移技能:可以从一项工作应用于另一项工作的能力或熟练程度
V
Vanity metric: Data points that are intended to impress others, but are not indicative of actual performance and, therefore, cannot reveal any meaningful business insights
虚荣指标:旨在给他人留下深刻印象的数据点,但并不代表实际绩效,因此无法揭示任何有意义的业务见解
Module 1 challenge #
The Path to Insights: Data Models and Pipelines Module 1 challenge Quiz Answers (niyander.com)
Module 2 #
数据库性能 #
数据集市、数据湖和 ETL 流程 #
BI令人惊奇的一点是,工具和流程在不断发展。 这意味着 BI 专业人员总是有新的机会来构建和改进当前系统。 因此,让我们了解一下您作为 BI 专业人员可能会遇到的 其他一些有趣的数据存储和处理模式。在这些课程中,我们了解了利用数据仓库来满足其存储需求的数据库系统。作为复习,数据仓库是一种特定类型的数据库,它整合了来自多个源系统的数据,以实现数据的一致性、准确性和高效访问。
播放从::36开始的视频并按照成绩单进行操作0:36
基本上,数据仓库是来自公司所有系统的大量数据集合。 当公司使用一台机器来存储和计算他们的关系数据库 时,数据仓库非常普遍。然而,随着云技术的兴起和数据量的爆炸式增长,出现了新的数据存储和计算模式。 其中一个工具是数据集市,您可能还记得,数据集市是一个面向主题的数据库,可以是大型数据仓库的子集。 NBI,面向主题,描述与业务的特定领域或部门相关的事物,例如财务、销售或营销。 在学习过程中,BI 项目通常侧重于回答不同团队的各种问题。因此,数据集市是访问需要为特定项目提取的相关数据的便捷方式。 现在,让我们来看看数据湖。 数据湖是一种数据库系统,它以原始格式存储大量原始数据,直到需要为止。 这使得数据易于访问,因为它不需要大量处理。 与数据仓库一样,数据湖结合了许多不同的源,但数据仓库是分层的,其中包含文件和文件夹来组织数据。 虽然数据湖是扁平的,虽然数据已被标记以使其可识别,但它不是有组织的,它是流动的,这就是为什么它被称为数据湖。 数据湖不需要在存储之前转换数据。 因此,如果您的 BI 系统正在摄取许多不同的数据类型,它们非常有用。 但当然,国家最终需要组织和转型。 将数据湖集成到数据系统中的一种方法是通过 ELT,之前我们了解过 ETL 流程,其中数据从源提取到管道中。 在运输过程中进行转换,然后将其装载到目的地。 ELT 采用相同的步骤,但会重新组织它们,以便管道提取、加载然后转换数据。 基本上,ELT 是一种数据管道,可以从不同来源收集数据。通常是数据湖,然后加载到统一的目标系统中,并转换为有用的格式。 ELT 使 BI 专业人员能够在数据可用后立即 将许多不同类型的数据摄取到存储系统中。他们只需要转换他们需要的数据,ELT 还可以降低存储成本,并使企业能够独立扩展存储和计算资源。 随着技术的进步,可用的流程和工具也在进步,这很好。 一些最成功的 BI 专业人士做得很好,因为他们是好奇的终身学习者。
这是对该主题的简化解释:
数据模型和管道是任何数据驱动型组织的基础。数据模型是组织使用的数据的表示形式,数据管道是将数据从一个地方移动到另一个地方的过程。
数据仓库是一种用于存储大量数据的数据库。它们通常用于数据分析和报告。
数据集市是一种数据库,用于存储特定于特定业务单位或部门的数据。它们通常用于运营报告。
数据湖是一种用于存储大量原始数据的数据库。它们通常用于数据探索和机器学习。
ELT 是一个数据管道过程,涉及从源系统中提取数据,将其加载到数据湖中,然后将其转换为可用格式。
ETL 是一个数据管道过程,涉及从源系统中提取数据,将其转换为可用格式,然后将其加载到数据仓库或数据集市中。
BI 专业人员使用数据模型和管道来构建和维护支持组织决策过程的数据系统。
ETL versus ELT #
在本课程中,您已经了解了在数据库存储系统之间提取、转换和加载数据的 ETL 管道。您还开始了解较新的管道系统,例如提取、加载然后转换数据的 ELT 管道。在本阅读中,您将详细了解这两个系统之间的差异,以及不同类型的数据库存储如何适应这些系统。了解这些差异将帮助您做出促进性能和优化的关键决策,以确保组织的系统高效且有效。
这两个管道系统之间的主要区别在于它们转换和加载数据的顺序。在它们的构造和使用方式上还有一些其他关键差异:
差异 | ETL | ELT |
---|---|---|
提取、转换和加载数据的顺序 | 提取数据,在暂存区域中转换数据,然后加载到目标系统中 | 数据被提取,加载到目标系统中,并根据分析的需要进行转换 |
转换位置 | 数据被移动到暂存区域,在交付之前进行转换 | 数据在目标系统中进行转换,因此不需要暂存区域 |
技术时代 | ETL 已经使用了 20 多年,并且已经开发了许多工具来支持 ETL 管道系统 | ELT 是一种较新的技术,现有技术内置的支持工具较少 |
访问系统内的数据 | ETL 系统仅转换和加载构建仓库和管道时指定的数据 | ELT系统加载所有数据,允许用户随时选择要分析的数据 |
计算 | 在 ETL 系统中执行的计算会替换或修改现有列,以便将结果推送到目标表 | 计算将直接添加到现有数据集中 |
兼容的存储系统 | ETL 系统通常与结构化的关系数据仓库集成 | ELT 系统可以从数据湖等来源摄取非结构化数据 |
安全性和合规性 | 在将敏感信息加载到数据仓库之前,可以对其进行编辑或匿名化处理,从而保护数据 | 在数据匿名化之前,必须上传数据,使其更容易受到攻击 |
数据大小 | ETL 非常适合处理需要进行复杂转换的较小数据集 | ELT 非常适合使用大量结构化和非结构化数据的系统 |
等待时间 | ETL 系统的加载时间更长,但分析速度更快,因为当用户访问数据时,数据已经转换 | ELT 系统中的数据加载速度非常快,因为无需等待转换即可摄取数据,但分析速度较慢 |
数据存储系统
由于 ETL 和 ELT 系统处理数据的方式略有不同,因此它们经过优化,可与不同的数据存储系统配合使用。具体而言,您可能会遇到数据仓库和数据湖。作为复习,数据仓库是一种数据库,它整合了来自多个源系统的数据,以实现数据的一致性、准确性和高效访问。数据湖是一种数据库系统,它以原始格式存储大量原始数据,直到需要为止。虽然这两个系统执行相同的基本功能,但存在一些关键区别:
数据仓库 | 数据湖 |
---|---|
数据已经处理并存储在关系系统中 | 数据是原始的,未经处理,直到需要分析;此外,它可以具有整个 OLTP 或关系数据库的副本 |
数据的用途已分配,并且数据当前正在使用中 | 数据的用途尚未确定 |
对系统进行更改可能很复杂,并且需要大量工作 | 系统易于访问且易于更新 |
还有一种特定类型的数据仓库可以用作数据源:数据集市。数据集市在设计方式上与数据仓库非常相似,只是它们要小得多。通常,数据集市是数据仓库的单个子集,涵盖有关单个主题的数据。
关键要点
目前,提取、转换和加载数据的 ETL 系统以及提取、加载然后转换数据的 ELT 系统是构建管道系统的常用方式,用于将数据移动到需要去的地方。了解这些系统之间的差异可以帮助您识别何时可能想要实现其中一个系统。而且,随着业务和技术的变化,将有很多机会使用这些数据系统设计新的解决方案来解决业务问题。
数据库性能的五大因素 #
我们一直在研究数据库优化,以及为什么确保用户能够尽可能高效地从系统中获取他们需要的东西很重要。优化是否成功可以通过数据库性能来衡量。 数据库性能是数据库可以处理的工作负载以及相关成本的度量。在此视频中,我们将考虑影响数据库性能、工作负载、吞吐量、资源、优化和争用的因素。首先,我们将从工作负载开始。 在BI中,工作负载是指数据库系统在任何给定时间处理的事务、查询、分析和系统命令的组合。数据库的工作负载每天都会大幅波动,这很常见,具体取决于正在处理的作业以及与数据库交互的用户数量。 好消息是,您通常可以预测这些波动。 例如,在月底处理报告时,工作量可能会更高,或者在假期前的工作量可能非常轻。 接下来,我们有吞吐量。 吞吐量是数据库硬件和软件处理请求的整体能力。吞吐量由输入和输出速度、中央处理器单元速度、机器运行并行进程的能力、数据库管理系统以及操作系统和系统软件组成。 基本上,吞吐量描述了系统可以处理的工作负载大小。 让我们进入资源。 在 BI 中,资源是可用于数据库系统的硬件和软件工具。这包括磁盘空间和内存。 资源是数据库系统处理请求和处理数据能力的重要组成部分。它们也可能波动,尤其是在硬件或其他专用资源与其他数据库、软件应用程序或服务共享时。此外,基于云的系统特别容易出现波动。 请记住,外部因素会影响性能。 现在我们来谈谈优化。 优化涉及最大化速度和效率检索数据的熟练程度,以确保高水平的数据库性能。 这是BI专业人员一次又一次地返回的最 重要因素之一。即将到来,我们将更详细地讨论它。 最后,数据库性能的最后一个因素是争用。 当两个或多个组件尝试以冲突的方式使用单个资源 时,就会发生争用。这真的会减慢速度。 例如,如果有多个进程试图更新同一条数据,则这些进程处于争用状态。 随着争用的增加,数据库的吞吐量会降低。 尽可能限制争用将有助于确保数据库以最佳状态运行。 其中有五个因素:数据库性能、工作负载、吞吐量、资源、优化和争用。 接下来,我们将查看这些因素的示例,以便您可以更多地了解每个因素对数据库性能的贡献。
这是对该主题的简化解释:
数据库性能是衡量数据库处理其工作负载的能力的指标。它受多种因素影响,包括:
- 工作量:数据库系统在任何给定时间处理的事务、查询、分析和系统命令的组合。
- 吞吐量:数据库硬件和软件处理请求的整体能力。
- 资源:可用于数据库系统的硬件和软件工具,例如磁盘空间和内存。
- 优化:最大限度地提高数据检索速度和效率的过程,以确保高水平的数据库性能。
- 冲突:当两个或多个组件尝试以冲突的方式使用单个资源时。
通过了解这些因素,您可以采取措施提高数据库的性能。
以下是提高数据库性能的一些其他提示:
- 使用索引:索引可以帮助数据库更快地查找数据。
- 缓存数据:缓存数据有助于减少数据库从磁盘读取数据的次数。
- 调整查询:可以对查询进行调整,使其更有效率。
- 监视数据库:监视数据库可以帮助您识别和解决性能问题。
数据库性能的五个因素指南 #
数据库性能是 BI 专业人员的重要考虑因素。正如您一直在学习的那样,数据库性能是数据库可以处理的工作负载以及相关成本的度量。优化涉及最大限度地提高数据检索的速度和效率,以确保高水平的数据库性能。这意味着您的利益相关者可以最快地访问他们所需的数据,从而做出快速而明智的决策。您还了解到,数据库性能有五个因素:工作负载、吞吐量、资源、优化和争用。
五大因素
在本阅读材料中,您将快速了解您可以随时参考的五个因素,以及帮助概述这些概念的示例。在此示例中,您是一名 BI 专业人员,与销售团队合作,深入了解客户购买习惯并监控当前营销活动的成功。
因素 | 定义 | 例 |
---|---|---|
工作量 | 数据库系统在任何给定时间处理的事务、查询、数据仓库分析和系统命令的组合。 | 每天,您的数据库需要处理销售报告、执行收入计算并响应利益相关者的实时请求。所有这些需求都代表了数据库需要能够处理的工作负载。 |
吞吐量 | 数据库硬件和软件处理请求的整体能力。 | 系统的吞吐量是输入和输出速度、CPU 速度、机器运行并行进程的能力、数据库管理系统以及操作系统和系统软件的组合。 |
资源 | 可用于数据库系统的硬件和软件工具。 | 数据库系统主要是基于云的,这意味着它依靠在线资源和软件来维护功能。 |
优化 | 最大限度地提高数据检索的速度和效率,以确保高水平的数据库性能。 | 持续检查数据库是否以最佳方式运行是团队 BI 专业人员工作的一部分。 |
冲突 | 当两个或多个组件尝试以冲突的方式使用单个资源时。 | 由于此系统会自动生成报告并响应用户请求,因此有时它可能会尝试同时对相同的数据集运行查询,从而导致用户速度变慢。 |
优化数据库性能 #
最近,我们学到了很多关于数据库性能的知识。 作为复习,这是对数据库可以处理的工作负载以及相关成本的度量。我们还探讨了优化,这是数据库性能的最重要因素之一。您还记得,优化涉及最大限度地提高数据检索的速度和效率,以确保高水平的数据库性能。 在本视频中,我们将重点介绍优化以及 BI 专业人员如何通过检查资源使用情况并确定更好的数据源和结构来优化数据库。同样,目标是使系统能够以最合理的成本处理尽可能大的工作负载。这需要快速响应时间,即数据库响应用户请求所需的时间。下面是一个示例。想象一下,您是一名 BI 专业人员,收到来自团队人员的电子邮件,他们说他们从数据库中提取所需数据所需的时间比平时更长。乍一看,这似乎是一个很小的不便,但缓慢的数据库可能会造成干扰,并花费您的团队大量时间。 如果他们在需要提取数据或执行计算时必须停下来等待,这确实会影响他们的工作。 用户遇到此问题的原因可能有几个。 查询可能未完全优化,或者数据库未正确编制索引或分区。 也许数据是零散的,没有足够的内存或 CPU。 让我们逐一检查一下。 首先,如果用户为与数据库交互而编写的查询效率低下,它实际上会减慢数据库资源的速度。 为了避免这种情况,第一步是简单地重新访问查询,以确保它们尽可能高效。 下一步是考虑查询计划。 在使用 SQL 的关系数据库系统中,查询计划是对数据库系统执行查询所采取的步骤的描述。正如你所了解的,查询告诉系统要做什么,但不一定告诉如何去做。 查询计划就是方法。 如果查询运行缓慢,请检查查询计划,以确定是否有步骤导致更多 draw than necessary 可能会有所帮助。这是另一个迭代过程。 检查查询计划后,可以重写查询或创建新表,然后再次检查查询计划。 现在让我们考虑索引。 索引是用于在数据库系统中快速查找数据的组织标记。如果数据库中的表尚未完全编制索引,则数据库可能需要更长的时间才能找到资源。 在处理大数据的基于云的系统中,可能有数据分区而不是索引。 数据分区是将数据库划分为不同逻辑部分的过程,以改进查询处理并提高可管理性。 系统内的数据分布极为重要。 确保数据被适当且一致地分区,也是优化的一部分。 下一个问题是碎片化的数据。 当数据被分解成许多未存储在一起的部分 时,就会发生碎片化数据。通常是由于频繁使用数据或创建、删除或修改文件。例如,如果您经常访问相同的数据,并且其版本保存在缓存中,则这些版本实际上会导致系统中出现碎片。 最后,如果您的数据库无法满足组织的需求,则可能意味着没有足够的内存来处理每个人的请求。 确保您的数据库有能力处理您要求它的所有内容,这一点至关重要。 再看一下我们的例子。 您收到了一些来自团队的电子邮件,指出从数据库访问数据所需的时间比平时更长。 在从您的团队那里了解到速度变慢后,您能够评估情况并进行一些修复。 通过解决这些问题,您可以确保数据库为您的团队尽可能高效地工作。问题解决了。但数据库优化是一个持续的过程,您需要继续监控性能以保持一切顺利运行。
简要:
数据库优化是提高数据库性能的过程。这可以通过以下方式完成:
- 调整数据库:这涉及调整数据库的设置以提高性能。
- 索引数据:这将创建一个特殊的数据结构,使查找数据的速度更快。
- 对数据进行分区:这会将数据划分为更小的块,从而提高性能。
- 对数据进行非规范化处理:这涉及在多个表中复制数据,这可以提高某些类型的查询的性能。
数据库优化是数据库管理的重要组成部分。通过优化数据库,可以提高应用程序的性能,并使用户更容易访问数据。
以下是优化数据库的一些其他提示:
- 使用正确的数据类型:选择最适合每列的数据类型。
- 避免使用 NULL 值:NULL 值可能会减慢查询速度。
- 明智地使用索引:索引可以提高性能,但也会减慢插入和更新的速度。
- 对数据进行分区:分区可以提高大型数据库的性能。
- 对数据进行非规范化处理:非规范化可以提高某些类型的查询的性能。
索引、分区和其他优化方法 #
数据读取优化
数据库的持续任务之一是读取数据。读取是解释和处理数据以使其对用户可用和有用的过程。正如您一直在学习的那样,数据库优化是最大限度地提高数据检索速度和效率的关键,以确保高水平的数据库性能。优化读取是提高用户数据库性能的主要方法之一。接下来,您将详细了解优化数据库以读取数据的不同方法,包括索引和分区、查询和缓存。
指标
有时,当您阅读一本包含大量信息的书时,它会在书的后面包含一个索引,其中该信息按主题组织,并为每个参考文献列出了页码。如果您知道自己想要查找什么,这可以节省您的时间——而不是翻阅整本书,您可以直接转到索引,这将引导您找到所需的信息。
数据库中的索引基本相同——它们使用数据库表中的键来非常快速地搜索数据库中的特定位置,而不是整个位置。这就是为什么它们对数据库优化如此重要的原因——当用户在完全索引的数据库中运行搜索时,它可以更快地返回信息。例如,具有列 ID、Name 和 Department 的表可以使用具有相应名称和 ID 的索引。
现在,数据库可以很容易地快速地在较大的表中找到名称,以便使用索引中的这些 ID 进行搜索。
分区
数据分区是加快数据库检索速度的另一种方法。分区有两种类型:垂直分区和水平分区。水平分区是最常见的,它涉及设计数据库,以便按逻辑分组而不是按列存储行。不同的行存储在不同的表中——这减小了索引大小,使从数据库中写入和检索数据变得更加容易。
分区不是创建索引表来帮助数据库更快地搜索数据,而是将更大、更笨拙的表拆分为更易于管理的更小的表。
在此示例中,较大的销售表被分解为较小的表 – 这些较小的表更易于查询,因为数据库不需要一次搜索那么多数据。
其他优化方法
除了使用索引和分区使数据库更易于搜索之外,还可以优化实际搜索以提高可读性,或使用系统的缓存内存来节省检索常用数据的时间。
查询
查询是从数据库中请求数据或信息。在许多情况下,您可能有一个定期运行的查询集合;这些可能是生成报告的自动查询,也可能是用户进行的定期搜索。
如果未优化这些查询,则它们可能需要很长时间才能将结果返回给用户,并且通常会占用数据库资源。您可以执行以下操作来优化查询:
- 考虑业务需求:了解业务需求可以帮助您确定真正需要从数据库中提取哪些信息,并避免通过要求提供您实际上不需要的数据而给系统带来不必要的压力。
- 避免使用 SELECT* 和 SELECT DISTINCT:使用 SELECT* 和 SELECT DISTINCT 会导致数据库必须分析大量不必要的数据。相反,您可以尽可能通过选择特定字段来优化查询。
- 使用 INNER JOIN 而不是子查询:使用子查询会导致数据库分析大量结果,然后对其进行筛选,这比一开始就简单地连接表需要更多的时间。
此外,还可以使用预聚合查询来增加数据库读取功能。基本上,预聚合数据意味着汇总在表中测量某些指标所需的数据,这样每次对数据运行查询时都不需要重新捕获数据。
如果您有兴趣了解有关优化查询的更多信息,可以查看Devart 关于 SQL 查询优化的文章。
缓存
最后,缓存是优化数据库可读性的有用方法。从本质上讲,缓存是可以存储表和查询的短期内存层。通过查询缓存而不是数据库系统本身,您实际上可以节省资源。你可以从内存中获取你需要的东西。
例如,如果您经常访问年度销售报告的数据库,则可以将这些报告保存在缓存中并直接从内存中提取它们,而不是要求数据库一遍又一遍地生成它们。
关键要点
本课程重点关注数据库优化,以及作为 BI 专业人员,您如何确保为团队构建的系统和解决方案继续尽可能高效地运行。使用这些方法是在团队成员访问数据库系统时提高数据库速度和可用性的关键方法。接下来,您将有机会自己使用这些概念!
活动示例:在 BigQuery 中对数据进行分区并创建索引 #
这是一个完整的示例,并解释了该示例如何满足对活动的期望。
范例评估
将示例与您完成的活动进行比较。使用示例中的每个标准审查您的工作。你做得好的地方是什么?您可以在哪些方面改进?使用您对这些问题的回答来指导您继续学习课程。
在上一个活动中,您运行了创建具有分区和索引的表的 SQL 代码。分区和索引可帮助您创建特定行的快捷方式,并将大型数据集划分为更小、更易于管理的表。通过创建分区和索引,您可以构建更快、更高效的数据库,从而在需要分析或可视化数据时更轻松地提取数据。
创建表后,对这些表运行查询以比较其性能并演示分区和索引的有用性。
在每个步骤中,您都绘制了“详细信息”或“执行详细信息”窗格的屏幕截图,以便与以下示例图像进行比较。这将帮助您确保正确完成活动。它还将解释您创建的表和运行的查询彼此不同的原因的上下文。在本阅读结束时,您将了解此活动如何证明分区和群集可以加快查询速度并优化数据库性能。
请注意,这些查询的答案可能会有所不同,具体取决于您使用的是沙盒版还是免费试用版/完整版 BigQuery。沙盒版本可能无法读取完整数据集,因此您收到的表大小可能与完整版本中从查询中获得的结果不匹配。本文介绍了沙盒版和完整版的结果,因此无论您如何使用 BigQuery,都可以检查自己的工作。
探索示例
表详细信息
这是您创建的没有分区或索引的表的“详细信息”窗格。它仅描述表大小(逻辑字节和活动字节的 4.37MB)和行数 (41,025)。
这是使用分区创建的表的“详细信息”窗格。它具有与第一个详细信息窗格相同的详细信息,但也包括有关表类型(分区)以及创建分区的字段(年份)的详细信息。
沙盒限制意味着此表没有大小,但仍会使用查询创建。表大小为 0B,其中有一个部分包括“表类型:分区”、“分区依据:整数范围”、“分区日期:年份”和“分区筛选器:不需要”。还显示了分区范围的开始 (2015)、结束 (2022) 和间隔。完整版的表大小为 4.37MB,但它具有相同的附加分区部分。
这是使用分区和群集创建的表的“详细信息”窗格。它具有与前两个图像相同的详细信息,但也包括按类型列对数据进行聚类 。表的沙盒版本可能没有表大小,但完整版本的总逻辑字节和活动字节数为 4.37MB。
执行细节
然后,“执行详细信息”窗格将比较每个表的查询性能。在沙盒中,对于分区表、分区表和群集表的查询,不会显示这些详细信息。如果您使用的是沙盒,请记下该部分中的屏幕截图。
注意:屏幕上的“工作时间”部分的颜色或持续时间可能会有所不同。您的 SQL 查询可能需要更长或更短的时间才能运行,具体取决于不同的 BigQuery 引擎服务器速度。屏幕可能与以下屏幕截图不匹配,但读取的记录和写入的记录应与“行”部分匹配。
这是您在没有分区或群集的情况下创建的表上的查询的“执行详细信息”窗格。读取的行数是表上的总行数。您可以在 S00:Input 部分找到此内容,其中记录读取:41,025,记录记录:3。
这是按整数范围分区的表上所创建的查询的“执行详细信息”窗格。您会注意到读取的记录数较少。现在,读取的记录数:16,953 和记录记录数:3.在此查询中,数据库仅处理由 where 子句(类型)筛选的分区中的记录。在选择要分区的列时,最有效的方法是选择一个在 where 子句中经常使用的列。
这是您创建的按类型列聚集的表上的查询的“执行详细信息”窗格。读取的记录数:16,953 和记录数:3.通常,对聚簇表的查询处理的记录数少于分区表。但是,您在此活动中使用的数据集太小,无法正确证明这种差异。在其他项目中,您可能会发现对表进行聚类会导致读取的记录显著减少。
关键要点
此活动演示了在数据库表中使用分区和索引(在 BigQuery 中称为集群)的影响。您可以使用它们来优化查询性能并最大程度地降低处理成本。在本练习中,应用分区和聚类分析意味着 BigQuery 可以将所有 41,025 条记录分解为更小、更易于管理的表以供读取。对于更大的数据集,分区的好处将更加明显。使用此技术可在将来的项目中优化数据库性能。
案例研究:Deloitte – 优化过时的数据库系统 #
在课程的这一部分中,您一直在学习数据库优化的重要性。这基本上意味着最大限度地提高数据检索的速度和效率,以确保高水平的数据库性能。BI 专业人员的部分工作是检查资源使用情况并确定更好的数据源和结构。在本案例研究中,您将有机会探索 BI 团队如何德勤当他们发现用户难以查询其当前数据库时,进行了优化。
公司背景
德勤与独立律所合作,为特定客户提供审计与鉴证、咨询、风险与财务咨询、风险管理、税务及相关服务。德勤的品牌愿景是成为该领域的卓越标准,并在为客户制定领先战略和尖端工具以促进其业务发展时维护其品牌价值。这些价值观包括诚信、为客户提供卓越价值、对社区的承诺以及文化多样性的力量。
挑战
由于公司的规模和不断变化的数据需求,数据库不断增长和变化以匹配当前问题,而没有时间考虑长期性能。正因为如此,数据库最终发展成为没有清晰连接或一致格式的非托管表的集合。这使得查询数据并将其转换为可以有效指导决策的信息变得困难。
由于团队必须不断跟踪数据,并且必须反复测试和证明数据的有效性,因此对优化的需求逐渐出现。借助新优化的数据库,数据可以更容易地被理解、信任并用于做出有效的业务决策。
该数据库主要包含营销和财务数据,理想情况下,这些数据可用于连接营销活动和销售线索,以评估哪些活动是成功的。但是,由于数据库的当前状态,没有明确的方法将成功与特定的营销活动联系起来并评估其财务业绩。这一举措面临的最大挑战是,对外部数据源进行编程,以便将数据直接馈送到新数据库中,而不是馈送到计划弃用的先前表中。此外,数据库设计需要考虑表示数据生命周期的表,并设计有可以轻松且逻辑地支持不同数据查询和请求的联接。
方法
由于项目的规模和组织的特定需求,BI 团队决定设计自己的数据库系统,以便在整个组织中实施。这样一来,数据库的架构将真正捕获他们的数据需求,并周到地连接表,以便它们更易于查询和使用。
例如,该团队希望能够轻松地将营销活动财务成功的初始估计与其最终价值以及内部流程预测活动成功与否联系起来。与最初估计数相比,增加是好的,但如果估计数经常远高于实际结果,则可能表明用于编制这些估计数的工具存在问题。但是,在数据库的当前状态下,会计组中有数十个表正在创建访问问题,从而阻止了这些见解的获取。此外,不同的会计组有很多重叠之处,团队希望更周到地构建这些组,以便更长期地使用。
为了实现这些目标,该团队制定了架构战略,开发了检查点以确定是否可以开发并最终扩展所需的功能,并创建了一个迭代系统,其中可以对数据库系统进行定期更新,以继续完善它。
为了使数据库优化项目取得成功,BI 团队希望解决以下问题:
- 是否以更有用的方式合并了必要的表和列?
- 新的架构和密钥是否满足了分析师团队的需求?
- 重复查询了哪些表,它们是否可访问且合乎逻辑?
- 哪些示例查询可以提高用户对系统的信心?
各种合作伙伴和利益相关者必须参与优化项目,因为整个组织中的许多用户都会受到影响。与 BI 团队合作的数据库管理员和工程师对这个项目特别重要,因为他们领导了数据库的设计和创建,映射了数据的生命周期,因为它的成熟和随时间变化,并将其用作构建逻辑数据流设计的框架。
然后,这些工程师与各种利益相关者进行了访谈,以了解整个组织团队的业务需求,对新系统进行了分析师团队的培训,并弃用了不起作用的旧表。
结果
德勤的BI团队认识到,虽然数据库不断更新以满足不断变化的业务需求,但随着时间的推移,管理起来变得越来越困难。为了提高数据库性能并确保其数据库能够满足其需求,BI 团队与数据库工程师和管理员合作设计了一个自定义数据库体系结构,该体系结构周到地满足了组织的业务需求。例如,新的数据库结构有助于在跟踪营销活动及其成功的表格之间建立联系,包括收入数据和区域位置。
这种数据库优化工作有很多好处。最大的好处是组织能够信任他们的数据——分析师团队不必在使用前花费太多时间来验证数据,因为这些表现在以更合乎逻辑的方式组织和连接。新体系结构还促进了更简单的查询。新数据库无需编写数百行复杂的代码来返回简单的答案,而是针对更简单、更短的查询进行了优化,运行时间更短。
这为整个组织的团队带来了好处:
- 营销团队能够就特定活动创造的价值获得更好的反馈。
- 销售团队可以访问有关其区域和地区的特定信息,从而深入了解可能的弱点和扩展机会。
- 战略团队能够弥合营销和销售团队之间的差距,并最终为未来创建可操作的 OKR(目标和关键结果)。
但是,正如您一直在学习的那样,数据库优化是一个迭代过程。BI 团队的工作在实施新的数据库设计后并没有停止。他们还指定了一个团队来监督数据治理,以确保数据质量并防止同样的问题再次发生。这样,数据保持井井有条,并且该团队可以根据不断变化的业务需求继续完善开发的数据库。
结论
组织存储数据的数据库是您创建的 BI 流程和工具的关键部分,如果数据库性能不佳,它将影响整个组织,并使向利益相关者提供他们做出明智业务决策所需的数据变得更加困难。优化数据库可以提高团队中每个人的高性能和更好的用户体验。
前面,我们了解了数据库性能的五个因素:工作负载、吞吐量、资源、优化和争用。 但是它们如何在工作系统中实际运行。 让我们探索一个数据库,看看这五个因素如何影响其性能。 在我们讨论这五个因素如何影响这个数据库之前,让我们先了解一下它是如何设计的。 在此示例中,我们将检查一个电影院连锁系统。 在优化过程中,我们需要考虑一些事项。 首先,让我们考虑一下这个数据库的用途。 在这种情况下,连锁电影院使用与购票、收入和观众偏好相关的数据来决定播放哪些电影和潜在的促销活动。 其次,我们将考虑数据的来源。 在此示例中,它从多个源推送到进行分析的 OLAP 系统中。 此外,该数据库还使用来自各个影院OLTP系统的数据,以探索不同电影时间和类型的趋势和门票销售。 管理事务数据的 OLTP 系统使用 snowflake 数据库模型。 在中心有一个事实表,记录了有关机票的最重要信息,例如是否预订了特定座位、预订类型、放映 ID。 输入预订的人员的员工 ID 和座位号。 为了捕获有关这些事实的详细信息,该模型还包括几个连接到事实表的维度表,其中包含有关员工、电影、放映、礼堂、座位和预订的信息。 该数据库相当简单,使每个电影院能够在这些不同的表中记录数据,并防止他们意外地两次预订同一个座位。 但是,这些单独的 OLTP 系统不是为分析而设计的,这就是需要将数据拉入目标 OLAP 系统的原因。 在那里,用户可以访问和探索它,以获得洞察力并做出业务决策。 好了,现在我们对数据库有了更多的了解,让我们来看看数据库性能的五个因素是如何影响它的。 首先,如您所知,工作负载是数据库系统在任何给定时间处理的事务、查询、数据仓库分析和系统命令的组合。在这种情况下,大部分工作负载是处理用户请求,例如生成计划报告或履行查询。 如果数据库无法处理工作负载,则可能会导致系统崩溃 中断用户访问和使用数据的能力。也许报告需要大量资源来生成,或者可能会有越来越多的分析师访问这些数据。 但我们知道,通常可以预测高峰工作负载时间。 因此,我们可以进行调整以确保系统能够处理这些请求。 现在,让我们来探讨一下吞吐量。 同样,这是数据库硬件和软件处理请求的整体能力。由于我们的电影院系统主要专注于分析来自 OLTP 数据库的数据,因此使用的是主要使用云存储的 OLAP 数据库。 数据库存储进程和系统内的计算机正在访问云数据。 需要能够处理影院的工作负载,尤其是在数据库系统被大量使用的情况下。 构成系统吞吐量的硬件和软件是资源。 例如,电影院可能使用缓存控制器光盘来帮助数据库管理存储和检索内存系统中的数据。 接下来,我们进行优化,您已经学到了很多东西。 理想情况下,用户应该能够访问从多个其他数据库系统引入的事务数据。如果检索速度变慢,则可能需要更长的时间才能获取数据并向利益相关者提供见解。 这就是为什么即使在设置数据库之后保持数据库优化也很重要的原因。 最后一个因素,数据库性能是争用。 这家电影院公司有一个由许多不同的分析师组成的团队来访问和使用这些数据。 这是对应用于数据和生成的报告的自动转换的补充。所有这些请求最终都可能相互竞争并引起争用。 如果系统同时处理多个请求,这可能会导致问题,基本上是一遍又一遍地进行相同的更新。 为了限制这种情况,数据库会处理查询和发出请求的顺序。 现在,您有机会探索数据库性能的五个因素如何影响真正的数据库系统。 无论多么简单或复杂,这些都是任何 BI 职业的基本考虑因素。
这里是对数据库性能的五个因素的简化解释:
工作负载是数据库必须执行的工作量。这包括正在执行的事务、查询和其他操作的数量。高工作负载可能会导致数据库速度变慢甚至崩溃。
吞吐量是数据库可以处理工作的速率。这是由运行数据库的硬件和软件决定的。高吞吐量可以帮助数据库处理大型工作负载,而不会减慢速度。
资源是数据库用于处理工作的组件。这包括 CPU、内存和存储。拥有足够的资源可以帮助数据库提高其吞吐量。
优化是使数据库更有效率的过程。这可能涉及调整数据库的设置、创建索引以及使用其他技术来提高性能。
争用是不同用户或进程之间对资源的竞争。当多个用户尝试同时访问相同的数据时,可能会发生这种情况。争用可能导致数据库速度变慢甚至崩溃。
通过了解这五个因素,可以帮助提高数据库的性能。
以下是提高数据库性能的一些其他提示:
- 使用专为您需要执行的工作类型而设计的数据库。
- 为您的数据库选择合适的硬件和软件。
- 调整数据库的设置以优化性能。
- 创建索引以提高查询速度。
- 使用其他技术来减少争用。
通过遵循这些提示,您可以帮助确保数据库以最佳状态运行。
确定最有效的查询 #
到目前为止,您已经了解了影响数据库性能和数据库查询优化的因素。这是 BI 专业人员工作的重要组成部分,因为它使他们能够确保他们的团队使用的工具和系统尽可能高效。现在,你已更熟悉这些概念,你将查看一个示例。
方案
Francisco’s Electronics最近在其电子商务网站上推出了其家庭办公产品线。在收到客户的积极回应后,公司决策者选择将其余产品添加到网站上。自推出以来,他们已获得超过 10,000,000 的销售额。虽然这对企业来说是件好事,但如此庞大的销售记录目录影响了他们数据库的速度。销售经理 Ed 希望在 2021 年 11 月 1 日之后在“电子产品”类别中运行查询,但由于数据库速度太慢而无法查询。他要求 BI 分析师 Xavier 使用数据库并优化查询,以加快销售报告的生成速度。
首先,Xavier 检查了如下所示的 sales_warehouse 数据库架构。该架构包含不同的符号和连接器,它们表示两个重要信息:系统中的主要表以及这些表之间的关系。
sales_warehouse数据库架构包含五个表(Sales、Products、Users、Locations 和 Orders),这些表通过键连接。这些表包含 5 到 8 列(或属性),数据类型范围不等。数据类型包括 varchar 或 char(或字符)、整数、十进制、日期、文本(或字符串)、时间戳和位。
Sales 表中的外键链接到其他每个表。“product_id”外键链接到 Products 表,“user_id”外键链接到 Users 表,“order_id”外键链接到 Orders 表,“shipping_address_id”和“billing_address_id”外键链接到 Locations 表。
检查 SQL 查询
在考虑了细节后,Xavier 发现以下请求需要优化:
优化查询
为了提高此查询的效率,Xavier 首先检查了“日期”和“类别”字段是否已编制索引。为此,他运行了以下查询:
在用于查询限制的列中没有索引的情况下,引擎会执行全表扫描,处理所有数百万条记录,并检查哪些记录的日期 >= “2021-11-01” 和 category = “electronics”。
然后,他使用以下 SQL 代码对 Sales 表中的“date”字段和 Products 表中的“category”字段编制索引:
不幸的是,即使在添加索引后,查询仍然很慢。假设在“2021-11-01”之后只创建了几千个销售,则查询仍然创建了一个非常大的虚拟表(加入销售和产品)。在过滤掉日期在“2021-11-01”之后的销售额和“电子产品”类别的销售额之前,它有数百万条记录。这导致了低效且缓慢的查询。
为了使查询更快、更高效,Xavier 对其进行了修改,首先筛选出日期在“2021-11-01”之后的销售。查询“(SELECT product_id FROM Sales WHERE date > ‘2021-11-01’) AS oi” 仅返回几千条记录,而不是数百万条记录。然后,他将这些记录与“产品”表联接起来。
Xavier 的最终优化查询是:
关键要点
优化查询将使管道操作更快、更高效。作为 BI 专业人员,您可能会处理具有超大数据集的项目。对于这些项目,编写尽可能快速高效的 SQL 查询非常重要。否则,您的数据管道可能会很慢且难以使用。
Test your knowledge: Database performance #
Question 1
Fill in the blank: A data mart is a _____ database that can be a subset of a larger data warehouse. This means it is a convenient way to access the data pertaining to specific areas or departments of a business.
- Categorical
- Departmental
- Subject-oriented
- Specialized
Question 2
A business intelligence team manager wants to support their team’s ability to perform at a high level. They investigate the overall capability of their company’s database hardware and software tools to enable the team to process stakeholder requests. In this situation, which of the factors of database performance do they consider?
- Optimization
- Resources
- Throughput
- Workload
Question 3:What term is used to describe data that is broken up into many pieces that are not stored together?
- Fragmented data
- Modified data
- Split data
- Archived data
评论:动态数据库设计 #
Module 2 中的词汇表术语 #
Contention: When two or more components attempt to use a single resource in a conflicting way
争用:当两个或多个组件尝试以冲突的方式使用单个资源时
Data partitioning: The process of dividing a database into distinct, logical parts in order to improve query processing and increase manageability
数据分区:将数据库划分为不同的逻辑部分以改进查询处理并提高可管理性的过程
Database performance: A measure of the workload that can be processed by a database, as well as associated costs
数据库性能:衡量数据库可以处理的工作负载以及相关成本的指标
ELT (extract, load, and transform): A type of data pipeline that enables data to be gathered from data lakes, loaded into a unified destination system, and transformed into a useful format
ELT(提取、加载和转换):一种数据管道,可以从数据湖收集数据,加载到统一的目标系统中,并转换为有用的格式
Fragmented data: Data that is broken up into many pieces that are not stored together, often as a result of using the data frequently or creating, deleting, or modifying files
碎片数据:通常由于频繁使用数据或创建、删除或修改文件而导致数据被分成许多部分,并且没有存储在一起。
Index: An organizational tag used to quickly locate data within a database system
索引:用于在数据库系统中快速定位数据的组织标签
Optimization: Maximizing the speed and efficiency with which data is retrieved in order to ensure high levels of database performance
优化:最大限度地提高数据检索的速度和效率,以确保高水平的数据库性能
Query plan: A description of the steps a database system takes in order to execute a query
查询计划:数据库系统执行查询所采取步骤的描述
Resources: The hardware and software tools available for use in a database system
资源:可在数据库系统中使用的硬件和软件工具
Subject-oriented: Associated with specific areas or departments of a business
面向主题:与企业的特定领域或部门相关
Throughput: The overall capability of the database’s hardware and software to process requests
吞吐量:数据库软硬件处理请求的整体能力
Workload: The combination of transactions, queries, data warehousing analysis, and system commands being processed by the database system at any given time
工作负载:数据库系统在任何给定时间处理的事务、查询、数据仓库分析和系统命令的组合
Terms and definitions from previous modules
先前模块中的术语和定义
A
Application programming interface (API): A set of functions and procedures that integrate computer programs, forming a connection that enables them to communicate
应用程序编程接口(API):一组集成计算机程序的功能和过程,形成使它们能够进行通信的连接
Applications software developer: A person who designs computer or mobile applications, generally for consumers
应用软件开发人员:通常为消费者设计计算机或移动应用程序的人
Attribute: In a dimensional model, a characteristic or quality used to describe a dimension
属性:在维度模型中,用于描述维度的特征或质量
B
Business intelligence (BI): Automating processes and information channels in order to transform relevant data into actionable insights that are easily available to decision-makers
商业智能 (BI):自动化流程和信息渠道,将相关数据转化为决策者可以轻松获得的可行见解
Business intelligence governance: A process for defining and implementing business intelligence systems and frameworks within an organization
商业智能治理:在组织内定义和实施商业智能系统和框架的过程
Business intelligence monitoring: Building and using hardware and software tools to easily and rapidly analyze data and enable stakeholders to make impactful business decisions
商业智能监控:构建和使用硬件和软件工具来轻松快速地分析数据,并使利益相关者能够做出有影响力的业务决策
Business intelligence stages: The sequence of stages that determine both BI business value and organizational data maturity, which are capture, analyze, and monitor
商业智能阶段:决定 BI 业务价值和组织数据成熟度的阶段顺序,包括捕获、分析和监控
Business intelligence strategy: The management of the people, processes, and tools used in the business intelligence process
商业智能策略:对商业智能流程中使用的人员、流程和工具的管理
C
Columnar database: A database organized by columns instead of rows
列式数据库:按列而不是行组织的数据库
Combined systems: Database systems that store and analyze data in the same place
组合系统:在同一位置存储和分析数据的数据库系统
Compiled programming language: A programming language that compiles coded instructions that are executed directly by the target machine
编译型编程语言:编译出由目标机器直接执行的编码指令的编程语言
D
Data analysts: People who collect, transform, and organize data
数据分析师:收集、转换和组织数据的人员
Data availability: The degree or extent to which timely and relevant information is readily accessible and able to be put to use
数据可用性:及时获取和使用相关信息的程度或范围
Data governance professionals: People who are responsible for the formal management of an organization’s data assets
数据治理专业人员:负责组织数据资产正式管理的人员
Data integrity: The accuracy, completeness, consistency, and trustworthiness of data throughout its life cycle
数据完整性:数据在整个生命周期中的准确性、完整性、一致性和可信度
Data lake: A database system that stores large amounts of raw data in its original format until it’s needed
数据湖:以原始格式存储大量原始数据直到需要时的数据库系统
Data mart: A subject-oriented database that can be a subset of a larger data warehouse
数据集市:面向主题的数据库,可以是较大数据仓库的子集
Data maturity: The extent to which an organization is able to effectively use its data in order to extract actionable insights
数据成熟度:组织能够有效使用其数据以提取可行见解的程度
Data model: A tool for organizing data elements and how they relate to one another
数据模型:一种用于组织数据元素及其相互关系的工具
Data pipeline: A series of processes that transports data from different sources to their final destination for storage and analysis
数据管道:将数据从不同来源传输到最终目的地进行存储和分析的一系列过程
Data visibility: The degree or extent to which information can be identified, monitored, and integrated from disparate internal and external sources
数据可见性:从不同的内部和外部来源识别、监控和集成信息的程度或范围
Data warehouse: A specific type of database that consolidates data from multiple source systems for data consistency, accuracy, and efficient access
数据仓库:一种特定类型的数据库,它整合来自多个源系统的数据,以实现数据一致性、准确性和高效访问
Data warehousing specialists: People who develop processes and procedures to effectively store and organize data
数据仓库专家:开发有效存储和组织数据的流程和程序的人员
Database migration: Moving data from one source platform to another target database
数据库迁移:将数据从一个源平台移动到另一个目标数据库
Deliverable: Any product, service, or result that must be achieved in order to complete a project
可交付成果:为了完成项目而必须实现的任何产品、服务或结果
Developer: A person who uses programming languages to create, execute, test, and troubleshoot software applications
开发人员:使用编程语言创建、执行、测试软件应用程序并排除故障的人员
Dimension (data modeling): A piece of information that provides more detail and context regarding a fact
维度(数据建模):提供有关事实的更多细节和上下文的信息
Dimension table: The table where the attributes of the dimensions of a fact are stored
维度表:存储事实维度属性的表
Design pattern: A solution that uses relevant measures and facts to create a model in support of business needs
设计模式:使用相关度量和事实来创建支持业务需求的模型的解决方案
Dimensional model: A type of relational model that has been optimized to quickly retrieve data from a data warehouse
维度模型:一种经过优化以从数据仓库快速检索数据的关系模型
Distributed database: A collection of data systems distributed across multiple physical locations
分布式数据库:分布在多个物理位置的数据系统的集合
E
ETL (extract, transform, and load): A type of data pipeline that enables data to be gathered from source systems, converted into a useful format, and brought into a data warehouse or other unified destination system
ETL(提取、转换和加载):一种数据管道,可以从源系统收集数据,将其转换为有用的格式,然后将其带入数据仓库或其他统一的目标系统
Experiential learning: Understanding through doing
体验式学习:通过实践理解
F
Fact: In a dimensional model, a measurement or metric
事实:在维度模型中,测量或度量
Fact table: A table that contains measurements or metrics related to a particular event
事实表:包含与特定事件相关的测量或指标的表
Foreign key: A field within a database table that is a primary key in another table (Refer to primary key)
外键:一个数据库表中的字段,是另一个表中的主键(参考主键)
Functional programming language: A programming language modeled around functions
函数式编程语言:围绕函数建模的编程语言
G
Google DataFlow: A serverless data-processing service that reads data from the source, transforms it, and writes it in the destination location
Google DataFlow:一种无服务器数据处理服务,可从源读取数据、转换数据并将其写入目标位置
I
Information technology professionals: People who test, install, repair, upgrade, and maintain hardware and software solutions
信息技术专业人员:测试、安装、维修、升级和维护硬件和软件解决方案的人员
Interpreted programming language: A programming language that uses an interpreter, typically another program, to read and execute coded instructions
解释型编程语言:一种使用解释器(通常是另一个程序)来读取和执行编码指令的编程语言
Iteration: Repeating a procedure over and over again in order to keep getting closer to the desired result
迭代:一遍又一遍地重复一个过程,以不断接近期望的结果
K
Key performance indicator (KPI): A quantifiable value, closely linked to business strategy, which is used to track progress toward a goal
关键绩效指标(KPI):与业务战略密切相关的可量化值,用于跟踪目标的进展情况
L
Logical data modeling: Representing different tables in the physical data model
逻辑数据建模:表示物理数据模型中的不同表
M
Metric: A single, quantifiable data point that is used to evaluate performance
指标:用于评估绩效的单个可量化数据点
O
Object-oriented programming language: A programming language modeled around data objects
面向对象的编程语言:围绕数据对象建模的编程语言
OLAP (Online Analytical Processing) system: A tool that has been optimized for analysis in addition to processing and can analyze data from multiple databases
OLAP(在线分析处理)系统:除了处理之外还针对分析进行了优化的工具,可以分析来自多个数据库的数据
OLTP (Online Transaction Processing) database: A type of database that has been optimized for data processing instead of analysis
OLTP(在线事务处理)数据库:一种针对数据处理而不是分析进行了优化的数据库
P
Portfolio: A collection of materials that can be shared with potential employers
作品集:可以与潜在雇主共享的材料集合
Primary key: An identifier in a database that references a column or a group of columns in which each row uniquely identifies each record in the table (Refer to foreign key)
主键:数据库中引用一列或一组列的标识符,其中每一行唯一标识表中的每条记录(参考外键)
Project manager: A person who handles a project’s day-to-day steps, scope, schedule, budget, and resources
项目经理:处理项目日常步骤、范围、进度、预算和资源的人
Project sponsor: A person who has overall accountability for a project and establishes the criteria for its success
项目发起人:对项目负全部责任并为其成功制定标准的人
Python: A general purpose programming language
Python:一种通用编程语言
R
Response time: The time it takes for a database to complete a user request
响应时间:数据库完成用户请求所需的时间
Row-based database: A database that is organized by rows
基于行的数据库:按行组织的数据库
S
Separated storage and computing systems: Databases where data is stored remotely, and relevant data is stored locally for analysis
存储和计算系统分离:数据远程存储的数据库,相关数据存储在本地进行分析
Single-homed database: Database where all of the data is stored in the same physical location
单宿主数据库:所有数据都存储在同一物理位置的数据库
Snowflake schema: An extension of a star schema with additional dimensions and, often, subdimensions
雪花模式:星型模式的扩展,具有附加维度,通常还有子维度
Star schema: A schema consisting of one fact table that references any number of dimension tables
星型模式:一种由一个事实表组成的模式,该事实表引用任意数量的维度表
Strategy: A plan for achieving a goal or arriving at a desired future state
战略:实现目标或达到期望的未来状态的计划
Systems analyst: A person who identifies ways to design, implement, and advance information systems in order to ensure that they help make it possible to achieve business goals
系统分析师:确定设计、实施和推进信息系统的方法以确保它们有助于实现业务目标的人
Systems software developer: A person who develops applications and programs for the backend processing systems used in organizations
系统软件开发人员:为组织中使用的后端处理系统开发应用程序和程序的人员
T
Tactic: A method used to enable an accomplishment
战术:用于实现成就的方法
Target table: The predetermined location where pipeline data is sent in order to be acted on
目标表:发送管道数据以便执行操作的预定位置
Transferable skill: A capability or proficiency that can be applied from one job to another
可转移技能:可以从一项工作应用于另一项工作的能力或熟练程度
V
Vanity metric: Data points that are intended to impress others, but are not indicative of actual performance and, therefore, cannot reveal any meaningful business insights
虚荣指标:旨在给他人留下深刻印象的数据点,但并不代表实际绩效,因此无法揭示任何有意义的业务见解
Module 2 challenge #
优化管道和ETL流程 #
欢迎来到Module 3 #
您已经学到了很多关于 BI 专业人员如何确保其组织的数据库系统和工具继续尽可能有用的知识。 这包括评估是否需要修复或更新,并在必要时执行优化。 以前,我们专注于优化数据库系统。 现在是时候探索优化管道和 ETL 流程了。 在本课程的这一部分中,您将了解 ETL 质量测试、数据架构验证、验证业务规则和一般性能测试。 通过 ETL 质量测试,BI 专业人员旨在确认数据已提取、转换并加载到其目的地,没有任何错误或问题。 这一点尤其重要,因为有时您的管道可能会开始产生不良或误导性的结果。 当原始来源在您不知情的情况下被更改时,可能会发生这种情况。此外,我们很快将介绍数据架构验证,它用于使源数据与目标数据库架构保持一致。 架构不匹配可能会导致系统故障。 这对于保持 ETL 平稳运行至关重要。 我们还将研究数据完整性以及内置质量检查如何防御潜在问题。 最后,我们将重点关注验证业务规则和常规性能测试,以确保管道满足预期的业务需求。 还有很多事情要做。因此,让我们开始探索管道和 ETL 的优化过程。
质量检测的重要性 #
您已经熟悉 ETL 管道,其中数据从源中提取,在移动时进行转换,然后加载到目标表中,以便对其进行操作。 ETL流程中转型步骤的一部分是质量测试。 在BI中,质量测试是检查数据缺陷以防止系统故障的过程。 目标是确保管道继续正常工作。 质量测试可能很耗时,但它对组织的工作流程极为重要。质量测试涉及七个验证要素:完整性、一致性、一致性、准确性、冗余性、完整性和及时性。 要记住很多元素,但我们将在本视频中分解每个元素,从完整性开始。 此外,您可能还记得 Google 数据分析证书中的一些概念。如果您愿意,请花几分钟时间查看该内容,然后再继续。 让我们从检查完整性开始。 这涉及确认数据包含所有所需的组件或度量。 例如,假设您正在处理销售数据,并且您有一个 ETL 管道,该管道将每月数据传送到目标表。 这些目标表用于为利益相关者生成报告。 如果通过管道移动的数据缺少一周的数据或有关最畅销产品之一或其他关键指标的信息,则用于创建报告的计算将没有完整准确的数据。 接下来,我们有一致性。 您可能已经了解到,在数据分析上下文中,一致性涉及数据从不同入口点或收集点的可重复性程度。在 BI 中,情况略有不同。 在这里,一致性涉及确认数据在所有系统之间是兼容和一致的。 想象一下两个系统,一个是包含员工数据的人力资源数据库,另一个是工资系统。 如果 HR 数据库列出的员工不在工资单系统中,或者在那里列出的方式不同,那么这种不一致可能会产生问题。 其次是一致性。 此元素是关于数据是否适合所需的目标 f奥马特。考虑 ETL 管道中的销售数据。 如果提取的数据包含的销售日期与目标表设计保存的日期不匹配,则会产生错误。 现在,准确性与符合被测量或描述的实际实体的数据有关。另一种思考方式是数据是否代表真实值。 考虑到这一点,任何输入错误的条目或来自源的错误都是有问题的,因为它们将反映在目标中。 需要大量手动数据输入的源系统更有可能出现准确性问题。 如果一个汉堡包的购买被遗漏了,因为卖了一百万美元,那么在加载数据之前,你需要注意这一点。如果您使用的是关系存储数据库,则确保数据中没有任何冗余是质量测试的另一个重要元素。 在 BI 上下文中,冗余是指移动、转换或存储超过必要数据的数据。 当同一条数据存储在两个或多个位置时,就会发生这种情况。通过管道移动数据需要处理能力、时间和资源。 重要的是不要移动超过您需要的数据。 例如,如果客户公司名称列在多个位置,但只需要出现在目标表中的一个位置,我们不希望在加载冗余数据上浪费资源。 现在我们来谈谈诚信。 完整性涉及数据在其整个生命周期中的准确性、完整性、一致性和可信度。在质量测试中,这通常意味着检查数据值中是否存在任何缺失的关系。 例如,假设公司销售数据库是关系型的,BI专业人员将依靠这些关系来操作数据库中的数据并查询数据。 也许他们在数据库中有产品 ID 和描述。 但是,如果有描述并且没有相应的 ID 记录,则现在存在数据完整性问题。 在继续分析之前 ,必须确保这个问题得到解决。数据映射是确保源中的数据与目标数据库中的数据匹配。 稍后将详细介绍此内容。 但基本上,数据映射是将字段从一个数据源匹配到另一个数据源的过程。 最后但并非最不重要的一点是,你要确保你的数据是及时的。 及时性包括确认数据是最新的。 此检查专门用于确保数据已使用可提供相关见解的最新信息进行更新。例如,如果数据仓库应包含每日数据,但未正确更新,则管道无法引入最新信息。 BI 专业人员最感兴趣的是探索当前数据,以便让利益相关者获得最新的见解。 如果要移动的数据已经过时, 这绝对是不可能的。ETL 质量测试涉及很多内容,这可能是一个棘手的过程,但记住这七个关键要素是创建高质量管道的第一步。接下来,您将了解有关这些检查和 ETL 流程的其他性能测试的更多信息。再见。
简要:
ETL 流水线中的质量测试
ETL 管道将数据从一个系统移动到另一个系统。质量测试可确保数据在加载到目标系统之前准确、完整和一致。
质量检测的七大要素:
- 完整性:所有必要的数据都存在。
- 一致性:数据在所有系统中都是兼容和一致的。
- 整合:数据符合所需的目标格式。
- 准确性:数据代表真实价值。
- 冗余:不会移动或存储任何不必要的数据。
- 正直:数据准确、完整、一致且值得信赖。
- 及时:数据是最新的和最新的。
质量检测的重要性:
- 防止系统故障
- 确保准确的报告和分析
- 通过及早发现错误来节省时间和资源
现实生活中的例子:
想象一下,您正在处理销售数据。您有一个 ETL 管道,用于将每月数据传送到用于报告的目标表。如果数据缺少一周的数据或有关畅销产品的信息,则报告将不准确。质量测试有助于在影响决策之前识别和纠正这些错误。
ETL 管道中质量测试的真实示例:
完整性:
- 验证客户数据库是否包含所有必要的信息,例如姓名、地址和联系方式。
一致性:
- 确保相同的客户记录在多个系统(如 CRM 和计费系统)中一致显示。
整合:
- 检查源系统中的数据格式是否与目标系统所需的格式匹配。例如,确保日期格式正确(例如,YYYY-MM-DD)。
准确性:
- 验证数据是否准确反映了现实世界。例如,验证报表中的销售数据是否与实际销售记录匹配。
冗余:
- 识别和删除数据集中的重复记录,以避免浪费存储空间和处理时间。
正直:
- 检查数据元素之间是否存在缺失或无效的关系。例如,确保客户记录具有有效的地址和电话号码。
及时:
- 验证数据是否是最新的,并反映最新的更改。例如,确保销售报告包含最新的销售数据。
质量测试的好处:
- 提高数据质量和准确性
- 减少错误和系统故障
- 提高效率和生产力
- 基于可靠数据的增强决策
质量检测的七大要素 #
在课程的这一部分中,您一直在了解 ETL 系统中质量测试的重要性。这是检查数据是否存在缺陷以防止系统故障的过程。理想情况下,管道应内置检查点,以便在缺陷到达目标数据库系统之前识别这些缺陷。这些检查点确保传入的数据已经干净且有用!在本阅读材料中,您将获得一份清单,了解您的 ETL 质量测试应考虑哪些因素。
检查数据质量包括确保数据在到达目的地之前是可信的。在考虑需要哪些检查来确保数据在管道中移动时的质量时,应考虑以下七个要素:
- 完整性:数据是否包含所有所需的组件或度量值?
- 一致性:数据在所有系统之间是否兼容和一致?
- 一致性:数据是否符合所需的目标格式?
- 准确性:数据是否符合被测量或描述的实际实体?
- 冗余:是否仅移动、转换和存储必要的数据以供使用?
- 及时性:数据是最新的吗?
- 完整性:数据是否准确、完整、一致和值得信赖?(诚信受前面提到的品质的影响。定量验证(包括检查重复项、记录数量和列出的数量)有助于确保数据的完整性。
常见问题
您还可以在系统内防止一些常见问题,以确保传入数据不会在数据库系统中导致错误或其他大规模问题:
- 检查数据映射:源中的数据是否与目标数据库中的数据匹配?
- 检查不一致:源系统和目标系统之间是否存在不一致?
- 检查数据是否准确:数据是否正确,是否反映了被测量的实际实体?
- 检查重复数据:目标系统中是否已存在此数据?
若要解决这些问题并确保数据满足质量测试的所有七个要素,可以在管道中构建中间步骤,根据已知参数检查加载的数据。例如,为了确保数据的及时性,您可以添加一个检查点,用于确定该数据是否与当前日期匹配;如果传入数据未通过此检查,则需要标记上游问题。在设计过程中考虑这些检查将确保您的管道提供高质量的数据,并且随着时间的推移需要更少的维护。
关键要点
BI 的一大优点是它为我们提供了自动化某些流程的工具,有助于在数据分析期间节省时间和资源——在您的 ETL 管道系统中构建质量检查是您可以做到这一点的方法之一!确保您已经在考虑数据从一个系统移动到另一个系统时的完整性、一致性、一致性、准确性、冗余性、完整性和及时性,这意味着您和您的团队以后不必手动检查数据。
使用 SQL 监控数据质量 #
如您所知,监控数据质量非常重要。通过监视数据,您可以了解 ETL 管道和数据仓库设计中可能出现的任何问题。这可以帮助您尽早解决问题并避免将来出现问题。
在本阅读中,你将遵循一个虚构的场景,其中 BI 工程师对其管道执行质量测试,并建议可用于每个测试步骤的 SQL 查询。
方案
在电子制造公司 Francisco’s Electronics,一位名叫 Sage 的 BI 工程师设计了一个用于分析和报告的数据仓库。在 ETL 流程设计之后,Sage 创建了架构图。
sales_warehouse数据库架构的关系图 包含不同的符号和连接器,它们表示两个重要信息:系统内的主要表以及这些表之间的关系。
sales_warehouse数据库架构包含五个表:
- 销售
- 产品
- 用户
- 地点
- 订单
这些表通过键连接。这些表包含 5 到 8 列(或属性),数据类型范围不等。数据类型包括 varchar 或 char(或字符)、整数、十进制、日期、文本(或字符串)、时间戳和位。
Sales 表中的外键链接到其他每个表:
- “product_id”外键链接到 Products 表
- “user_id”外键链接到 Users 表
- “order_id”外键链接到 Orders 表
- “shipping_address_id”和“billing_address_id”外键链接到 Locations 表
在Sage制作了sales_warehouse数据库后,开发团队对销售网站进行了更改。因此,原始 OLTP 数据库已更改。现在,Sage 需要确保 ETL 管道正常工作,并且仓库数据与原始 OLTP 数据库匹配。
Sage 使用商店数据库中的原始 OLTP 架构 来设计仓库。
商店数据库架构还包含五个表(Sales、Products、Users、Locations 和 Orders),这些表通过键连接。这些表包含 4 到 8 列,数据类型各不相同。数据类型包括 varchar 或 char、整数、十进制、日期、文本、时间戳、位、tinyint 和 datetime。
存储数据库中的每个表 都有一个 id 字段作为主键。该数据库包含以下表:
- “销售额”表包含价格、数量和日期列。它引用进行销售 (UserId)、购买产品 (ProductId) 和相关订单 (OrderId) 的用户。此外,它还引用了 送货地址和帐单地址的 Locations 表(分别为 ShippingAddressId 和 BillingAddressId)。
- “用户”表包含 FirstName、LastName、Email、Password 和其他与用户相关的列。
- “位置”(Locations) 表格包含地址信息(地址 1、地址 2、城市、省/自治区/直辖市/
- “产品”(Products) 表格包含“产品名称”、“价格”、“库存编号”和“产品类别”。
- “订单”表包含“订单号”和购买信息(小计、运费、税费、总计和 地位)。
使用 SQL 查找问题
Sage 将 sales_warehouse 数据库与原始存储数据库进行了比较,以检查完整性、一致性、一致性、一致性、准确性、冗余性、完整性和及时性。Sage 运行 SQL 查询来检查数据并识别质量问题。然后,Sage准备了以下列表表,其中包括发现的质量问题的类型,违反的质量策略,用于查找问题的SQL代码以及问题的具体描述。
质量检测sales_warehouse
经过测试的质量 | 质量战略 | SQL 查询 | Sage的观察 |
---|---|---|---|
正直 | 数据是否准确、完整、一致和可信? | SELECT * FROM 订单 | 在sales_warehouse数据库中,ID 为 7 的订单的总价值不正确。 |
完整性 | 数据是否包含所有所需的组件或度量? | 从位置选择 COUNT(*) | sales_warehouse数据库的“位置”表 具有一个额外的地址。在存储数据库中有 60 条记录,而sales_warehouse数据库表中有 61 条记录。 |
一致性 | 数据是否在所有系统之间兼容和一致? | SELECT Phone FROM 用户 | sales_warehouse数据库中的几个用户 的电话没有“+”前缀。 |
整合 | 数据是否符合所需的目标格式? | 选择 ID,邮政编码 FROM sales_warehouse。地点 | sales_warehouse数据库中 ID 为 6 的记录的位置邮政编码 为 722434213,这是错误的。美国邮政编码包含五位数字或五位数字,后跟一个连字符(破折号)和另外四位数字(例如,12345-1234)。 |
质量检测店
特征 | 质量战略 | SQL 查询 | 圣人的观察 |
---|---|---|---|
正直 | 数据是否准确、完整、一致和可信? | 描述用户 | 存储数据库 中的 Users.Status 和 sales_warehouse 数据库中的 Users.is_active 似乎是相关字段。但是,如何将“状态”列转换为is_active布尔值列并不明显。使用新的状态值时,ETL 管道是否有可能失败? |
一致性 | 数据是否在所有系统之间兼容和一致? | DESCRIBE 产品描述 | store 数据库中的 Products.Inventory 具有 varchar 类型,而不是 sales_warehouse 数据库 Products.inventory 中的 int(10)田。如果字符有值,这可能是一个问题。 |
准确性 | 数据是否与被测量或描述的实际实体相符? | 描述销售 | 商店数据库中 Sales.Date 的数据类型与其在 sales_warehouse 中的数据类型 不同(日期与日期时间)。如果时间对于sales_warehouse数据库事实数据表不重要,则可能不是问题。 |
冗余 | 是否仅移动、转换和存储必要的数据以供使用? | 描述销售 | sales_warehouse 数据库中的表 Sales 对 OrderId、ProductId、UserId 列具有唯一的索引约束 。它可以添加到仓库架构中。 |
关键要点
测试数据质量是 BI 专业人员的一项基本技能,可确保良好的分析和报告。就像Sage在此示例中所做的那样,您可以使用SQL命令来检查BI数据库并发现潜在问题。您越早知道系统中的问题,就能越早修复它们并提高数据质量。
质量数据是有用的数据 #
我叫 Mana,是 Google 的高级技术数据项目经理。 这意味着我与业务合作伙伴合作,并帮助创建工具,帮助他们利用数据做出更好的决策。 我是一个大数据书,所以我喜欢玩弄数据,并构建很酷的东西,让人们的工作变得更容易。 有句俗话说,在没有数据的情况下,你就会有污垢。 我想更进一步。 我想说的是,在没有好数据的情况下,你就有污垢。 质量测试就是如何确保你有良好的数据。 好的数据可能意味着许多不同的事情。 通常,这意味着准确的数据。 你如何确保你产生的数字是正确的,它们代表了事实。 它也可以表示相关数据。 它也可以意味着具有代表性的数据。 这也可能意味着触手可及的快速数据。 质量控制过程是确保您正在构建的有关数据的工具是准确、有用、相关和及时的。 在构建 BI 产品的整个生命周期中,质量测试在很多时候都会发挥作用。 如果您想到可能有人试图从日志中提取数据的早期阶段,您将需要确保提取的数据准确无误。 这是通过日志传入的相同数据,可能是我正在创建的从数据集市中吐出的相同数据。在您的 ETL 流程中,ETL 意味着提取、转换和加载。 当你抓取数据时,你正在转换它,你正在按摩它,你正在与这些数据建立相关性。 你要确保你输入的数据与你吐出的数据相同。 我记得当我还是一个年轻的专业人士时,我总是在想象有一天我会进入一家数据必杀技的公司,他们所有的数据都会如此干净、完美,这真是太神奇了,我可以毫无顾虑地查询它。 事实是,涅槃在任何地方都不存在。 数据总是有问题。 总会出现错误。 甚至您今天看到的数据也可能与您看到的数据不同明天。嵌入质量测试,不仅是一次性的,而且是作为管道或正在构建的任何内容的常规过程,具有非常重要的意义,因为错误是必然会发生的。 有几件事我希望我在刚开始的时候就知道。 我希望我能够完全认识到我在这个部门有多少技能来自我生活的其他部分,而不是传统的 BI 技能,因此,对自己更有信心,因为我带着非常出色的讲故事技巧进来,我真的能够磨练。尽管我不是软件工程师,但我有很多编码经验,并且知道很多我能够实施的最佳实践。 我想说的是,如果你觉得自己可能不是最强的领域,那么如果你保持好奇心,保持开放,保持谦虚,你找到那些非常擅长这些领域的人,你问他们,嘿,你是怎么做到的? 要知道,你可以学习,你可以在这些能力上成长,你可以不断变得全面。 作为人类,我们有自己的优势和成长领域 是很正常的。但成功并不是与生俱来的。 它有能力不断让自己变得更好,而不是成为专家,而只是变得比昨天更好。
这是对该主题的简化解释:
质量测试是确保您使用的数据准确、相关和及时的过程。这很重要,因为糟糕的数据会导致错误的决策。
有许多不同的方法可以测试数据质量。一些常用方法包括:
- 数据验证:这涉及检查以确保数据符合某些条件,例如在特定范围内或具有特定格式。
- 数据分析:这涉及分析数据以识别可能表明数据质量问题的任何模式或趋势。
- 数据清理:这涉及更正或删除任何不准确或不完整的数据。
数据质量测试是任何数据分析过程的重要组成部分。通过确保您的数据准确可靠,您可以做出更好的决策并从数据中获得更多价值。
以下是确保数据质量的一些其他提示:
- 使用数据质量工具。有许多不同的数据质量工具可以帮助您自动执行测试和清理数据的过程。
- 记录您的数据质量流程。这将帮助您确保数据质量流程的一致性和可重复性。
- 监控您的数据质量。定期检查您的数据,以确保它仍然准确可靠。
通过遵循这些提示,您可以帮助确保您的数据具有最高质量,并且您正在做出最佳决策。
Test your knowledge: Optimize pipelines and ETL processes
#
Question 1
What is the business intelligence process that involves checking data for defects in order to prevent system failures?
- Data governance
- Business intelligence monitoring
- Quality testing
- Query planning
Question 2
Fill in the blank: Completeness is a quality testing step that involves confirming that the data contains all desired ____ or components.
- Context
- Columns
- Measures
- Fields
Question 3
A business intelligence professional is considering the integrity of their data throughout its life cycle. Which of the following goals do they aim to achieve? Select all that apply.
- Data is encrypted
- Data is accurate and complete
- Data is consistent
- Data is trustworthy
数据架构验证 #
从源头到目的地的一致性 #
您正在了解质量测试和 ETL 的重要性,并且您现在知道该过程的一个关键部分是检查一致性或数据是否符合所需的目标格式。 为了确保从源头到目的地的一致性,BI专业人员有三个非常有效的工具; 架构验证、数据字典和数据沿袭。 在本视频中,我们将探讨它们如何帮助您建立一致的数据治理。 首先,架构验证是确保源系统数据架构与目标数据库数据架构匹配的过程。 在学习过程中,如果架构不一致,这可能会导致难以修复的系统故障。 在工作流中构建架构验证对于防止这些问题非常重要。 数据库工具提供了各种架构验证选项,可用于根据目标架构要求检查传入数据。例如,您可以规定某一列仅包含数值数据。 然后,如果您尝试在该列中输入不符合的内容,系统将标记错误。 或者,在关系数据库中,可以指定 ID 号必须是唯一的字段。 这意味着,如果与现有条目匹配 ,则无法添加相同的 ID。这样可以防止数据中的冗余。 使用这些属性和操作,如果数据不符合要求并引发错误,您将收到警报,或者如果它满足要求,您将知道它是有效且安全的加载。 架构验证属性应确保三件事。 转换后,密钥仍然有效。 表关系已保留,并且约定在整个数据库中是一致的。 让我们从钥匙开始。 正如您一直在学习的那样,关系数据库使用主键和外键在表之间建立关系。 将数据从一个系统移动到另一个系统后 ,这些密钥应继续起作用。例如,如果源系统使用 customer_id 作为密钥,则该密钥必须有效,目标架构也必须有效。这与架构验证的下一个属性相关,确保表关系已保留。 获取数据时在源系统中,这些键在目标系统中保持有效非常重要,这样关系仍可用于连接表,或者转换它们以匹配目标架构。 例如,如果customer_id键不适用于我们的目标系统,则将其用作主键或外键的所有表都将断开连接。 如果表之间的关系被破坏,并且在移动数据时,数据将变得难以访问和使用,这就是我们将其移动到目标系统的全部原因。最后,您需要确保约定与目标数据库的架构一致。 有时,来自外部源的数据使用不同的约定来命名列和表。 例如,您可以有一个源系统,它使用员工 ID 作为一个词来标识该字段,但目标数据库可能使用employee_id。 您需要确保这些内容是一致的,以便在尝试提取数据进行分析时不会出现错误。 除了属性本身之外,还有一些其他文档工具支持数据架构验证; 数据字典和数据沿袭。 数据字典是描述数据库中数据对象的内容、格式和结构及其关系的信息集合。您可能还会听到这称为元数据存储库。 您可能知道元数据是关于数据的数据。 这是 BI 中一个非常重要的概念,因此,如果您想查看 Google Data Analytics 证书中有关元数据的一些课程,请立即执行此操作。就数据字典而言,它们表示元数据,因为它们基本上使用一种类型的数据(元数据)来定义另一条数据的用途和来源。 您可能希望为团队创建数据字典 的原因有多种。 一方面,它有助于避免整个项目的不一致。 此外,它还使您能够定义其他团队成员需要了解的任何约定,以便在团队之间建立更多的一致性。 最重要的是,它使数据更易于处理。 现在,让我们来探讨一下数据沿袭。 数据沿袭描述进程识别数据的来源,它在整个系统中的位置,以及它如何随时间变化。 这很有用,因为如果确实遇到错误,您可以跟踪该数据的沿袭,并了解导致问题的过程中发生了什么。 然后,您可以制定标准以避免将来出现相同的问题。 使用架构验证、数据字典和数据沿袭确实有助于 BI 专业人员在数据从源移动到目标时提高一致性。这意味着所有用户都可以对正在创建的 BI 解决方案充满信心。 我们将很快继续探索这些概念。
这是对该主题的简化解释:
数据模型和管道是任何数据驱动型组织的基础。数据模型是数据结构的表示形式,而数据管道是将数据从一个位置移动到另一个位置的过程。
架构验证是确保源系统中的数据与目标系统中的数据匹配的过程。这对于防止错误和确保数据一致非常重要。
数据字典是描述数据库中数据对象的内容、格式和结构的信息集合。此信息可用于帮助您了解数据和创建数据管道。
数据沿袭描述了数据的来源、数据在整个系统中的移动位置以及数据如何随时间推移而转换。此信息可用于排查错误和提高数据管道的性能。
通过使用这些工具,您可以确保您的数据准确、一致且可靠。这将帮助您做出更好的决策并提高组织的绩效。
示例数据字典和数据沿袭 #
正如您在本课程中所学到的,商业智能专业人员有三个主要工具来帮助他们确保从源到目标的一致性:架构验证、数据字典和数据沿袭。在本阅读中,您将探索数据字典和世系的一些示例,以更好地了解这些项目的工作原理。
数据字典
数据字典是描述数据库中数据对象的内容、格式和结构及其关系的信息集合。这也可以称为元数据存储库,因为数据字典使用元数据来定义其他数据段的用途和来源。下面是存在于销售数据库中的产品表的示例:
产品表
Item_ID | 价格 | 部门 | Number_of_Sales | Number_in_Stock | 季节性 |
---|---|---|---|---|---|
47257 | $33.00 | 园艺 | 744 | 598 | 是的 |
39496 | $82.00 | 家居装饰 | 383 | 729 | 是的 |
73302 | $56.00 | 家具 | 874 | 193 | 不 |
16507 | $100.00 | 家庭办公室 | 310 | 559 | 是的 |
1232 | $125.00 | 派对用品 | 351 | 517 | 不 |
3412 | $45.00 | 园艺 | 901 | 942 | 不 |
54228 | $60.00 | 派对用品 | 139 | 520 | 不 |
66415 | $38.00 | 家居装饰 | 615 | 433 | 是的 |
78736 | $12.00 | 杂货店 | 739 | 648 | 不 |
34369 | $28.00 | 园艺 | 555 | 389 | 是的 |
此表实际上是从多个来源收集的数据的最终目标表。确保从源到目标的一致性非常重要,因为这些数据来自系统中的不同位置。这就是数据字典的用武之地:
数据字典
名字 | 定义 | 数据类型 |
---|---|---|
Item_ID | 分配给店内所有产品商品的 ID 号 | 整数 |
价格 | 产品项目的当前价格 | 整数 |
部门 | 产品物料属于哪个部门 | 字符 |
Number_of_Sales | 当前销售的产品数量 | 整数 |
Number_in_Stock | 当前库存产品数量 | 整数 |
季节性 | 产品是否仅季节性供应 | 布尔 |
您可以使用字典中概述的属性将传入数据与目标表进行比较。如果任何数据对象与字典中的条目不匹配,则数据验证将在引入不正确的数据之前标记错误。
例如,如果传送到“部门”列的传入数据包含数值数据,则可以在传送到之前快速确定存在错误,因为数据字典规定“部门”数据应为字符类型。
数据沿袭
数据沿袭描述了识别数据来源的过程,数据在整个系统中的移动位置,以及数据如何随时间转换。这对 BI 专业人员非常有帮助,因为当他们遇到错误时,他们实际上可以使用世系将其跟踪到源。然后,他们可以实施检查以防止再次发生相同的问题。
例如,假设您的系统使用有关特定商品销售数量的一些传入数据标记了一个错误。如果您不知道该特定数据的沿袭,则很难找到此错误发生的位置 – 但是通过跟踪该数据在系统中的路径,您可以找出在哪里建立检查。
通过跟踪销售数据在系统中的整个生命周期,您会发现它来自的原始数据库存在问题,并且需要在将数据引入到以后的表之前进行转换。
关键要点
数据字典和数据沿袭等工具可用于防止数据从源系统移动到最终目的地时出现不一致的情况。重要的是,访问和使用该数据的用户可以确信它是正确和一致的。这些工具在整个数据过程中主动跟踪和验证数据,确保数据在分析和决策方面是可靠的。这是作为 BI 专业人员构建值得信赖的报告和仪表板的关键!
检查架构 #
最好的学习方法之一是通过案例研究。 当您亲眼目睹实际组织中发生的事情时,它确实将想法和概念带入生活。 在本视频中,我们将查看一家非营利性教育机构的模式治理。 在这种情况下,非营利组织的决策者对衡量其社区的教育成果感兴趣。 为了做到这一点,他们正在从学校数据库中获取数据,以评估学习目标、国家教育统计数据和学生调查。 由于他们要将数据从多个来源提取到自己的数据库系统中,因此必须保持所有数据的一致性,以防止错误并避免丢失重要信息。 幸运的是,该组织已经拥有数据字典和世系来建立必要的标准。 让我们查看学生信息表中的列示例。 此表有五列。 学生证、学校系统、学校、年龄和平均绩点。 此表中的每一列都已记录在数据字典中,以指定它包含的信息,因此我们可以转到学校系统列的数据字典条目以仔细检查此表的标准。 作为复习,数据字典是描述数据库中数据对象的内容、格式和结构及其关系的信息集合。此字典记录四个特定属性:列的名称、其定义、数据类型和可能的值。 年龄字典条目让我们知道此列中的数据对象包含有关学生年龄的信息。 它还告诉我们这是整数类型的数据。 我们可以使用这些属性将传入数据与目标表进行比较。 如果任何数据对象不是整数类型数据,则架构验证将在将不正确的数据引入目标之前标记错误。当数据对象无法通过架构验证过程时会发生什么情况? 我们实际上可以使用数据沿袭来跟踪这段数据的旅程,并找出我们可能想要在流程中添加质量检查的位置。 同样,数据沿袭 数据在整个系统中移动的位置以及数据如何随时间转换的信息。 在架构验证过程中,此数据段会出错,因为它当前未强制转换为整数类型。 当我们检查数据沿袭时,我们可以跟踪这个物体在我们的系统中的运动。 这些数据在被读入学校系统数据库之前 ,首先在各个学校的数据库中开始。我们的管道将各个学校的数据与来自其他学校系统的数据一起摄取,然后在运动过程中进行组织和转换。显然,当这些数据输入到学校的原始数据库中时,它没有正确进行类型转换。 我们可以通过在整个沿袭中检查其数据类型 来确认这一点。世系还包括此数据迄今为止所经历的所有转换。此外,在这一点上,我们可能会注意到,在质量检查期间,我们的转换过程中没有内置类型转换。这是个好消息。现在我们知道,在将数据读入目标表之前,我们应该将该过程合并到管道中。在这种情况下,年龄数据对象应为整数类型,这就是架构治理和验证如何帮助改进系统并防止错误的方式。 还应将其他测试应用于管道,以确保其正常运行,我们将很快了解详细信息。 但现在,你对如何验证架构并不断改进管道流程有了更好的了解。
这里是对模式治理和验证的简化说明:
架构治理是定义和强制执行如何在数据库中构建和使用数据的规则的过程。这包括定义数据类型、格式和不同数据元素之间的关系。
架构验证是检查数据是否符合定义的架构的过程。这有助于确保数据的一致性和准确性,并且可以有效地用于分析和报告。
在视频中的示例中,教育非营利组织正在使用架构治理和验证来确保他们从学校数据库中摄取的数据一致且准确。这很重要,因为他们正在使用这些数据来衡量社区的教育成果。
通过定义数据结构和使用规则,非营利组织可以帮助防止错误并确保他们获得最准确和最可靠的数据。
下面是架构治理和验证的一些好处:
- 提高数据质量:架构治理和验证有助于确保数据的一致性和准确性。这可以带来更好的决策和更好的结果。
- 减少错误:架构验证有助于防止将错误引入数据库。这可以节省时间和金钱,还有助于提高报告和分析的准确性。
- 提高效率:架构治理和验证有助于提高数据处理的效率。通过定义数据结构和使用方式的规则,组织可以减少清理和准备数据以供分析所需的时间和精力。
总体而言,模式治理和验证是确保数据质量和准确性的重要工具。通过实施这些实践,组织可以改进决策、减少错误并提高效率。
下面是一个架构验证如何防止无效数据输入数据库的示例:
场景:
一家电子商务公司希望将客户信息存储在数据库中。数据库有一个表,该表调用了以下列:customers
customer_id
(主键)name
(正文)email
(正文)phone_number
(正文)address
(正文)
架构验证:
公司设置架构验证规则,以确保输入到表中的数据有效。验证规则如下:customers
name
不得为空。email
必须是有效的电子邮件地址。phone_number
必须是有效的电话号码。address
不得为空。
例:
客户尝试在表中输入以下数据:customers
customer_id: 1
name: John Doe
email: john.doe@example.com
phone_number: 555-123-4567
address: 123 Main Street
架构验证规则将检查数据并识别以下错误:
phone_number
不是有效的电话号码,因为它的格式不正确。
数据不会输入到数据库中,因为它不符合架构验证规则。
架构验证的优点:
架构验证具有以下优势:
- 确保数据一致且准确。
- 防止将无效数据输入数据库。
- 提高数据库中数据的质量。
- 使维护数据库变得更加容易。
架构验证清单 #
在本课程中,您一直在学习商业智能专业人员用来确保从源到目标的一致性的工具:架构验证、数据字典和数据沿袭。在另一篇阅读中,您已经有机会探索数据字典和世系。在本阅读中,您将获得一个架构验证清单,可用于指导您自己的验证过程。
架构验证是用于确保源系统数据架构与目标数据库数据架构匹配的过程。这很重要,因为如果架构不一致,可能会导致难以修复的系统故障。在工作流中构建架构验证对于防止这些问题非常重要。
架构验证的常见问题
- 键仍然有效:主键和外键在关系数据库中的表之间建立关系。将数据从一个系统移动到另一个系统后,这些密钥应继续起作用。
- 表关系已保留:键有助于保留用于连接表的关系,以便键仍可用于连接表。请务必确保保留这些关系,或者转换这些关系以匹配目标架构。
- 约定一致:传入数据的约定必须与目标数据库的架构一致。来自外部源的数据可能使用不同的约定来命名表中的列 – 在将它们添加到目标系统之前,对齐这些列非常重要。
使用数据字典和世系
您已经了解了很多关于数据字典和世系的知识。作为复习,数据字典是描述数据库中数据对象的内容、格式和结构及其关系的信息集合。数据沿袭是识别数据来源、数据在整个系统中移动的位置以及数据如何随时间转换的过程。这些工具非常有用,因为它们可以帮助您确定传入数据应遵守的标准,并跟踪源的任何错误。
数据字典和世系读取如果需要更多审查,请提供一些额外的信息。
关键要点
架构验证是一项有用的检查,可确保从源系统移动到目标数据库的数据是一致的,并且不会导致任何错误。在交付数据之前,通过内置检查来确保密钥仍然有效、表关系已保留并且约定一致,这将节省您以后尝试修复这些错误的时间和精力。
活动:使用验证清单评估架构 #
Test your knowledge: Data schema validation #
Question 1
A team of business intelligence professionals builds schema validation into their workflows. In this situation, what goal do they want to achieve?
- Consider the needs of stakeholders in the design of the data schema
- Ensure the source system data schema matches the target system data schema
- Prevent two or more components from using a single resource in a conflicting way
- Consolidate data from multiple source systems
Question 2
Why is it important to ensure primary and foreign keys continue to function after data has been moved from one database system to another?
- To preserve the existing table relationships
- To evaluate database performance
- To provide more detail and context about the data
- To read and execute coded instructions
Question 3
Fill in the blank: A _____ describes the process of identifying the origin of data, where it has moved throughout the system, and how it has transformed over time.
- quality test
- data dictionary
- data lineage
- business rule
业务规则和性能测试 #
验证业务规则 #
到目前为止,我们已经了解了很多关于数据库性能、质量测试和架构验证的知识,以及这些检查如何确保数据库和管道系统继续按预期工作。 现在,我们将探讨另一个重要的检查,确保您创建的系统和流程确实满足业务需求。 这对于确保这些系统继续与您的利益相关者相关至关重要。 为此,请专业人员验证业务规则。 在 BI 中,业务规则是对数据库的特定部分创建限制的语句。 例如,发货数据库可能会强制执行一项业务规则,规定发货日期不能早于订单日期。 这样可以防止订单日期和发货日期混淆并导致此系统内的错误。 业务规则是根据特定组织使用其数据的方式创建的 在之前的视频中,我们发现在构建数据库系统之前观察企业如何使用数据是多么重要。了解实际需求,指导,设计。 业务规则也是如此。 您创建的业务规则将影响许多数据库,设计收集和存储哪些数据,如何定义关系,数据库提供什么样的信息以及数据的安全性。 这有助于确保数据库按预期执行。 每个组织的业务规则都不同,因为组织与其数据交互的方式总是不同的。 此外,业务规则也总是在变化。 这就是为什么记录存在哪些规则以及为什么存在至关重要的原因。 下面是另一个示例:考虑一个库数据库。 在这种情况下,作为图书馆员的用户的主要需求是借阅书籍并维护有关顾客的信息。因此,该库可能会对数据库施加一些业务规则来规范系统。 一条规则可能是图书馆顾客一次不能借出超过五本书。 数据库不会让用户签出第六本书。或者数据库可以有一个规则,即两个人不能同时签出同一本书。 如果有人尝试,图书馆员会收到冗余的警报。 另一个业务规则可能是,必须将特定信息输入系统才能将新书添加到图书馆库存中。 基本上,验证涉及确保导入到目标数据库的数据符合业务规则。 这些规则是重要的知识,可帮助商业智能专业人员了解业务及其流程的运作方式。 这有助于 BI 专业人员成为主题专家和值得信赖的顾问。 您可能已经注意到,此过程与架构验证非常相似。 在架构验证中,采用目标数据库的架构,并将传入数据与其进行比较。 未通过检查的数据不会引入目标库。 同样,在将传入数据加载到数据库之前,您需要将传入数据与业务规则进行比较。在我们的图书馆示例中,如果顾客提出了一本书的请求,但他们已经从图书馆获得了五本以上的书籍,那么这些传入的数据不符合预设的业务规则,并且会阻止他们借出该书。这就是验证业务规则的基础知识。这些检查很重要,因为它们可以确保数据库按预期完成其工作。由于业务规则对于数据库的运行方式至关重要,因此验证它们是否正常工作非常重要。 接下来,您将有机会更详细地探索业务规则。
以下是验证业务规则的简化说明:
什么是业务规则?
业务规则是定义业务运营方式的语句。它们可用于确保数据准确、一致和完整。
为什么业务规则很重要?
业务规则很重要,因为它们有助于确保正确使用数据并确保业务高效运行。
如何验证业务规则?
可以通过将数据与规则进行比较来验证业务规则。这可以手动完成,也可以使用自动化工具完成。
验证业务规则有什么好处?
验证业务规则有助于提高数据质量、减少错误并确保业务高效运行。
以下是业务规则的一些示例:
- 客户的订单在付款之前无法发货。
- 产品的销售价格不能低于其成本。
- 员工的工资不能高于他们的经理。
业务规则与数据模型和管道有何关系?
业务规则可用于设计数据模型和管道。例如,声明客户订单在付款之前无法发货的业务规则可用于设计数据管道,以确保订单在付款之前不会发货。
业务规则 #
正如您一直在学习的那样,业务规则是对数据库的特定部分创建限制的语句。这些规则是根据组织使用数据的方式制定的。此外,这些规则可以提高效率,允许重要的制衡,有时还体现了企业在行动中的价值观。例如,如果一家公司重视跨职能协作,那么可能会有规定,即来自两个团队的至少 2 名代表检查某些数据集的完成情况。它们会影响收集和存储哪些数据、如何定义关系、数据库提供哪些类型的信息以及数据的安全性。在本阅读中,您将了解有关业务规则开发的更多信息,并查看在数据库系统中实现的业务规则示例。
实施业务规则
业务规则高度依赖于组织及其数据需求。这意味着每个组织的业务规则都不同。这就是验证业务规则如此重要的原因之一;这些检查有助于确保数据库确实在执行您需要它执行的工作。但是,在验证业务规则之前,必须实现它们。
例如,假设您工作的公司有一个数据库,用于管理员工输入的采购订单请求。超过 1,000 美元的采购订单需要经理批准。为了自动执行此过程,您可以对数据库施加一个规则集,该规则集会自动将超过 1,000 美元的请求传递到报告表,等待经理批准。此示例中可能适用的其他业务规则包括:价格必须为数值(数据类型应为整数);或者,对于存在请求,必须提供原因(表字段不能为 null)。
为了满足此业务要求,此系统中有三条规则在起作用:
- 低于 1,000 美元的订单请求将自动发送到已批准的产品订单请求表
- 超过 1,000 美元的请求将自动传送到等待审批表的请求
- 已批准的请求将自动传送到已批准的产品订单请求表
这些规则本质上会影响此数据库系统的形状,以满足此特定组织的需求。
验证业务规则
实施业务规则后,必须继续验证它们是否正常运行,以及导入到目标系统的数据是否遵循这些规则。这些检查很重要,因为它们测试系统是否正在执行所需的工作,在这种情况下,系统正在将需要批准的产品订单请求传递给正确的利益相关者。
关键要点
业务规则确定收集和存储哪些数据、如何定义关系、数据库提供的信息类型以及数据的安全性。这些规则严重影响了数据库的设计方式及其设置后的功能。作为 BI 专业人员,了解业务规则及其重要性非常有用,因为这可以帮助您了解现有数据库系统的运行方式,根据业务需求设计新系统,并维护它们以备将来使用。
ETL 上下文中的数据库性能测试 #
在前面的课程中,您学习了数据库优化作为数据库构建过程的一部分。但是,在确保 ETL 和管道流程正常运行时,这也是一个重要的考虑因素。在本阅读中,您将返回到新上下文中的数据库性能测试:ETL 进程。
数据库性能如何影响管道
数据库性能是数据库系统能够向用户提供信息的速率。优化数据库为用户执行任务的速度有助于您的团队从系统中获取他们需要的内容,并更快地从数据中获取见解。
数据库系统是 ETL 管道的关键部分,包括管道中数据的来源和去向。ETL 或管道本身就是一个用户,在管理其他用户和事务的负载时,它必须对数据库发出请求。因此,数据库性能不仅是确保数据库本身能够管理组织需求的关键,而且对于您设置的与数据库交互的自动化 BI 工具也很重要。
性能测试的关键因素
前面,您了解了一些数据库性能注意事项,您可以在数据库开始变慢时检查。以下是这些注意事项的快速清单:
- 查询需要优化
- 数据库需要完全索引
- 应对数据进行碎片整理
- 系统必须有足够的 CPU 和内存来处理请求
您还了解了数据库性能的五个因素:工作负载、吞吐量、资源、优化和争用。这些因素都会影响数据库的性能,监视这些因素并根据需要对系统进行改进可能是 BI 专业人员工作的一部分。
这些常规性能测试非常重要 – 这就是您知道数据库可以毫无问题地处理组织的数据请求的方式!但是,在考虑 ETL 过程时进行数据库性能测试时,还应该进行另一项重要检查:测试表、列、行计数和查询执行计划。
通过测试行数和表数,可以确保目标数据库和源数据库之间的数据计数匹配。如果存在任何不匹配,则可能意味着 ETL 系统中存在潜在的错误。系统中的 bug 可能会导致数据崩溃或错误,因此根据源数据检查目标数据库中数据的表数、列数和行数是防止这种情况的有用方法。
关键要点
作为 BI 专业人员,您需要知道您的数据库可以满足组织的需求。性能测试是该过程的关键部分。性能测试不仅在数据库构建过程中很有用,而且对于确保管道正常工作也很重要。请记住将性能测试作为检查管道的一种方式,这将有助于维护使用户能够访问数据的自动化流程!
防御已知问题 #
在本阅读材料中,你将了解应用于数据管道的防御性检查。 防御性检查可帮助防止数据管道出现问题。它们类似于性能检查,但侧重于其他类型的问题。以下方案将提供一个示例,说明如何在数据管道上实现不同类型的防御性检查。
- 场景
Arsha 是一家电信公司的商业智能分析师,他构建了一个数据管道,将来自六个来源的数据合并到一个数据库中。在构建管道时,她进行了多项防御性检查,以确保数据正确移动和转换。
她的数据管道使用以下源系统:
- 客户详细信息
- 移动合同
- 互联网和有线电视合同
- 设备跟踪和启用
- 计费
- 会计学
所有这些数据集都必须协调并合并到一个目标系统中,用于商业智能分析。此过程需要多层数据协调、验证、协调和错误处理。
管线图层
管道可以有许多不同的处理阶段。这些阶段或层有助于确保以最有效和最高效的方式收集、聚合、转换和暂存数据。例如,在开始清理之前,请务必确保将所需的所有数据放在一个地方,以确保不会遗漏任何内容。此过程通常有四个层次:暂存、协调、验证和对账。在这四层之后,数据被引入其目标数据库,错误处理报告总结了该过程的每个步骤。
暂存层
首先,原始数据从源系统获取并存储在暂存层中。在此层中,Arsha 运行了以下防御检查:
- 比较接收和存储的记录数
- 比较行以确定是否创建了额外的记录或丢失了记录
- 已检查重要字段,例如金额、日期和 ID
Arsha 将不匹配的记录移至错误处理报告中。她包括每个未转换的源记录、其首次处理的日期和时间、上次重试日期和时间、发生错误的层以及描述错误的消息。通过收集这些记录,Arsha能够找到并解决问题的根源。她将移动到下一层的所有记录标记为“已处理”。
协调层
协调层是执行数据规范化例程和记录扩充的位置。这可确保所有源的数据格式一致。为了协调数据,Arsha 进行了以下防御检查:
- 标准化日期格式
- 标准化货币
- 标准化的大写和小写风格化
- 带有前导零的格式化 ID
- 拆分日期值以将年、月和日存储在单独的列中
- 源系统中应用的转换和优先级规则
当记录无法协调时,她会将其移至“错误处理”。她将移动到下一层的所有记录标记为“已处理”。
验证层
验证层是验证业务规则的位置。提醒一下,业务规则是对数据库的特定部分创建限制的语句。这些规则是根据组织使用数据的方式制定的。Arsha 进行了以下防御检查:
- 确保“部门”列中的值不为空,因为“部门”是一个关键维度
- 确保“服务类型”列中的值在要处理的授权值范围内
- 确保每条计费记录都与有效的已处理合同相对应
同样,当无法验证记录时,她会将其移至错误处理。她将所有移动到下一层的记录标记为“已处理”。
协调层
对帐图层是查找重复或非法记录的位置。在这里,Arsha 进行了防御性检查以查找以下类型的记录:
- 尺寸变化缓慢
- 历史记录
- 聚合
与前面的图层一样,Arsha 将未传递协调规则的记录移动到错误处理。经过这一轮防御性检查后,她将处理后的记录导入了 BI 和 Analytics 数据库 (OLAP)。
错误处理报告和分析
在完成管道并运行防御性检查后,Arsha 制作了一份错误处理报告来总结该过程。该报告列出了来自源系统的记录数,以及每层中标记为错误或忽略的记录数。报告的末尾列出了已处理记录的最终数量。
关键要点
防御性检查可确保数据管道正确处理其数据。防御性检查是保持数据完整性的重要组成部分。检查暂存、协调、验证和协调层后,导入目标数据库的数据就可以在可视化中使用了。
Burak:不断发展的技术 #
我的名字是布拉克。 我是 Google 的 BI 工程师。 BI 工程师所做的实际上是收集、存储和分析涉及大量基础设施的数据。 五年前,我作为新移民移居美国。 对我来说,找到第一份工作非常困难。 即使我有学位,我仍然需要接受大量培训,才能为国内市场的需求做好准备。 我开始自学BI工程师是做什么的? 我需要学习哪些基本技术技能? 我做了很多在线研究。 我发现了很多免费的东西,我找到了几个付费订阅,我开始学习所有这些技术技能,我需要学习这些技能才能找到我的第一份工作。 BI 技术在过去 10 年中发展了很多。 我可以说电子表格在 10 年前就已经存在了,但就数据分析而言,没有人再是专家了。我的意思是,它仍然被用于快速分析,但现在一切都已经演变成云、技术、更复杂的语言、更强大的可视化工具来帮助每个人。 就我个人而言,我必须适应,改变新的环境、新的语言和新的基础设施。 为了跟上技术的步伐,您实际上需要做一些研究并了解该行业的实际发展方式。 您可以关注许多有关最新行业趋势的在线资源或网页或时事通讯。但本质,它们永远不会改变。 BI工程的基础是相同的。 如果你学习一种SQL语言,无论你为哪个组织工作,都会是不同的SQL语言,会是不同的方言。 你仍然需要赶上,但你需要学习的时间将大大少于你第一次开始的时间。 因为会有可转移的技能。 我的首要建议是奉献精神。 如果你真的喜欢与数据打交道,并且你想在这个领域工作,那么奉献精神是关键要求之一,因为你需要学习很多技术技能,而且需要时间。 因此,我建议确定您真正想要关注的 BI 工程领域,因为您可以处理多个部分。 你可以构建基础设施,或者你可以设计系统,或者你可以分析数据,或者你可以做一些可视化工具。 根据您想关注的领域,您需要学习的技术技能会有所不同。
案例研究:FeatureBase,第 2 部分:管道系统的替代解决方案 #
此使用 FeatureBase 的案例研究将重点关注 BI 流程的分析阶段,您可以在该阶段检查数据中的关系、得出结论、做出预测并推动明智的决策。这是在前面的案例研究之后进行的,在该案例研究中,您探索了 FeatureBase 项目的捕获阶段。在后续案例研究中,您将了解 FeatureBase 如何解决该项目的 Monitor 阶段以解决其业务问题。与前面的 FeatureBase 案例研究一样,您将考虑项目此阶段的问题、过程和解决方案。
在前面的阅读中,您介绍了 OLAP 数据库公司 FeatureBase。为了快速复习,您可以查看本案例研究的第一部分。 他们的核心技术 FeatureBase 是第一个完全基于位图构建的 OLAP 数据库,通过同时执行低延迟、高吞吐量和高并发工作负载来支持实时分析和机器学习应用程序。上次,您了解到 FeatureBase 团队面临的一个业务问题:他们意识到客户在销售周期中正在流失,但他们的数据收集没有必要的度量来调查何时以及为什么会发生这种情况。解决这个问题的第一步是销售、营销和领导团队之间的协作,以确定他们需要了解哪些数据来了解客户何时流失。然后,他们可以利用这种洞察力来调查和解决这些问题,以便将来进行销售。在本阅读中,您将重点介绍 FeatureBase 用于收集数据以进行监视和报告的数据库工具。
面向功能的数据库 #
在整个计划中,您一直在学习不同的数据库技术,这些技术使用管道系统将数据引入、转换和交付到目标数据库。此设置在许多不同的组织中相当常见,并且您经常以 BI 专业人员的身份使用管道。但是,还有其他类型的数据库系统使用不同的技术使数据可供用户访问和使用。
FeatureBase 是传统数据库替代解决方案的一个例子——它建立在位图之上,位图是一种将数据存储为原始特征的格式。为了构建预测模型,人工智能依赖于面向特征的数据库(而不是相反)来找到可用于指导决策的模式。这些模型被提供可测量的数据点或特征,帮助它学习如何随着时间的推移更有效地解析数据。面向特征的数据库通过自动提取特征作为第一步,提供了另一种数据准备方法。面向功能的方法支持实时分析和 AI 计划,因为数据或“功能”已经采用模型就绪数据格式,可以在整个组织内立即访问和重用,而无需重新复制或重新预处理。
下面是这个系统的一个例子:想象一下,你试图根据特征来预测一种动物。人类会有一个他们可能会想到的特征列表:例如翅膀、鼻子或腿的数量。但这些特征不是那样可操作的——但如果将它们转换为“has_wings”或“has_4_legs”等特征,并且将“是”或“否”值编码为 1 或 0,则可以将它们输入模型并更快地进行处理。这就是 FeatureBase 建立在位图上的原因;1 和 0 的数组很容易被机器和模型操作。
微调功能 #
在上一次阅读中,您跟随 FeatureBase 领导层考虑如何解决他们的终极问题:为什么客户在销售周期中会流失?
在这个项目周期的那个时候,团队没有在他们的系统中内置指标来找出客户何时没有完成销售流程,这是调查客户流失原因的关键。在确定他们的系统缺乏什么后,该团队将这些新功能编码到收集过程中——他们在销售周期的每个阶段都重新创建了原始的销售漏斗,并具有有关客户的新属性。这些新功能被输入到他们的数据库模型中,该模型开始训练以识别模式,使他们能够立即从数据池中获取见解。
他们添加到数据收集过程中的一个属性是准确跟踪客户何时下车。他们发现,大多数没有完成销售的客户在技术验证阶段就退出了。此时,FeatureBase 团队将在客户的系统中设置 FeatureBase,以便他们可以亲自试用产品。该团队意识到这是他们需要进行更多调查的关键阶段。他们推测,客户在离开技术验证阶段时并没有对他们采用这项新技术的能力充满信心。他们还想知道客户是否担心产品的可靠性和稳定性,因为 FeatureBase 将取代他们当前仍在运行的数据库系统。为了更好地理解这一点,他们需要在仪表板中探索此阶段收集的客户数据。
下一步 #
作为 BI 专业人员,您可能会发现自己正在使用与管道系统相关的各种数据库技术,例如更传统的基于行的技术以及 FeatureBase 等较新的替代方案。了解您的工具及其运作方式将帮助您专注于最重要的事情——让您的团队能够获得他们需要的答案。当他们继续调查他们的问题时,FeatureBase 团队发现大多数没有完成销售流程的客户在技术验证阶段就退出了。
这是在客户的数据环境中实现 FeatureBase 以确定它是否真正适用于他们。这就是 FeatureBase 团队展示 FeatureBase 实用程序并证明它是满足客户需求的可行解决方案的方式。
该团队推测,虽然许多客户喜欢该服务的功能,但他们对它对他们的组织的可采用性以及可靠性感到担忧。但是,在团队能够确认这一理论或根据这个潜在的答案做出任何决策之前,他们需要能够探索仪表板报告并深入调查他们的指标。这是您下次返回此案例研究时将重点关注的内容!
测试您的知识:业务规则和性能测试 #
Question 1
A business intelligence professional considers what data is collected and stored in a database, how relationships are defined, the type of information the database provides, and the security of the data. What does this scenario describe?
商业智能专业人员会考虑数据库中收集和存储哪些数据、如何定义关系、数据库提供的信息类型以及数据的安全性。这个场景描述了什么?
- Ensuring the formal management of data assets
确保数据资产的正式管理 - Confirming that data is consistent
确认数据一致 - Considering the impact of business rules
考虑业务规则的影响 - Expanding scope in response to stakeholder requirements
扩大范围以响应利益相关者的要求
Question 2
At which point in the data-transfer process should incoming data be compared to business rules?
在数据传输过程中的哪个点应将传入数据与业务规则进行比较?
- Before loading it into the database
在将其加载到数据库之前 - No later than 24 hours after being loaded into the database
载入数据库后最晚24小时 - As soon as it has been loaded into the database
一旦它被加载到数据库中 - At the same time as it is being loaded into the database
在加载到数据库的同时
评论:优化ETL流程 #
结束语 #
作为 BI 专业人员,一旦为组织构建了数据库系统和管道工具,您的工作就不会结束。 同样重要的是,你要确保它们继续按预期工作,并在潜在错误成为问题之前处理它们,以满足这些持续的需求。 你学到了很多东西。 首先,您探讨了质量测试在 ETL 系统中的重要性。 这涉及检查传入数据的完整性、一致性、一致性、一致性、准确性、冗余性、完整性和及时性。 您还研究了架构治理,以及架构验证如何通过确保传入数据符合目标数据库的属性方案来防止传入数据在系统中导致错误。之后,您发现了为什么验证业务规则是优化的重要步骤,因为它可以确保传入的数据满足使用它的组织的业务需求。 维护用户与之交互的存储系统是确保系统满足业务需求的重要部分。这就是为什么数据库优化如此重要的原因,但确保将数据从一个地方移动到另一个地方的系统尽可能高效也同样重要。这就是优化管道和 ETL 系统的用武之地。 接下来,你还有另一个评估。 我知道你可以这样做,提醒一下,你可以在准备好时查看任何材料以及最新的词汇表。 因此,请随时重新访问任何视频或阅读材料,以便在评估前复习一下。 之后,您将有机会通过自己开发 BI 工具和流程将所学的所有内容付诸实践。你在 BI 领域取得了巨大的进步。
Module 3 中的词汇表术语 #
Accuracy: An element of quality testing used to confirm that data conforms to the actual entity being measured or described
准确性:质量测试的一个要素,用于确认数据符合被测量或描述的实际实体
Business rule: A statement that creates a restriction on specific parts of a database
业务规则:对数据库的特定部分创建限制的语句
Completeness: An element of quality testing used to confirm that data contains all desired components or measures
完整性:质量测试的一个要素,用于确认数据包含所有所需的组件或度量
Conformity: An element of quality testing used to confirm that data fits the required destination format
一致性:质量测试的一个要素,用于确认数据符合所需的目标格式
Consistency: An element of quality testing used to confirm that data is compatible and in agreement across all systems
一致性:质量测试的一个要素,用于确认数据在所有系统中兼容且一致
Data dictionary: A collection of information that describes the content, format, and structure of data objects within a database, as well as their relationships
数据字典:描述数据库中数据对象的内容、格式和结构及其关系的信息集合
Data lineage: The process of identifying the origin of data, where it has moved throughout the system, and how it has transformed over time
数据沿袭:识别数据来源、数据在整个系统中的移动位置以及随着时间的推移如何变化的过程
Data mapping: The process of matching fields from one data source to another
数据映射:将字段从一个数据源匹配到另一个数据源的过程
Integrity: An element of quality testing used to confirm that data is accurate, complete, consistent, and trustworthy throughout its life cycle
完整性:质量测试的一个要素,用于确认数据在其整个生命周期中准确、完整、一致且值得信赖
Quality testing: The process of checking data for defects in order to prevent system failures; it involves the seven validation elements of completeness, consistency, conformity, accuracy, redundancy, integrity, and timeliness
质量测试:检查数据缺陷以防止系统故障的过程;涉及完整性、一致性、一致性、准确性、冗余性、完整性、及时性七个验证要素
Redundancy: An element of quality testing used to confirm that no more data than necessary is moved, transformed, or stored
冗余:质量测试的一个要素,用于确认不会移动、转换或存储超出必要的数据
Schema validation: A process to ensure that the source system data schema matches the target database data schema
模式验证:确保源系统数据模式与目标数据库数据模式匹配的过程
Timeliness: An element of quality testing used to confirm that data is current
及时性:质量测试的一个要素,用于确认数据是最新的
Terms and definitions from previous modules
先前模块中的术语和定义
A
Application programming interface (API): A set of functions and procedures that integrate computer programs, forming a connection that enables them to communicate
应用程序编程接口(API):一组集成计算机程序的功能和过程,形成使它们能够进行通信的连接
Applications software developer: A person who designs computer or mobile applications, generally for consumers
应用软件开发人员:通常为消费者设计计算机或移动应用程序的人
Attribute: In a dimensional model, a characteristic or quality used to describe a dimension
属性:在维度模型中,用于描述维度的特征或质量
B
Business intelligence (BI): Automating processes and information channels in order to transform relevant data into actionable insights that are easily available to decision-makers
商业智能 (BI):自动化流程和信息渠道,将相关数据转化为决策者可以轻松获得的可行见解
Business intelligence governance: A process for defining and implementing business intelligence systems and frameworks within an organization
商业智能治理:在组织内定义和实施商业智能系统和框架的过程
Business intelligence monitoring: Building and using hardware and software tools to easily and rapidly analyze data and enable stakeholders to make impactful business decisions
商业智能监控:构建和使用硬件和软件工具来轻松快速地分析数据,并使利益相关者能够做出有影响力的业务决策
Business intelligence stages: The sequence of stages that determine both BI business value and organizational data maturity, which are capture, analyze, and monitor
商业智能阶段:决定 BI 业务价值和组织数据成熟度的阶段顺序,包括捕获、分析和监控
Business intelligence strategy: The management of the people, processes, and tools used in the business intelligence process
商业智能策略:对商业智能流程中使用的人员、流程和工具的管理
C
Columnar database: A database organized by columns instead of rows
列式数据库:按列而不是行组织的数据库
Combined systems: Database systems that store and analyze data in the same place
组合系统:在同一位置存储和分析数据的数据库系统
Compiled programming language: A programming language that compiles coded instructions that are executed directly by the target machine
编译型编程语言:编译出由目标机器直接执行的编码指令的编程语言
Contention: When two or more components attempt to use a single resource in a conflicting way
争用:当两个或多个组件尝试以冲突的方式使用单个资源时
D
Data analysts: People who collect, transform, and organize data
数据分析师:收集、转换和组织数据的人员
Data availability: The degree or extent to which timely and relevant information is readily accessible and able to be put to use
数据可用性:及时获取和使用相关信息的程度或范围
Data governance professionals: People who are responsible for the formal management of an organization’s data assets
数据治理专业人员:负责组织数据资产正式管理的人员
Data integrity: The accuracy, completeness, consistency, and trustworthiness of data throughout its life cycle
数据完整性:数据在整个生命周期中的准确性、完整性、一致性和可信度
Data lake: A database system that stores large amounts of raw data in its original format until it’s needed
数据湖:以原始格式存储大量原始数据直到需要时的数据库系统
Data mart: A subject-oriented database that can be a subset of a larger data warehouse
数据集市:面向主题的数据库,可以是较大数据仓库的子集
Data maturity: The extent to which an organization is able to effectively use its data in order to extract actionable insights
数据成熟度:组织能够有效使用其数据以提取可行见解的程度
Data model: A tool for organizing data elements and how they relate to one another
数据模型:一种用于组织数据元素及其相互关系的工具
Data partitioning: The process of dividing a database into distinct, logical parts in order to improve query processing and increase manageability
数据分区:将数据库划分为不同的逻辑部分以改进查询处理并提高可管理性的过程
Data pipeline: A series of processes that transports data from different sources to their final destination for storage and analysis
数据管道:将数据从不同来源传输到最终目的地进行存储和分析的一系列过程
Data visibility: The degree or extent to which information can be identified, monitored, and integrated from disparate internal and external sources
数据可见性:从不同的内部和外部来源识别、监控和集成信息的程度或范围
Data warehouse: A specific type of database that consolidates data from multiple source systems for data consistency, accuracy, and efficient access
数据仓库:一种特定类型的数据库,它整合来自多个源系统的数据,以实现数据一致性、准确性和高效访问
Data warehousing specialists: People who develop processes and procedures to effectively store and organize data
数据仓库专家:开发有效存储和组织数据的流程和程序的人员
Database migration: Moving data from one source platform to another target database
数据库迁移:将数据从一个源平台移动到另一个目标数据库
Database performance: A measure of the workload that can be processed by a database, as well as associated costs
数据库性能:衡量数据库可以处理的工作负载以及相关成本的指标
Deliverable: Any product, service, or result that must be achieved in order to complete a project
可交付成果:为了完成项目而必须实现的任何产品、服务或结果
Developer: A person who uses programming languages to create, execute, test, and troubleshoot software applications
开发人员:使用编程语言创建、执行、测试软件应用程序并排除故障的人员
Dimension (data modeling): A piece of information that provides more detail and context regarding a fact
维度(数据建模):提供有关事实的更多细节和上下文的信息
Dimension table: The table where the attributes of the dimensions of a fact are stored
维度表:存储事实维度属性的表
Design pattern: A solution that uses relevant measures and facts to create a model in support of business needs
设计模式:使用相关度量和事实来创建支持业务需求的模型的解决方案
Dimensional model: A type of relational model that has been optimized to quickly retrieve data from a data warehouse
维度模型:一种经过优化以从数据仓库快速检索数据的关系模型
Distributed database: A collection of data systems distributed across multiple physical locations
分布式数据库:分布在多个物理位置的数据系统的集合
E
ELT (extract, load, and transform): A type of data pipeline that enables data to be gathered from data lakes, loaded into a unified destination system, and transformed into a useful format
ELT(提取、加载和转换):一种数据管道,可以从数据湖收集数据,加载到统一的目标系统中,并转换为有用的格式
ETL (extract, transform, and load): A type of data pipeline that enables data to be gathered from source systems, converted into a useful format, and brought into a data warehouse or other unified destination system
ETL(提取、转换和加载):一种数据管道,可以从源系统收集数据,将其转换为有用的格式,然后将其带入数据仓库或其他统一的目标系统
Experiential learning: Understanding through doing
体验式学习:通过实践理解
F
Fact: In a dimensional model, a measurement or metric
事实:在维度模型中,测量或度量
Fact table: A table that contains measurements or metrics related to a particular event
事实表:包含与特定事件相关的测量或指标的表
Foreign key: A field within a database table that is a primary key in another table (Refer to primary key)
外键:一个数据库表中的字段,是另一个表中的主键(参考主键)
Fragmented data: Data that is broken up into many pieces that are not stored together, often as a result of using the data frequently or creating, deleting, or modifying files
碎片数据:通常由于频繁使用数据或创建、删除或修改文件而导致数据被分成许多部分,并且没有存储在一起。
Functional programming language: A programming language modeled around functions
函数式编程语言:围绕函数建模的编程语言
G
Google DataFlow: A serverless data-processing service that reads data from the source, transforms it, and writes it in the destination location
Google DataFlow:一种无服务器数据处理服务,可从源读取数据、转换数据并将其写入目标位置
I
Index: An organizational tag used to quickly locate data within a database system
索引:用于在数据库系统中快速定位数据的组织标签
Information technology professionals: People who test, install, repair, upgrade, and maintain hardware and software solutions
信息技术专业人员:测试、安装、维修、升级和维护硬件和软件解决方案的人员
Interpreted programming language: A programming language that uses an interpreter, typically another program, to read and execute coded instructions
解释型编程语言:一种使用解释器(通常是另一个程序)来读取和执行编码指令的编程语言
Iteration: Repeating a procedure over and over again in order to keep getting closer to the desired result
迭代:一遍又一遍地重复一个过程,以不断接近期望的结果
K
Key performance indicator (KPI): A quantifiable value, closely linked to business strategy, which is used to track progress toward a goal
关键绩效指标(KPI):与业务战略密切相关的可量化值,用于跟踪目标的进展情况
L
Logical data modeling: Representing different tables in the physical data model
逻辑数据建模:表示物理数据模型中的不同表
M
Metric: A single, quantifiable data point that is used to evaluate performance
指标:用于评估绩效的单个可量化数据点
O
Object-oriented programming language: A programming language modeled around data objects
面向对象的编程语言:围绕数据对象建模的编程语言
OLAP (Online Analytical Processing) system: A tool that has been optimized for analysis in addition to processing and can analyze data from multiple databases
OLAP(在线分析处理)系统:除了处理之外还针对分析进行了优化的工具,可以分析来自多个数据库的数据
OLTP (Online Transaction Processing) database: A type of database that has been optimized for data processing instead of analysis
OLTP(在线事务处理)数据库:一种针对数据处理而不是分析进行了优化的数据库
Optimization: Maximizing the speed and efficiency with which data is retrieved in order to ensure high levels of database performance
优化:最大限度地提高数据检索的速度和效率,以确保高水平的数据库性能
P
Portfolio: A collection of materials that can be shared with potential employers
作品集:可以与潜在雇主共享的材料集合
Primary key: An identifier in a database that references a column or a group of columns in which each row uniquely identifies each record in the table (Refer to foreign key)
主键:数据库中引用一列或一组列的标识符,其中每一行唯一标识表中的每条记录(参考外键)
Project manager: A person who handles a project’s day-to-day steps, scope, schedule, budget, and resources
项目经理:处理项目日常步骤、范围、进度、预算和资源的人
Project sponsor: A person who has overall accountability for a project and establishes the criteria for its success
项目发起人:对项目负全部责任并为其成功制定标准的人
Python: A general purpose programming language
Python:一种通用编程语言
Q
Query plan: A description of the steps a database system takes in order to execute a query
查询计划:数据库系统执行查询所采取步骤的描述
R
Resources: The hardware and software tools available for use in a database system
资源:可在数据库系统中使用的硬件和软件工具
Response time: The time it takes for a database to complete a user request
响应时间:数据库完成用户请求所需的时间
Row-based database: A database that is organized by rows
基于行的数据库:按行组织的数据库
S
Separated storage and computing systems: Databases where data is stored remotely, and relevant data is stored locally for analysis
存储和计算系统分离:数据远程存储的数据库,相关数据存储在本地进行分析
Single-homed database: Database where all of the data is stored in the same physical location
单宿主数据库:所有数据都存储在同一物理位置的数据库
Snowflake schema: An extension of a star schema with additional dimensions and, often, subdimensions
雪花模式:星型模式的扩展,具有附加维度,通常还有子维度
Star schema: A schema consisting of one fact table that references any number of dimension tables
星型模式:一种由一个事实表组成的模式,该事实表引用任意数量的维度表
Strategy: A plan for achieving a goal or arriving at a desired future state
战略:实现目标或达到期望的未来状态的计划
Subject-oriented: Associated with specific areas or departments of a business
面向主题:与企业的特定领域或部门相关
Systems analyst: A person who identifies ways to design, implement, and advance information systems in order to ensure that they help make it possible to achieve business goals
系统分析师:确定设计、实施和推进信息系统的方法以确保它们有助于实现业务目标的人
Systems software developer: A person who develops applications and programs for the backend processing systems used in organizations
系统软件开发人员:为组织中使用的后端处理系统开发应用程序和程序的人员
T
Tactic: A method used to enable an accomplishment
战术:用于实现成就的方法
Target table: The predetermined location where pipeline data is sent in order to be acted on
目标表:发送管道数据以便执行操作的预定位置
Throughput: The overall capability of the database’s hardware and software to process requests
吞吐量:数据库软硬件处理请求的整体能力
Transferable skill: A capability or proficiency that can be applied from one job to another
可转移技能:可以从一项工作应用于另一项工作的能力或熟练程度
V
Vanity metric: Data points that are intended to impress others, but are not indicative of actual performance and, therefore, cannot reveal any meaningful business insights
虚荣指标:旨在给他人留下深刻印象的数据点,但并不代表实际绩效,因此无法揭示任何有意义的业务见解
W
Workload: The combination of transactions, queries, data warehousing analysis, and system commands being processed by the database system at any given time
工作负载:数据库系统在任何给定时间处理的事务、查询、数据仓库分析和系统命令的组合
Module 3 challenge #
将您的技能应用于工作场所方案 #
欢迎来到Module 4 #
嗨,很高兴再次和你在一起! 我是 Google 的高级商业智能分析师 Anita,我回来讨论您课程结束项目的下一部分以及如何在求职中使用它。 您准备好开始在BI领域 寻找工作了吗?第一步是创建一个展示您技能的作品集和简历。 您的作品集将是一组材料,您可以使用这些材料来展示这些技能以及您解决 BI 问题的方法。 建立作品集的一种方法是完成展示你所学的项目——比如这个项目的课程结束项目! 这个课程结束项目也是一个非常宝贵的机会来发展你的面试技巧! 当潜在雇主评估您作为候选人时,他们可能会要求您提供您过去如何应对挑战的具体例子。您可以使用您的投资组合来讨论您已经解决的实际问题。 此外,一些雇主可能会要求您完成另一个案例研究以进行面试。 练习创建自己的案例研究意味着您将为这些面试做好更充分的准备。 你已经探索了体验式学习,或者通过实践来理解的想法。 这个课程结束项目也是一个很好的机会,可以真正发现组织每天如何使用 BI,练习您的新技能,并真正展示您的 BI 知识。 为了完成课程结束项目,您将看到有关业务案例的更多详细信息。然后,您将使用已完成的关键 BI 文档创建将数据传送到报表表的管道系统。稍后,可以使用这些表来设计仪表板,以便与利益干系人共享见解。 当你完成这个项目时,你将有一个完成的案例研究,你可以添加到你的投资组合中。 您还将获得在此过程中所采取的步骤的文档,您可以使用这些文档向未来的招聘经理解释您的工作。 此时,您可能已经完成了课程结束项目的一部分。 现在,您几乎完成了该计划的下一门课程,这意味着您知道解决下一阶段所需的一切。 准备? 那么让我们开始吧!
数据模型和管道是任何数据驱动型组织的基础。数据模型是现实世界的简化表示,用于组织和存储数据。数据管道是一组将数据从一个位置移动到另一个位置的进程。数据模型和管道共同使得以高效和有效的方式收集、存储和分析数据成为可能。
以下是使用数据模型和管道的一些好处:
- 提高数据质量:数据模型有助于确保数据准确、一致和完整。数据管道有助于自动执行移动数据的过程,从而降低出错的风险。
- 提高数据可访问性:通过数据模型和管道,可以更轻松地访问来自各种来源的数据。这使得更多的人能够使用数据来做出明智的决策。
- 降低成本:数据模型和管道有助于降低数据存储和分析的成本。这是因为它们可以以更有效的方式存储数据并自动执行移动数据的过程。
继续您的课程结束项目 #
在本课程中,您将了解数据库系统是如何设计的,如何构建 BI 工具(如管道和 ETL 系统)以及如何优化它们以最大限度地提高性能。 现在,是时候进行激动人心的下一步了:将所有这些用于您的课程结束项目。 在上一课程中,您了解了项目场景和有关案例的重要细节。 在此过程中,您制定了利益相关者要求、项目要求和战略文档。 现在你已经布置了项目的这些重要元素,是时候开始考虑数据了。 在本课程的这一部分中,您将开始使用数据库,以便创建 BI 工具,这些工具可以自动执行关键流程,例如在将数据读取到目标表中以进行报告之前移动和转换数据。接下来,您将访问项目数据,探索数据库系统的设计模式,观察团队的工作以确定他们的需求,并使用所需的指标和事实来构建满足这些需求的管道。 这些流程将使您的团队能够将时间集中在日常工作的其他方面,并将移动和转换您的数据,以便立即在报表和仪表板中使用。 这些报告和仪表板将为您的利益相关者提供最新的见解,并使他们能够从数据中获得自己的答案。 课程结束项目的这一部分是一个很好的机会,可以向潜在的雇主证明你可以做到这一点。 请记住:开发这些工具是一个迭代过程,因此您可以在有新想法或学习新事物时继续构建和改进它们。
探索课程 2 课程结束项目方案 #
概述 #
当你使用结构化思维来处理一个项目时,你经常会发现有一些特定的步骤你需要按照特定的顺序完成。Google 商业智能证书中的课程结束项目在设计时就考虑到了这一点。每门课程中提出的挑战代表了整个项目中的一个里程碑,基于该课程中学到的技能和概念。
证书计划允许您从不同的工作场所场景中进行选择,以完成课程结束项目:Cyclistic 自行车共享公司或 Google Fiber。每个场景都为您提供了一个机会来完善您的技能并创建工件以在在线投资组合中在就业市场上分享。
无论您选择哪种方案,您都将练习类似的技能,但您必须为每门课程至少完成一个课程结束项目才能获得 Google 商业智能证书。为了获得有凝聚力的体验,建议您为每个课程结束项目选择相同的方案。例如,如果您选择在课程 1 中完成的骑行场景,我们建议您在课程 2 和 3 中也完成相同的场景。但是,如果您对多个工作场所场景感兴趣或想要更多挑战,欢迎您做多个课程结束项目。完成多个项目为您提供了额外的实践和示例,您可以与未来的雇主分享。
课程 2:课程结束项目场景 #
自行车共享单车
背景:
在这个虚构的工作场所场景中,虚构的公司 Cyclistic 与纽约市合作提供共享自行车。目前,曼哈顿和邻近的行政区都有自行车站。客户可以租用自行车,以便在这些地点的车站之间轻松旅行。
场景:
您是 Cyclistic 新聘用的 BI 专业人员。该公司的客户增长团队正在为明年制定业务计划。他们想了解他们的客户如何使用他们的自行车;他们的首要任务是确定不同车站位置的客户需求。以前,您从会议记录中收集信息并完成重要的项目规划文档。现在您已经准备好进入项目的下一部分了!
课程2挑战:
- 使用项目规划文档确定关键指标和仪表板要求
- 观察利益相关者的行动,以更好地了解他们如何使用数据
- 收集和组合必要的数据
- 设计可上传到 Tableau 的报告表以创建最终仪表板
注意:这个故事,以及所有描绘的名字、人物和事件,都是虚构的。无意或不应推断与真实人物(在世或已故)的身份。本项目中共享的数据是出于教学目的而创建的。
谷歌光纤
背景:
Google Fiber 为个人和企业提供光纤互联网。目前,在呼叫中心工作的客户服务团队在其既定服务区域内接听客户的电话。在这个虚构的场景中,该团队有兴趣探索重复呼叫的趋势,以减少客户为解决问题而必须呼叫的次数。
场景:
您目前正在面试 Google Fiber 呼叫中心团队的 BI 职位。作为面试过程的一部分,他们要求您开发一个仪表板工具,使他们能够探索重复呼叫的趋势。团队需要了解客户在第一次询问后致电客户支持的频率。这将有助于领导层了解团队在第一时间回答客户问题的效率。以前,您从会议记录中收集信息并完成重要的项目规划文档。现在您已经准备好进入项目的下一部分了!
课程2挑战:
- 使用项目规划文档确定关键指标和仪表板要求
- 考虑执行项目的最佳工具
- 收集和组合必要的数据
- 设计可上传到 Tableau 的报告表以创建最终仪表板
关键要点
在课程 2 “洞察之路:数据模型和管道”中,您重点了解了如何在 BI 环境中存储、转换和交付数据。
课程2技能:
- 合并和转换数据
- 确定关键指标
- 创建目标表
- 练习使用 BI 工具
课程 2 课程结束项目可交付成果:
- 必要的目标表
现在,您已经完成了项目的这一步骤并开发了目标表,您已经准备好在下一门课程中处理最终仪表板了!
自行车场景 #
课程 2 工作场所场景概述:骑自行车 #
以前,您开始与一家虚构的共享单车公司 Cyclistic 合作,为他们的团队提供关键的商业智能见解。在上一门课程结束时,您咨询了利益相关者,以制定项目规划文件,以确定他们的需求和期望。战略和规划文档是帮助您了解有关此项目的重要细节的关键,因此您需要确保在继续之前已完成此步骤。请参阅此处的示例文档:活动示例:完成 Cyclistic 的商业智能项目文档.
使用这些示例来确保您自己的项目规划文档以足够的细节完成,以便继续项目的下一部分。
接下来,您将在以前的工作基础上,将您收到的用于此项目的表中的数据合并到一个报告表中,您将用于开发可与利益相关者共享的仪表板。这些活动将指导您完成将数据上传到您自己的项目空间、使用 Dataflow 或 BigQuery 中的 SQL 代码、观察利益相关者如何与数据交互,以及最终确定要用于仪表板的报告表。将有一个示例项目供您查看,以便您可以检查您的工作并继续迭代您自己的项目。
项目的下一步将提供更多机会来创建额外的工作场所样本,您可以与潜在雇主共享,以展示您的 BI 技能和知识。这也是练习您迄今为止所学技能的绝佳机会。
关键要点
课程结束项目旨在让您在虚构的工作场所场景中练习和应用课程技能。通过完成每门课程的课程结束项目,您将获得工作示例,这些示例将增强您的作品集并为未来的雇主展示您的技能。
自行车数据集 #
到现在为止,您已经准备好对课程 2 课程结束项目进行后续步骤。要使用 Cyclistic 项目数据,您需要找到相应的公共数据集,并将同事共享的邮政编码电子表格上传到 BigQuery 项目空间中。本阅读将指导您完成该过程。完成此阅读后,您将为即将到来的活动做好准备,并向您的利益相关者提供关键见解。
对于此课程结束项目,您将使用两个公共数据集,它们存在于控制台的“资源管理器”窗格中提供的公共数据中:
此外,您需要上传邮政编码电子表格你的同事和你分享。
上传到 BigQuery
首先,导航到 BigQuery 控制台。转到 BigQuery 首页或导航到控制台.
使用控制台的“浏览”窗格中的搜索栏搜索和预览公共数据集:
这些数据集已可供查询,但在开始使用这些数据集之前,查看这些表会很有用。通过在搜索栏中搜索相应的数据集名称来查找所有三个数据集:
- new_york_citibike
- geo_us_boundaries
- noaa_gsod
熟悉公共数据后,上传邮政编码数据集。将 Google 表格另存为 CSV 文件,或将其下载到您自己的云端硬盘空间中。
单击资源管理器菜单窗格中的 + ADD DATA 按钮;这将打开“添加数据”菜单。
在此处,选择本地文件以上传 CSV,或选择 Google Cloud Storage 以从您的个人云端硬盘中选择工作表。无论您添加文件还是需要填写“创建表”菜单中的必填字段。如果尚未创建表,则“创建表”菜单还将提示您创建数据集来容纳此表。
选择“创建新数据集”,并为此项目适当地命名数据集。您可以将数据位置设置为默认值。填写完此信息后,单击“创建数据集”。
现在,完成填写表的信息。为您的项目正确命名表,并在文件类型下选择 CSV。最后,为架构选择“自动检测”。完成后,选择“创建表”。新表应暂时显示在“资源管理器”窗格中的数据集下。
从此处,浏览架构,预览数据,并熟悉此表。上传此数据集后,您就可以继续您的项目了!
观察自行车队的行动 #
了解您的利益相关者以及他们如何使用数据是开发满足其特定需求的商业智能解决方案的关键。除了与利益相关者会面以讨论他们的项目需求外,观察团队的工作并确定任何模式或常见问题也很有用。
在本阅读中,您将发现 Cyclistic 团队使用数据的一些方式。这可以告知你为他们开发的 BI 解决方案,并帮助你设计最终报告仪表板,以特定于他们的需求,并对整个团队有用。作为 BI 专业人员,识别团队的需求并定制他们的系统可以在他们做出关键业务决策时支持他们的工作。
工作中的团队
正如您在上次与 Cyclistic 会面时了解到的那样,产品开发团队已经开始计划明年的 Cyclistic 自行车共享计划。Cyclistic 的客户增长团队正在为明年制定商业计划。该团队希望了解他们的客户如何使用他们的自行车;他们的首要任务是确定不同车站位置的客户需求。Cyclistic 团队提出了一个重要的主要问题:
- 我们如何应用客户使用情况洞察来为新站点的增长提供信息?
要回答这些问题,首先要从团队为您提供的 Cyclistic 自行车本身的数据以及团队用来获取见解的报告仪表板开始。除了利益相关者提出的明确请求外,您还了解团队当前流程的一些关键事项。
首先,您意识到有来自各种不同部门的利益相关者以不同级别的技术专业知识访问和使用此数据。这些团队有利益干系人:
- 产品开发
- 客户数据
- 工程
- 数据分析
- 数据仓库
- 应用程序接口
- 它
- 自行车执行官
- 项目管理
例如,您意识到产品开发副总裁 Earnest Cox 经常要求对数据进行高级见解,而很少需要对数据进行详细概述。另外,来自数据分析团队的 Tessa Blackwell 确实深入探索了数据,并花费了更多时间查看仪表板视图。在开发报告工具时,您需要找到一种方法来满足这两个利益相关者的需求。
此外,您的一位同事发现您正在处理此项目,并分享了他们最近为自己的项目创建的数据集,他们认为该数据集可能会对您有所帮助:纽约市邮编.该数据集提供了纽约市不同社区和行政区的邮政编码;这将使您可以更轻松地将自行车数据与天气数据进行比较,因为您将能够更准确地匹配位置。它还将帮助您稍后开发地图可视化。
关键要点
当您准备创建将数据传送到报表并最终传送到仪表板的管道系统时,识别不同类型的用户、他们的特定需求和问题,以及他们当前如何使用数据,可以帮助指导您的开发过程。在这种情况下,观察 Cyclistic 团队的行动表明,有些用户需要不同程度的细节并具有不同的技术能力。此外,您还从同事那里获得了一个有用的工具,该工具将帮助您浏览此项目的多个数据集。您可以利用这些发现来设计真正满足该组织独特需求的 BI 解决方案,并向未来的雇主展示您的技能和灵活性!
活动示例:为 Cyclistic 创建目标表 #
在此活动中,您创建了目标表来合并和存储从 Cyclistic 数据集中提取的数据。通过这些表,您可以在下一门课程即将开展的课程结束项目活动中使用 Tableau 开发仪表板。作为 BI 专业人员,您需要能够使用 BigQuery 和 Dataflow 等程序通过 SQL 移动和分析数据。这个课程结束项目展示了你做到这一点的能力。
您将要查看的示例将帮助您评估是否正确完成了活动。在这种情况下,您可能已经发现了一个与示例一样有效的解决方案。真棒!这个例子是 BI 专业人员如何应对这一挑战的一个例子。只要您的流程取得了相同的结果,您就可以进入项目的下一阶段。
如果发现收到的结果与提供的示例不同,请使用示例进行迭代和调整自己的代码。
对于此活动,您可以运行以下 SQL 查询以创建全年的汇总表:
探索示例代码
SELECT
TRI.usertype,
ZIPSTART.zip_code AS zip_code_start,
ZIPSTARTNAME.borough borough_start,
ZIPSTARTNAME.neighborhood AS neighborhood_start,
ZIPEND.zip_code AS zip_code_end,
ZIPENDNAME.borough borough_end,
ZIPENDNAME.neighborhood AS neighborhood_end,
DATE_ADD(DATE(TRI.starttime), INTERVAL 5 YEAR) AS start_day,
DATE_ADD(DATE(TRI.stoptime), INTERVAL 5 YEAR) AS stop_day,
WEA.temp AS day_mean_temperature, -- Mean temp
WEA.wdsp AS day_mean_wind_speed, -- Mean wind speed
WEA.prcp day_total_precipitation, -- Total precipitation
-- Group trips into 10 minute intervals to reduces the number of rows
ROUND(CAST(TRI.tripduration / 60 AS INT64), -1) AS trip_minutes,
COUNT(TRI.bikeid) AS trip_count
FROM
`bigquery-public-data.new_york_citibike.citibike_trips` AS TRI
INNER JOIN
`bigquery-public-data.geo_us_boundaries.zip_codes` ZIPSTART
ON ST_WITHIN(
ST_GEOGPOINT(TRI.start_station_longitude, TRI.start_station_latitude),
ZIPSTART.zip_code_geom)
INNER JOIN
`bigquery-public-data.geo_us_boundaries.zip_codes` ZIPEND
ON ST_WITHIN(
ST_GEOGPOINT(TRI.end_station_longitude, TRI.end_station_latitude),
ZIPEND.zip_code_geom)
INNER JOIN
`bigquery-public-data.noaa_gsod.gsod20*` AS WEA
ON PARSE_DATE("%Y%m%d", CONCAT(WEA.year, WEA.mo, WEA.da)) = DATE(TRI.starttime)
INNER JOIN
-- Note! Add your zip code table name, enclosed in backticks: `example_table`
`(insert your table name) zipcodes` AS ZIPSTARTNAME
ON ZIPSTART.zip_code = CAST(ZIPSTARTNAME.zip AS STRING)
INNER JOIN
-- Note! Add your zipcode table name, enclosed in backticks: `example_table`
`(insert your table name) zipcodes` AS ZIPENDNAME
ON ZIPEND.zip_code = CAST(ZIPENDNAME.zip AS STRING)
WHERE
-- This takes the weather data from one weather station
WEA.wban = '94728' -- NEW YORK CENTRAL PARK
-- Use data from 2014 and 2015
AND EXTRACT(YEAR FROM DATE(TRI.starttime)) BETWEEN 2014 AND 2015
GROUP BY
此查询的结果是一个合并的目标表,该表将公共数据集和您上传的邮政编码表联接起来。
此外,还需要执行一个仅从夏季捕获数据的查询:
SELECT
TRI.usertype,
ZIPSTART.zip_code AS zip_code_start,
ZIPSTARTNAME.borough borough_start,
ZIPSTARTNAME.neighborhood AS neighborhood_start,
ZIPEND.zip_code AS zip_code_end,
ZIPENDNAME.borough borough_end,
ZIPENDNAME.neighborhood AS neighborhood_end,
DATE_ADD(DATE(TRI.starttime), INTERVAL 5 YEAR) AS start_day,
DATE_ADD(DATE(TRI.stoptime), INTERVAL 5 YEAR) AS stop_day,
WEA.temp AS day_mean_temperature, -- Mean temp
WEA.wdsp AS day_mean_wind_speed, -- Mean wind speed
WEA.prcp day_total_precipitation, -- Total precipitation
-- Group trips into 10 minute intervals to reduces the number of rows
ROUND(CAST(TRI.tripduration / 60 AS INT64), -1) AS trip_minutes,
COUNT(TRI.bikeid) AS trip_count
FROM
`bigquery-public-data.new_york_citibike.citibike_trips` AS TRI
INNER JOIN
`bigquery-public-data.geo_us_boundaries.zip_codes` ZIPSTART
ON ST_WITHIN(
ST_GEOGPOINT(TRI.start_station_longitude, TRI.start_station_latitude),
ZIPSTART.zip_code_geom)
INNER JOIN
`bigquery-public-data.geo_us_boundaries.zip_codes` ZIPEND
ON ST_WITHIN(
ST_GEOGPOINT(TRI.end_station_longitude, TRI.end_station_latitude),
ZIPEND.zip_code_geom)
INNER JOIN
`bigquery-public-data.noaa_gsod.gsod20*` AS WEA
ON PARSE_DATE("%Y%m%d", CONCAT(WEA.year, WEA.mo, WEA.da)) = DATE(TRI.starttime)
INNER JOIN
-- Note! Add your zip code table name, enclosed in backticks: `example_table`
`(insert your table name) zipcodes` AS ZIPSTARTNAME
ON ZIPSTART.zip_code = CAST(ZIPSTARTNAME.zip AS STRING)
INNER JOIN
-- Note! Add your zipcode table name, enclosed in backticks: `example_table`
`(insert your table name) zipcodes` AS ZIPENDNAME
ON ZIPEND.zip_code = CAST(ZIPENDNAME.zip AS STRING)
WHERE
-- This takes the weather data from one weather station
WEA.wban = '94728' -- NEW YORK CENTRAL PARK
-- Use data from 2014 and 2015
AND EXTRACT(YEAR FROM DATE(TRI.starttime)) BETWEEN 2014 AND 2015
GROUP BY
课程结束 项目总结 #
课程结束项目持续成功的秘诀 #
在课程结束项目的这一点上,您已经做了很多工作。 您与利益相关者合作,确定他们的需求并创建重要的项目规划文档; 然后,您使用它们来探索项目数据并构建系统来交付数据。 当您继续从事课程结束项目时,您需要考虑如何突出您的流程并向潜在雇主和招聘经理解释您所做的工作。首先,重要的是要认识到,作为 BI 专业人员,您可能会被要求学习和适应新工具。 市面上有很多很棒的解决方案,不同的企业根据自己的需求使用不同的 BI 工具。请记住,您已经学到了许多可转移的技能,这些技能可以应用于不同的工具。 您还了解了了解和观察利益相关者如何使用数据以更好地满足其数据需求的重要性; 您了解不同类型的数据库和存储系统,以及它们在更大的数据库系统中如何发挥作用;并且您了解引入、转换和交付数据的管道背后的逻辑。 这些都是值得在求职面试中强调的技能,无论职位需要什么工具。 此外,请务必考虑您的受众。 正如你在这些课程中学习的那样,你经常会与不同类型的利益相关者一起工作,他们拥有不同水平的技术知识。 当你与他们沟通时,请记住他们是谁,他们的目标是什么,以及他们已经知道什么和他们需要知道什么。 当您与面试官讨论您的课程结束项目 时,情况也是如此。通常,会有一些人进行或加入您的面试,他们不一定是 BI 专业人士。 例如,招聘经理可能不像您那样对 BI 流程有深入的了解。 为了保持你的演讲与他们相关,试着记住那些关于你的听众的关键问题。 您的面试官面临着业务挑战,就像 BI 项目中的利益相关者一样:他们有一个空缺职位需要填补。 想想他们需要了解你的什么,才能做出解决这个问题的决定。 接下来,您将学习如何向利益相关者展示 BI 见解,并为他们提供对可用于做出决策的相关数据的访问权限。 在这些课程结束时,您将通过创建仪表板和演示文稿来结束课程结束项目。很快,您的投资组合就会有一个完整的案例研究。
这是对该主题的简化解释:
数据模型和管道是任何数据驱动型组织的基础。数据模型是组织使用的数据的表示形式,数据管道是将数据从一个地方移动到另一个地方的过程。
数据模型可用于表示各种不同的事物,例如公司的客户、公司销售的产品或公司处理的交易。数据模型很重要,因为它们允许组织了解他们的数据,并就如何使用它做出明智的决策。
数据管道用于将数据从一个地方移动到另一个地方。这样做的原因有很多,例如将数据加载到数据仓库中,将数据转换为不同的格式,或将数据传递到特定应用程序。数据管道很重要,因为它们确保数据可供需要它的人员和系统使用。
在本课程中,您将了解不同类型的数据模型和数据管道,以及如何使用它们来构建数据驱动的应用程序。您还将了解数据质量和数据治理的重要性,以及如何确保您的数据准确可靠
Luis:面试准备技巧 #
我叫 Luis,是 Google 的数据和分析经理。 当我准备面试时,我喜欢准备一份文件,描述我的角色是什么,这家公司所做的典型问题和典型面试类型是什么,我申请的这个职位的团队或组织是什么? 有哪些项目可以帮助这个团队成长和超越,并为它的技术方面做好准备。 因此,准备好作品集,了解我想展示与公司战略相一致的影响,并真正花至少两周的时间真正为第一次面试做好准备。 作品集是你过去的经验和过去的项目的集合,你认为这些项目有助于向面试你的人展示。 这基本上是你的品牌,你需要确保项目展示你的品牌价值。 我通常看到的常见错误是缺乏在技术方面展示影响,请确保您了解创建数据解决方案的原因。 结果如何? 有什么影响? 在此基础上,您是如何衡量的? 确保你也能够解释为什么你应用了某个解决方案而不是其他解决方案,并确保你定义并能够解释接下来的步骤,当你准备面试时,在这个解决方案之上可以做什么,确保你与其他人一起排练面试。 重要的是,你要确保你能够,你告诉正确的信息,你专注于影响,你能够以最好的方式推销自己。 因此,你需要为面试做好充分的准备,与一个你相信你愿意接受反馈的人一起排练,是让你准备好回答面试问题的关键。 如果 B. I. 真的是你想走的路,这是很好的第一步。 但你不应该止步于此,出去与人交谈。 围绕 BI 的数据发生了多次聚会,所以在这条路上不要觉得孤军奋战。 有很多人可以帮助你增加你的网络,建立你能够分享的联系,你也可以从别人那里获得知识。
本课程将教您数据建模和管道的基础知识。您将学习如何:
- 设计和构建准确表示现实世界的数据模型
- 创建高效可靠地移动数据的数据管道
- 优化 ETL 流程以提高性能
- 使用数据模型和管道解决实际问题
本课程专为数据分析师、数据工程师以及想要了解有关数据建模和管道的更多信息的任何人而设计。不需要任何经验。
您将学到什么
- 数据建模和管道的基础知识
- 如何设计和构建数据模型
- 如何创建数据管道
- 如何优化 ETL 流程
- 如何使用数据模型和管道来解决实际问题
参加本课程的好处
- 您将深入了解数据建模和管道
- 您将能够设计和构建满足组织需求的数据模型和管道
- 您将能够优化 ETL 流程以提高性能
- 您将能够使用数据模型和管道来解决实际问题
谁应该参加这门课程
- 数据分析师
- 数据工程师
- 想要了解有关数据建模和管道的更多信息的其他人
先决条件
- 不需要任何经验
课程回顾 #
课程总结 #
恭喜您完成了另一门课程。 您离完成此计划并获得证书更近了。你已经学到了很多东西。 花点时间考虑一下我们在本课程中涵盖的所有内容并庆祝。 例如,您了解了数据库建模、设计模式以及如何使用数据库架构来描述这些设计模式。 您还发现了多种数据库,以及它们在数据库系统中的不同用途。 接下来,您将探索数据管道,以及 ETL 和 ELT 流程如何帮助将数据获取到需要的位置,并将其转换为在该过程中有用。 您还了解了管道中可能使用 的不同数据存储系统。此外,您还探索了更常见的 BI 工具以及如何与利益相关者有效交互。 您甚至有机会创建自己的管道。 然后,通过探索数据库和管道优化,您可以考虑 BI 流程和系统如何经常迭代。 接下来,您将有更多令人兴奋的发现。 现在,您已经了解了如何创建系统以向利益相关者交付数据,现在是时候开始考虑如何呈现这些数据并使其可供访问并用于决策了。 在下一门课程中,你将详细了解如何为 BI 设计可视化效果和仪表板,并展示这些见解。 到目前为止,工作很棒。
Powered by BetterDocs