借助实际解决方案
事实证明, 将数据集成到战略中是各种规模企业的差异化因素. 俗称 "数据驱动" 不仅仅指价值十亿美元的科技公司.
DiscoverOrg 和 MVF 等公司正在使用数据来帮助制定决策和创建更好的产品.
借助数据, 甚至更小的公司也在左右寻找节省和新收入的机会.
但是, 这说起来容易做起来难.
仅从您所有不同数据源中提取数据并不总是足够的. 开发数据策略和产品可能会遇到很多问题.
在本文中, 我将概述您可能会在使用数据时遇到的一些问题, 包括增加数据大小, 具有一致的数据和定义以及减少将数据从第三方系统获取到数据仓库所需的时间.
我还将提供一些解决方案.
太多数据导致性能不佳
大数据. 它解决了您所有糟糕的算法问题, 对吗? 好吧, 有点.
实际上, 大数据可能会导致许多新问题. 特别是具有性能.
大数据意味着如果您没有可以处理这些数据的系统, 那么您很快就会遇到问题.
甚至最大的公司都遇到了这个问题. 数据不断增长, 反过来又减慢了仪表盘, 模型和报告的速度. 等待两分钟以使用 Tableau 仪表板是不可行的. 没有高管, 董事或经理想要等待那么长时间.
因此, 尽管大数据可以提供尽可能多的见识, 但它很快就会成为负担(而且我甚至没有提到修剪不必要的数据的问题).
那么, 我们如何改善大数据系统的性能呢?
解决方案 1: 支付更多计算费用
解决问题的一种方法就是花更多的钱 - 在集群上购买更多的计算机或购买更大的计算机. 但是总会有一个限制.
我与许多客户合作, 他们迅速计算出, 通过更多的计算途径来提高性能会花费太多. 这看起来似乎很容易, 但是可以说这并不是最好的解决方案.
有时, 与计算无关, 而与设计以及底层系统有关.
解决方案 2: 迁移到专为速度而设计的云数据仓库
通过技术债务和时间的结合, 系统开始变慢. 有几种改善方法, 而不仅仅是购买更大的机器.
例如, 如果您的团队为数据仓库使用 Postgres 或标准 SQL Server 之类的数据库, 那么可能是时候迁移到专为分析查询设计的云数据仓库了.
您可以研究诸如 Azure Synapse,Redshift 或 BigQuery 之类的云数据仓库. 这些可以帮助提高性能, 具体取决于您设计数据仓库的方式.
解决方案 3: 改进数据仓库设计
如果您已经在云数据仓库中, 则可以研究其他可能的解决方案, 例如更好的设计, 汇总表或索引.
这些都是需要查看您的设计, 查看瓶颈并评估最佳解决方案的解决方案.
改善整体设计是一个更加困难的话题. 我很乐意通过免费咨询电话或在我每周开放的办公时间内讨论此问题.
您还可以查看其中一些有关扩展的文章, 因为有很多方法可以解决该问题.
如何在应用变慢之前提高其性能
改善数据仓库性能
在 Excel 中管理复杂的业务决策
Excel 和电子表格继续在全球公司中推动数十亿美元的决策. 对 Excel 的依赖也导致了即使是最聪明的公司也犯了数百万甚至数十亿美元的错误.
例如, 2008 年, 巴克莱银行同意购买雷曼兄弟, 但由于电子表格的错误, 他们蒙受了他们不打算购买的合同的损失. 雷曼兄弟资产的详细电子表格包含大约 1,000 行, 需要转换为 PDF. 但是, 原始的 Excel 版本具有巴克莱不想要的包含 179 个项目的隐藏行. 他们不希望这些合同的注释没有转移到 PDF, 但是隐藏的行却转移了. 结果, 他们不得不购买 179 份他们不想要的合同.
而在 2012 年, JP Morgan 损失了近 60 亿美元, 这主要归因于 Excel 错误.
Excel 是一种非常通用的数据工具, 可以帮助团队管理很多工作流程. 但是, 由于设计复杂, 人为错误以及 Excel 通常的操作方式, 它们也很容易出错.
为了避免这些错误, 您的团队可以采取一些策略.
解决方案 1: 像对待工程师一样对待 Excel
如果使用 Excel 来做出较大的决定, 则应像对待工程师一样对待它.
这意味着应该有 Excel 复审和测试用例. 可能看起来有些矫枉过正, 但是 Excel 非常类似于代码. 甚至有人认为它是第四代编码语言. 这意味着它很容易因逻辑, 流程和提供的输入而引起错误.
因此, Excel 应该被视为代码.
不要仅仅相信分析师, 无论他们多么聪明, 都可以制作出完美的 Excel 工作表. 出色的程序员和出色的分析师也会犯错误.
应当进行逻辑审查, 测试用例和健全性检查, 以减少这些错误. 在贵公司由于不良信息而损失大量资金之前, 这一切似乎都是不必要的.
解决方案 2: 使用 Python 和 SQL 自动化 Excel
为定义明确的业务流程自动化并开发干净的数据工作流, 这些业务流程可以转换为 SQL 和代码.
许多报告需要从报告或数据库表中复制粘贴数据. 除了复制粘贴外, 还有一些方法可以自动提供数据输出.
可以通过有限的操作将 SQL, 代码和电子表格结合使用. 代码仍然容易出错, 但是, 通常可以通过限制错误和输入数量的方式来编写代码. Excel 并非如此. Excel 的灵活性使它易于出错.
哪种解决方案最佳取决于流程的复杂性, 其重复性以及基于数据解决方案做出的决策有多大.
将数据快速放入数据仓库
我现在已经与美国多家公司的数据科学家和分析师进行了交谈, 他们都有一个主要的抱怨: 他们无法足够快地获取数据.
这通常是因为没有足够的数据工程师空闲时间来提取每个新数据集. 这极大地减慢了数据科学家和分析师回答问题的能力, 这些问题可能为企业节省成千上万 (甚至数百万美元) 的费用.
在创建管理完善的数据系统与快速提供数据之间可以找到一个恒定的平衡, 以便业务主管可以做出决定.
但是到添加数据时, 可能为时已晚.
解决方案 1: 使用 ELT 代替 ETL 进行临时工作
事实是, 在某种程度上, 考虑到现代公司需要快速发展, 有时使用足够好的数据比等待使用完美的数据要好.
需要澄清的是 - 我确实相信进入中央数据仓库的数据应尽可能准确和可靠. 但是, 由于有了备用的中央数据存储系统, 数据科学家和分析人员可以开始更快地访问新数据集, 而不必等待数据被 100% 设置 - 告诫您数据可能很时髦.
这是 ELT 出现的地方.
对于那些不熟悉 ELT 和 ETL 的人. 这些是提取, 转换数据并将数据加载到数据仓库的方法. 请注意, 该过程的首字母组成 ETL.
过去, 我已经讨论过 ETL. 问题在于, 由于转换通常会占用大量代码, 因此 ETL 的开发速度很慢. 这样做有优点也有缺点, 但我现在不再讨论.
ELT 将转换移到过程的最后, 这使数据分析人员和科学家可以在数据完全处理之前开始处理数据. 就数据治理而言, 这确实带来了一些风险.
但是, 我认为 ELT 在临时分析以及试图找出要为核心数据层建模的数据集方面发挥了作用.
ELT 有很多解决方案和工具 - 其中一些是:
- Airbyte
- Fivetran
- Talend
解决方案 2: 仅导入您需要的数据
人们遇到的主要问题之一是要提取太多的数据源.
您的团队应该专注于仅提取符合业务目标的数据, 而不是提取所有数据.
例如, Salesforce 和 Workday 可以具有数百个表, 具体取决于团队流程的自定义方式. 因此, 不要为每个可能的表创建管道, 而只能提取所需的数据.
这有助于分配资源并确保您快速获取数据.
一致的数据值和定义
各个团队的数据定义和值不一致可能会导致重大问题.
在许多方面, 此问题与我上面提供的解决方案相冲突. 但是我仅将重点更多地放在业务的核心数据模型上, 因此我相信这个问题会稍有不同.
对于那些不熟悉此问题的人, 让我提供一个简单的示例.
假设您要创建一个衡量多日活动与单日活动的指标.
什么定义了多日活动? 它是持续超过 24 小时的事件, 还是跨越 2 天或更长时间的事件?
定义企业日常使用的关键概念很重要 - 每个业务团队都有可能使用该术语, KPI 和定义. 如果各个团队之间的定义不一致, 那么您可能会看到不一致的报告: 一个团队会说有 100 天的多日游, 而另一个团队会说有 90 天的多日游.
我已经在会议上看到这引起混乱. 突然, 而不是专注于某种形式的战略变革的实际背景和影响. 经理和董事正试图找出造成十次差价的原因. 完全破坏会议的任何形式的实际战略目的, 并将其浪费在时间上, 因为逻辑和人们试图匹配数字.
同样, 发生的另一个问题是所有各种集成系统, 例如 Workday 和 Salesforce. 各个字段可能变得不同步. 例如, 公司的 Salesforce 实例可能每周从 Workday 为员工拉出职位. 这是为了减少人工干预, 但存在报告和获取准确信息的风险. 如果数据分析师从 Salesforce 撤出并认为数据始终是最新的, 则可能是错误的.
缺乏明确的定义和明确的真理来源有很多风险.
解决方案 1: 实施数据治理策略
一个很好的解决方案是建立数据治理流程.
数据治理是基于内部数据标准和策略 (还控制数据使用) 来管理企业系统中数据的可用性, 可用性, 完整性和安全性的过程.
数据治理并非绝无仅有: 它不是数据科学或机器学习. 但是有效的数据治理可确保数据一致且可信赖, 并且不会被滥用.
让我们特别看一下最后一部分 - 确保数据一致且可信赖.
顾名思义, 数据治理不可避免地会为数据移动增加更多的流程和官僚作风. 公司设立了数据治理委员会, 以确保存在和报告的数据是一致的.
现代公司中的数据通常高度集成, 并自动填充各种第三方资源. 我在上面给出了 Workday 和 Salesforce 集成的示例.
数据治理有助于定义哪些字段应来自哪些来源, 因此您不会从不同的来源提取相同的数据, 从而导致数据不匹配的风险.
换句话说, 数据治理是一个人为的过程.
解决方案 2: 选择数据沿袭工具
其他更自动化的流程可以帮助您的团队跟踪数据源以及数据如何从点 a 到达点 b.
例如, TreeSchema,Octopai 和 Kylo 之类的工具会自动抓取您团队的数据源以帮助跟踪元数据 - 元数据的所有者, 表, 数据的模式以及数据的来源.
这些工具不仅有助于跟踪数据的来源, 还有助于跟踪数据的更改和不良的数据做法.
例如, TreeSchema 提供了一些功能, 例如添加新数据源或字段时发出警报. 在普通公司中, 将创建一个新的数据对象, 但是可能没有任何文档可以告诉用户该数据是什么. 如果它具有文档, 则可能在某些共享文件夹或 SharePoint 网站中. 相反, 使用 TreeSchema, 您可以集中化数据文档并在其中有漏洞时获取更新.
拥有一种跟踪所有元数据的方法可以简化事情并消除对数据的混淆. 它还创建了更可靠的核心数据层.
缺乏清晰的数据策略
大多数公司面临的最大挑战之一是缺乏明确的方向. 要使用, 分析, 构建和集成数据产品的数据太多, 因此很难知道从哪里开始.
建立清晰的数据策略通常是第一步.
这意味着要查看您的总体业务目标, 然后查看可以将其与数据目标保持一致的方法, 而不是相反.
我曾与旨在将 AI 集成到其服务中的客户合作, 但他们并没有真正想到 AI 在其整体业务战略中将扮演的角色.
解决方案 1: 首先确定您的业务目标
在您花数千美元 (如果不是数十万美元) 购买某种新的机器学习模型或数据仓库之前, 请确保对您的业务有所帮助. 需要对齐.
首先, 计划您的业务目标, 然后查看您拥有哪些可以帮助实现这些业务目标的数据.
第一步是通过基本数据分析策略清单.
您今天将如何改善数据分析流程?
利用数据做出更好的决策可以为公司带来竞争优势. 但是, 这取决于数据的质量和设置的数据过程的健壮性.
仅创建仪表板, 数据仓库和机器学习模型不足以做出由数据驱动的决策. 在开发未来的数据产品时, 有很多障碍可以吸引您的团队.
希望这份包含五个挑战和解决方案的清单可以帮助您的团队就如何改善数据分析策略做出明智的决定.
来源: http://bigdata.51cto.com/art/202102/645486.htm