zoukankan      html  css  js  c++  java
  • 数据仓库系列之关于数据仓库自动化技术

      目前市面上的BI工具都在提及敏捷BI解决方案。敏捷BI解决方案所提供的自动化技术支持主要是从数据源取数到BI前端工具展现。这样的敏捷BI解决方案在企业数据量不是很庞大的情况下,还是很好的支撑运行。PowerBI可以支持大量的数据处理,但是对于硬件设备的要求也是非常高的。但是数据量变得越来越庞大就会导致BI报表出现运行缓慢,大屏展现出现数据延迟等等现象。

      如果项目较小例如上图中的动态销售报告,只是为了展现EXCEL中少量的数据。使用PowerBI工具完全可以满足大家的需要。真正要做到敏捷BI整体数仓解决方案,还是需要在数据源和BI前端工具的中间加入数据仓库。在数据仓库中处理数据对于源数据没有任何侵入性,也不会对源数据系统造成影响。数据仓库的搭建可能大家用过SSDT工具应该知道,搭建数据仓库还是很繁琐的。搭建数据仓库还是需要借助数据仓库自动化工具。

      数据仓库自动化的工具正变得越来越主流,现在他们明显的好处:

      1、  快速交付

      2、  开发成本较低

      3、  开发周期短对于一个商业智能项目完成,不再需要等待三至六个月。

      4、  维护成本低,无需投入大量的技术人员维护

      市面上已经有的ETL工具具有自动化技术,我在前面的ETL过程和ETL工具介绍已经提及了,这里就不再做过多的描述。有一些事情你应该知道,评估来自不同供应商的产品的维度。

      一、有些工具数据仓库的自动化程度较低。

      一些数据仓库自动化工具就存在不能够自动化处理模型,大多数开发商在做示例都是使用一个简单的星型模式报告。这是一个简单的数据源,但是当你需要将数据从多个数据源整合,事情就变得复杂了。有些工具带你通过一个错综复杂的过程,升级到数据生成星型模式之前结合。这是不是很自动化。数据仓库的自动化工具应该可以处理70%的工作,而不需要额外的数据建模工作或ETL编程。除非客户存在定制化的需求,再进行建模和编程。

      二、一些工具需要大量的咨询工作实现结果。

      问问你的数据仓库的自动化软件供应商的这个简单的问题: “你们实施BI项目有多少实施顾问,实施需要的周期?”一个健全的实施BI项目的团队,如果已经做到了工具大部分自动化处理。实际具有成熟自动化技术的供应商,他们更多的是在做客户报表指标的梳理,适配公司模型库中的指标数据。更多的工作是在前期的需求调研确认模型阶段,实施部署BI项目实际是非常快速的。

      三、雪花模型和星形模型

      如果您正计划建立自己的数据仓库,那么你所选择的数据仓库自动化工具应该自动执行任何上述的部分或全部。一些数据仓库的自动化工具仍需要您手动设计目标模型,并用自己的工具来填充它。这不是自动化,你还不如回去使用ETL工具。一个好的数据仓库自动化工具将自动完成了模型设计和填充它的代码 。让你在雪花模型和星型模形之间进行选择。

      四、目标数据库的数据仓库。

      许多数据仓库的自动化工具限制你只是一个目标数据库平台,而其他人将让你在更多的创建数据仓库。你可能希望,在未来,移动到不同的数据库平台(例如,从S​​QL Server到Oracle,或从S​​QL Server到S​​QL Server其他版本),所以你可能需要一个数据仓库的自动化工具,它为您提供了将来的迁移选项。

      五、调度依赖

      对于任何数据仓库项目,需要数据在特定的时间,并在一定的顺序进行装载。例如,当来自多个来源的数据相结合,你可能需要有所有加载之前,首先你可以开始建立你表中的数据,而且他们必须更新之前,您可以更新您的星型模型的报告。一个企业级的数据仓库的自动化工具将了解这些依赖关系,自动执行并自动完成所有必要的流程和正确的顺序运行它们。

       六、数据仓库自动化工具的功能

      数据仓库自动化工具主要包括系统管理、业务总线管理、维度模型管理、作业管理、应用管理、元数据管理、数据标准管理和行业指标库等模块。 个人认为真正健全软件应该具备上图的功能特点或者实现维度建模工具箱中提及的34个子系统。

      系统管理:这个模块主要管理各个系统的信息包括源系统信息、数据仓库系统、作业调度系统、报表浏览系统。通过源系统信息可以自动导入源系统的元数据,为维度建模和检查数据结构变化提供数据。

      业务总线管理:每个源系统都有多个业务过程,每个业务过程都会涉及多个维度实体。业务过程和维度实体组成总线结构,统一管理每个源系统的业务总线。

      维度模型管理:根据命名规范进行物理模型和映射关系设计,保证命名的统一。可以自动生成建表脚本,自动在数据仓库执行脚本。

      作业管理:根据查询脚本和程序模板自动生成ETL程序,自动生成作业的依赖关系。保证程序代码的统一,规范。

      应用管理:统一管理报表、接口业务元数据信息。

      数据标准管理:统一管理代码命名规范、数据类型映射关系、常用单词库、指标定义、ETL程序模板。

      元数据管理:在开发的过程中,会存储各种元数据信息,可以根据这些元数据进行代码规范检查、数据影响分析、数据异常监控。

      项目文档管理:可以在BI项目实施时进行自动生成数据处理过程的备注信息,可以详细描述知道字段的转换,抽取规则等等

      行业指标库:通过公司积累的行业数据指标进行适配客户数据,实现低成本敏捷交付BI项目。

      七、总结

      ETL工具引入了很多时间的延误和风险到您的商业智能项目。更糟的是,他们期待您的业务用户能够学习掌握数据仓库中的表和字段,真正业务用户时不理解数据仓库的,所以不可避免的变化将要花费很长的时间来解决。真正可以让业务用户理解的只有业务术语,利用语义模型才是解决该类问题的最好方法。你能用敏捷的ETL工具,来完成模型的设计。如果您估计传统的数据仓库项目,需要半年,同样的项目在具有良好和高度配置化的数据仓库自动化工具来完成只需要几个星期处理好。时间对于任何公司和个体都是十分重要的,所以选型数据仓库工具也是需要非常谨慎小心。

  • 相关阅读:
    如何找出一个数组中第二大的数
    如何把一个整型数组中重复的数字去掉
    假设数组a有n个元素,元素取值范围是1~n,如何判定数组是否存在重复元素
    如何重新排列数组使得数组左边为奇数,右边为偶数,并使得空间复杂度为O(1),时间复杂度为O(n)
    给一个由n-1个整数组成的未排序的序列,其元素都是1~n中的不同的整数。如何在线性时间复杂度内寻找序列中缺失的整数
    已知大小分别为m、n的两个无序数组A、B和一个常数c,求满足A[i]+B[j]=c的所有A[i]和B[j]
    如何找出数组中符合条件的数对
    如何找出数组中出现奇数次的元素
    云服务器ECS挖矿木马病毒处理和解决方案
    Java下载https文件上传到阿里云oss服务器
  • 原文地址:https://www.cnblogs.com/fly-bird/p/11442884.html
Copyright © 2011-2022 走看看