没有E的数据仓库
如今,在任何与大中型企业有关的公司中,数据仓库的可用性已成为事实上的公司标准。 公司经营哪个行业都没有关系,如果不分析有关客户,供应商,财务的可用数据,就不可能保持竞争优势。 随着产品或服务的每个生产级别的自动化和优化的发展,组织使用越来越多的IT系统来创建数据-生产,会计,计划,人员管理等。
从企业资源的全局优化,新的和当前的业务需求以及为什么维护元数据很重要的角度来看,如何最有效地构建创建数据仓库的过程。
使用累积数据的任务最常用于以下几类任务:
- 监管报告
- 财务会计
- 规划与控制
- 预算编制
- 客户群分析
- 风险管理
通常,出于最紧急的目的,使用一个来源就足够了-例如,如果我们正在谈论向监管者提供某个系统的某些细节,或者使用CRM将客户的整个订单历史发送给客户。 即使在更改信息系统时,获取报告通常也没有困难。
数据存储的方法和类型
但是,当组织的规模变得足够大时,或者如果您想增加竞争优势,仅创建产品并将其推向市场已不再足够。 当前趋势-全面研究消费者,以提高其忠诚度。 您需要从不同角度分析业务,并学习如何更准确地评估成本。 必须具有类别中的典型任务如下:
- 如何为商业采矿单位分配费用
- 如何根据内部或外部因素预测需求
- 如何管理金融和保险组织中的风险
- 如何增加客户的平均支票(定位)
以上每个示例都需要使用多个数据源。 另外,重要的是,用于比较源之间的数据的方法必须一致。 否则,当组织(例如,战略主管和销售主管)将相同的信息带给总经理时,不可避免地会出现这种情况,而编号却不同。 然后一个月,他们使用将近一半的人员来找出谁是“合适的”。
组织数据仓库的最原始方法是所谓的“数据湖”(或数据湖),当我们简单地从不同来源获取和堆积数据时。 在这种情况下,我们只有一个技术平台来处理数据,并将复杂的分析查询与信息系统的主要任务隔离开。 这样的数据仓库可能是完全不相关的。 但是,在这种情况下,您可以忽略复杂的分析,而仅对简单查询进行操作。 另外,处理数据的人员不仅应该对业务领域有知识,而且对源系统的数据模型也应有知识。
此外,根据所谓的数据仓库的组织级别,存储随之而来 Kimball的分类(Kimpball)。 来自不同系统的度量是统一的,这样我们就可以得到一个具有两种表的网络,即事实和度量。 这是目录的主要补充,当我们在不同来源的相同表中使用某些公共自然键(例如,组织目录中的TIN)获得单个引用时。
接下来的复杂性和可靠性是具有单个数据模型的数据仓库,该数据模型反映了描述组织活动的最重要的对象。 可靠性在于以下事实:以正确的模型构成,以接近第三标准的形式呈现的数据是描述整个企业生命周期的通用手段,因此,该数据模型不仅可以轻松地用于分析和监管报告,还可以轻松地进行调整。并用于某些企业系统的操作。
E-一
在谈到本文的主题时,我将列出负责构建数据仓库的人员所面临的主要问题:
“
真空中的马 。” 存储库已构建,但没有人使用它。
黑匣子 。 存储是内置的,但是其中的内容以及其工作方式却令人难以理解。 因此,经常发生错误,并且如果开发团队的一部分也辞职了,那么结果就进入了问题a。
“
计算器 ”。 存储是已构建的,但仅满足原始请求,业务更改的速度比需求的实现快得多,其中未考虑新的业务请求。 此外,某些数据可能已过时或很少更新。
“
水晶花瓶 ”。 存储需要大量的手动控制,检查和手动控制操作,如果其中一名支持人员不在工作,则很可能会收到无效数据或根本不接收数据。
我们将更详细地分析所有四种情况。
“真空中的一匹马。” 如果得到此结果,则发生这种情况的原因有两个:
- 可能性较小。 您没有从业务部门收集需求(或者相同,它们设计得很差)。 如果创建存储库的想法不是来自业务,而是来自IT部门的,那么这种看似荒谬的情况就会出现,而IT部门只是拥有“额外”预算,而存储库的构思是因为每个人都有。 如果我们将所有东西都放在这里,我们稍后会找到客户(甚至更好的选择是“他们将伸出双手来运行”)。 负责分配预算的人认为这是必要的,他们在书中阅读和收听,就像是现代化,他们一致同意了。
- 更有可能。 已经确定了数据仓库的客户,例如,这是销售部门,这是一个绝妙的主意:“让我们在三角洲上花费更多的精力,推动财务,人员的投入,再多一点,整个企业将使用存储”。 仓库已经建成,但只有销售部门可以使用它,尽管那里的一切都很美,我不想挤牛奶,但不,我的同事没有时间去基瑟尔银行,他们需要从早到晚挖掘数据。 毕竟,这是通过汗水和血液获得的一块(阅读:花时间)。
在这两种情况下,都没有责任对高层管理者负责并降低其层次结构。 就像企业文化一样。 如果是基因。 如果企业的主管是2名代表,则只有基因本身可以在企业级别使用存储。 一头鹿,或者正在为企业的一部分建立存储-由最高职位的负责人监督,他知道需要引入EDM。
为了消除这种情况,必须采取以下措施:
- 正式确定数据仓库项目的发起人-谁将在财务和精神上对结果负责
- 批准项目范围(可能分阶段),指明大概的日期
- 与所有部门进行协调-最好是按原样进行业务流程的建设
只有在此之后,我们才能开始实施项目-收集需求,设计架构等。
黑匣子 。 因此,您声称自己构建了存储库,并考虑了所有要求,但是,没人知道如何使用它,而且,如果其中一位关键开发人员离开了,几乎就无法理解已完成的工作和操作方式。
在这种情况下,很明显,未设置开发文档过程。 “先编制文档”的原则,然后是发展,如果不提高到“绝对”,则应提高到相当严格的控制水平。 而且不仅来自负责数据仓库开发的团队。 理想情况下,有必要将其他报告开发人员(分析,法规),公司内部信息系统的所有者以及消费者本身与持续不断的最新文档流程联系在一起。
此外,文档编制过程应满足以下原则:
- 相关性-程序代码的当前状态完全由文档的组成确定
- 版本控制-分析过去版本的文档并计划对未来版本进行修改的功能
- 分离-多个人可以同时处理一个文档
- 适用性 它说,对于每种类型的存储文档,重要的是选择一种目标用户可以最好理解的结构:例如,表结构最好以表格形式描述,业务流程以符号形式描述,信息系统之间的交互以图表形式,业务-维基系统形式的字典等。
现在有一些软件产品可以极大地简化生活,即 链接设计和开发,但是虽然还没有针对数据仓库的完整解决方案,但它们是:
如果没有最新的文档,则开发新需求的复杂性将会增加,而有了功能强大的文档,其复杂性将会降低。
“
计算器 ”。 如果我们假设我们没有收到“真空中的马”,那么这种情况就是关于何时似乎可以满足要求,但正式满足要求的情况。 您想计算一天的其余时间-请。 您是否要按交易对手的地区来获取它们-不在要求中,您需要上传到excel,然后从系统X上传到具有Y字段选择的承包商,然后选择VPR-ite。
当前的情况表明,缺乏团队经验,没有存储库后续开发的架构视图,甚至没有原始数据模型。 通常,此类存储库将成为临时存储库,或者很快就被忘记。 以一种好的方式,商店应该具有从山上滚下来的雪球的力量。 起初,当团块还很小并且前方有大雪时,您自己几乎不需要收集并推动它。 在某个时间点,关于您的产品的名声会传播开来,并且用户会在商店中看到的越来越多。
因此,为了使存储不会变成计算器,必须确保:
- 合格的人员-架构师,分析师,EtL和SQL开发人员
- 该项目的章程,不仅要说明下一个预算期,而且要说明以后几年的存储目的
- 数据仓库的定量和定性标准。 如果人员不足,建议吸引顾问
- 清楚地想象一下,将来将有助于优化数据仓库的因素-人员成本,软件,提高报表开发速度等。
“
水晶花瓶 ”。 存储是内置的,似乎可以应付其任务,但是需要大量的努力来支持它:维护某种手动目录,不断地重新加载某些源,加载失败,重复数据等。
由于以下原因,可能会发生这种情况:
- 上面已经说过-缺乏合格的人员;
- 非架构概念-当存储的不同部分是由不同的人或团队在没有共同认可的概念的情况下完成的,因此,我们可以采用多种方法来提取,转换和加载数据;
- 一个非常普遍的情况是“外包开发”,它自己的支持,而对工作的接受却做得很差。
- 在存储库开发的某个阶段,“预算已结束”。 然后,不是由创建存储的团队来确定(支持)存储,而是由需要数据的人员来确定(支持)存储。
为避免这些情况,建议采取以下措施:
- 以上几点包括合格人员,项目章程,长期计划和预算以及高层管理人员的兴趣。
- 领导流程的不是外包,而是外包的内部员工(首席分析师或架构师)。
- 任何失败的情况都应提交会议,以供仓库建筑师考虑。 如果有几个建筑师,那么建筑委员会。
- 建议为数据仓库引入质量度量;您可以使用此度量来绑定到KPI命令。
可以看出,在所有这些情况下,尽管事实上创建数据仓库都是项目活动,但是必须对创建过程本身进行监管,以创建高质量的结果。
从数据仓库过渡到单一
如上所述,创建数据仓库的项目成功与否取决于很多输入数据(预算,发起人,团队,目标,客户)。 但是,我们实际上没有涉及旨在开发和维护CD本身的业务流程。 下面,我将尝试制定主要的业务流程,这些流程旨在使企业中处理数据的过程真正统一:
- 使技术和用户文档保持最新的过程
- 保持业务词典数据(词汇表)最新的过程
- 数据质量控制流程
- CD和报告系统需求的收集和管理过程
- 存储基础架构管理流程
- 优化存储和数据收集的过程
在现代范式中,这组业务流程构成了数据治理概念的基础。
很多时候,当尝试通过CD创建和报告团队的努力实施这些流程时,会采取积极的抵制态度,或者无视这些流程。 这是可以理解的,因为从局部意义上讲,它是发展的延伸。
因此,采取以下措施将很有用:
- 引入横向责任结构(每个参与者可能负责一小块区域)
- 所有员工的所有可能工作流程的图形表示(流程的形式化)
- 在KPI系统中实施责任百分比和质量
尽管从本地的角度来看,过渡过程似乎非常“官僚”且繁重,但从全球的角度来看,它却具有明显的优势并节省了时间。 由于主要的时间浪费-当从头开始发明现有的解决方案时,由于不可能或缺乏理解现有机制的愿望。
关于目标架构解决方案的一些知识
尽管EDS的体系结构来自单独的大型文章甚至一本书,但我还将指出成熟的数据仓库的主要技术要求:
- 数据湖范式不会取代公司数据仓库,而是与之共存
- EDS应该具有各种数据表示接口:双向工具,执行临时SQL查询的能力,JSON,XML中的标准数据提供等。
- 应该实现数据访问角色模型。
- 访问数据时的响应速度:90%的典型查询-少于1秒,99%的查询-少于10秒。 应该有相当好的资源供应
- HD的单个连接中央层的存在(最好是Inmon方法)
结果,数据仓库的统一性不是通过源的可用性,而是通过数据使用者的可用性来实现。 这比编写通用ETL和调整PB的内存要复杂得多。