AX系统已有的BI分析架构

对于AX 的BI分析架构,相信大家都了解,可以看Reinhard之前的译文[译]Dynamics AX 2012 R2 BI系列-分析的架构

AX 的BI分析架构的优势

从图上我们可以看出,AX是弱化了数据仓库的概念,直接用多维数据集作为分析报表的数据源。得益于AX与SSAS的深度集成,并且提供了许多预先定义好的多维数据集,可以很快地制作一个简单的分析报表。

Dynamics 365技术架构的优势

在新出的Dynamics 365里,提出了Common Data Model的概念,在一定程度上,从应用的底层解决了多系统数据整合的问题。Reinhard在12月初的微软技术大会上了解到,Dynamics 365 Operations除了Online版本外,On Premise版也在12月初有了销售版,感兴趣的同学可以关注下。

数据仓库

既然说到了数据仓库,那么我们就来看看什么是数据仓库。

数据仓库的定义

数据仓库是一个数据库,这种数据库的设计,可以支持商业智能活动:帮助用户理解和提高组织的绩效。它的设计,是用于查询和分析,而不是事务处理,并且通常包含从交易数据中派生的历史数据,也包含其他数据源中的数据。数据仓库将分析的工作负载,从事务的工作负载中分离出来,让企业能够整合来自多个数据源的数据

除了一个关系型数据库外,一个数据仓库环境还需要包含ETL解决方案统计分析报表数据挖掘客户端分析工具

数据仓库需要使用从多个源收集的数据。这些源数据可能来自企业内部自己开发的系统,采购的应用程序,第三方数据提供商,和其他源。它可能涉及交易,生产,市场,人力资源等。在今天这个大数据的时代,网站上点击事件的数据可能超过数十亿条,还有自动化机器的传感器产生的大量数据流。

为什么不能将AX作为数据仓库来用?

这里,需要说说AX系统与数据仓库主要的区别:

环境上的不同

两者最大的不同,是AX系统其实是一个OLTP系统,它的设计需要遵循3NF标准。而数据仓库并不完全遵循3NF标准。

需求上的不同

工作负载

数据仓库的设计,是为了适应即席查询和数据分析。因为对工作负载无法预知,所以要对大量可能的查询和分析操作,进行性能优化。

AX系统中,执行的其实大多数都是预先定义好的操作,如更新、写入、删除等。

数据修改

数据仓库一般是通过ETL更新,最终用户不能直接更新数据仓库。

AX系统中,最终用户的修改会持久化到数据库中,AX系统总是反映每个商业交易的最新状态。

架构设计

数据仓库总是使用部分非规范化的架构,来优化查询和分析的性能。

AX系统中,总是使用完全规范的架构,来优化更新、写入、删除操作,来保证数据的一致性。

典型操作

数据仓库的典型查询,会扫描上百万的记录。

AX系统的典型操作,是对某一行记录进行操作,这只需访问少量的记录。

历史数据

数据仓库通常需要存储几个月甚至几年的数据,这些数据为历史分析和报表提供支持。

AX系统中,反应的是每个商业交易的最新状态。不过有时也会为了满足当前交易的需要,存储一些相关的历史数据。

建立数据仓库的必要性

传统BI分析

我们知道,OLAP Cube一般而言,在性能上要比RDBMS更好。

对于传统BI分析来说,是需要建立OLAP Cube的。在建立Cube前,一般也会在数据库使用星型架构建立维度化的模型,将数据清洗好,填充进来,作为Cube的数据源。这里的星型架构和OLAP cube其实都属于数据仓库的一部分。

AX的BI分析

对于AX而言,是用表或视图来创建透视,然后定义维度和测量,接着运行分析服务项目向导来生成、部署项目,最后对多维数据集进行处理。每次处理,Cube中的数据都会更新,其实是无法做历史数据分析的。

敏捷BI分析

随着软件发展的日新月异,计算机的硬件也越来越先进,仿佛OLAP Cube的优势也没那么明显了。近几年流行的敏捷BI工具,如Power BI、Tableau、Qlik等,就有意弱化了分析建模的过程。它们使用了内存数据库、列存储数据库等技术,来对数据进行缓存,加快了数据处理、渲染的速度,有时甚至可以直连生产环境且对生产环境性能的影响微乎其微。那么使用敏捷BI分析工具还需要建立数据仓库么?

Reinhard认为,如果你的分析需要整合多个系统的数据,如果你要分析历史数据,如果你的业务系统的数据库无法满足查询和分析的性能需求,那么你仍然需要建立数据仓库。先对多个系统的数据进行整合、清洗,然后将清洗过的数据导入到企业级的数据仓库中,才能用于数据分析和展示

Dynamics AX 2012 在BI分析中建立数据仓库的必要性的更多相关文章

  1. [译]Dynamics AX 2012 R2 BI系列-规划分析的注意事项

    https://msdn.microsoft.com/en-us/library/gg731898.aspx       在开始实施AX的分析特性前,有很多事情要考虑.本文描述了你必须考虑的事情,和在 ...

  2. [译]Dynamics AX 2012 R2 BI系列-分析的架构

    https://msdn.microsoft.com/EN-US/library/dd309691.aspx     下图显示了包含在AX中的SSAS Cube,和用于访问他们的组件.     下面的 ...

  3. [译]Dynamics AX 2012 R2 BI系列-Cube概览

    https://msdn.microsoft.com/EN-US/library/dd252604.aspx     Cube是一个多维度的结构,它是BI应用开发的基础.本文描述了cube的组成部分, ...

  4. Dynamics AX 2012 R2 从代码中调用SSRS Report

    平时,我们制作SSRS Report的方法主要有两种:使用Query或RDP.如果需要为报表传递参数,就要在代码中为报表参数赋值,然后在代码中调用报表.下面我总结下这两种报表在代码中传参和调用的方式: ...

  5. Dynamics AX 2012 性能优化之 SQL Server 复制

    Dynamics AX 2012 性能优化之 SQL Server 复制 分析数据滞后 在博文 Dynamics AX 2012 在BI分析中建立数据仓库的必要性 里,Reinhard 阐述了在 AX ...

  6. Dynamics AX 2012 R3 Demo 安装与配置 - 配置安装环境 (Step 1)

    AX 2012 R3 发布后,Reinhard一直想体验一把,可是Reinhard所在的公司暂时不会升级到R3版本.这不,Reinhard就打算在个人电脑上安装下,可是安装的过程中,遇到了很多问题,R ...

  7. Dynamics AX 2012 的工业物联网解决方案

    Dynamics AX 2012 的工业物联网解决方案 物联网 物联网的概念在这两年非常火,包括近期很火的共享单车初创公司--摩拜单车,在产品中运用了Azure Iot物联网技术.但是,物联网并不是一 ...

  8. Dynamics AX 2012 R2 安装Reporting Services 扩展

    今天Reinhard在VS中部署SSRS报表时,接到以下错误: 部署因错误而被取消.在报表服务器上,验证:-SQL Server Reporting Services 服务是否正在运行. 接着,Rei ...

  9. Dynamics AX 2012 R2 如何处理运行时间较长的报表

    当处理的数据量较多,逻辑比较复杂时,报表可能会超时.为了解决这个问题,Reinhard一直使用SrsReportDataProviderPreProcess来做预处理报表.它会在调用SSRS前,在AX ...

随机推荐

  1. Alfresco.widget.Resizer可拉动div模块

    <#include "include/alfresco-template.ftl" /> <@templateHeader> <script type ...

  2. 双十二前夕爆京东12G数据泄露的真相是什么

    今天早上手机上推送出京东12g数据泄漏的消息,随即搜了下网上的相关新闻,感觉舆论又一次的干了一件惊天地的事情,到底京东的哪所谓的12G的用户信息数据有没有泄漏?舆论为什么齐刷刷的在12月11日突然间爆 ...

  3. JMeter 将上一个请求的结果作为下一个请求的参数——使用正则提取器(转载)

    在接口测试和压力测试过程中,经常会将几个流程串联起来才能测试.如:我要进行获取用户信息接口测试,我就要先登录成功后,才能获取用户信息.所以,我就要首先要登录,获得我的登录凭证(tokenId或tick ...

  4. python-高阶函数

    map函数 map(func, Iterable) , 返回一个Iterable的map对象 reduce函数 reduce(func,Iterable), 将后面可迭代对象的每个元素都作用于函数(函 ...

  5. css线性渐变--linear-gradient

    使用css直接写渐变,对于现在而言,应该属于比价简单的一件事了,在一定程度上,扁平化的设计趋势的出现,减少了使用渐变色的场景,但是并不影响我们逐渐的熟悉线性渐变Linear-gradient的写法. ...

  6. RGB转YCbCr

    从RGB转换成YCbCr //  Purpose:      //          Save RGB->YCC colorspace conversion for reuse, only co ...

  7. oracle 中的cascade

    级联删除,比如你删除某个表的时候后面加这个关键字,会在删除这个表的同时删除和该表有关系的其他对象

  8. cmd导入导出

    2:用cmd进入命令行输入:tnsping cmstar就是测试172.18.13.200是否连接成功3:导入与导出,如下: 数据导出: 1 将数据库TEST完全导出,用户名system 密码mana ...

  9. vim - mark

    Using markshttp://vim.wikia.com/wiki/Using_marks1. There is no visible indication of where marks are ...

  10. 设计模式学习笔记c++版——单例模式

    特别注意单例模式c++实现在main.cpp中引用的时候要去申明下: Singleton * Singleton::m_Instance = NULL; //定义性声明 不然会报错:无法解析的外部符号 ...