zoukankan      html  css  js  c++  java
  • SQL Server数据仓库相关概念及构建流程

    基础概念:

    1.数据集:数据集是联机分析处理 (OLAP) 中的重要对象,是一项可对数据仓库中的数据进行快速拜访的技术。数据集是一个数据聚集,平常从数据仓库的子集结构,并组织和汇总成一个由一组维度和度量值定义的结构。

    2.维度:是数据集的结构性特性。它们是事实数据表中用来描写数据的分类的有组织层次结构(级别)。这些分类和级别描写了一些类似的成员聚集,用户将基于这些成员聚集进行分析。

    3.度量值:在数据集中,度量值是一组值,这些值基于数据集的事实数据表中的一列,而且平常为数字。此外,度量值是所分析的数据集的中心值。即,度量值是终极用户浏览数据集时重点查看的数字数据。您所选择的度量值取决于终极用户所请求的资讯类型。一些常见的度量值有 sales、cost、expenditures 和 production count 等。

    4.元数据:不同 OLAP 组件中的数据和利用程序的结构模型。元数据描写 OLTP 数据库中的表、数据仓库和数据集市中的数据集这类对象,还记录哪些利用程序引用不同的记录块。

    5.级别:级别是维度层次结构的一个元素。级别描写了数据的层次结构,从数据的最高(汇总程度最大)级别直到最低(最具体)级别。

    6.数据发掘:数据发掘使您得以定义包含分组和猜测规则的模型,以便利用于关系数据库或 OLAP 数据集中的数据。之后,这些猜测模型便可用于主动执行复杂的数据分析,以找出帮助辨认新机会并选择有获胜把握的机会的趋势。

    7. OLAP (MOLAP):MOLAP 存储模式使得分区的聚合和其源数据的复本以结构存储在分析服务器计算机上。根据分区聚合的百分比和设计,MOLAP 存储模式为到达最快查询响应时间提供了潜伏可能性。总而言之,MOLAP 更加合适于频繁使用的数据集中的分区和对快速查询响应的需要。

    8.关系 OLAP (ROLAP):ROLAP 存储模式使得分区的聚合存储在关系数据库的表(在分区数据源中指定)中。但是,可为分区数据使用 ROLAP 存储模式,而不在关系数据库中创立聚合。

    9.混合 OLAP (HOLAP):HOLAP 存储模式联合了 MOLAP 和 ROLAP 二者的特性。

    10.粒度:数据汇总的层次或深度。

    11.聚合|聚集:聚合是预先计算好的数据汇总,由于在题目提出之前已经准备了答案,聚合可以改良查询响应时间。

    12.切块:由多个维的多个成员限定的分区数据,称为一个切块。

    13.切片:由一个维的一个成员限定的分区数据,称为一个切片。

    14.数据钻取:终极用户从常规数据集、虚拟数据集或链接数据集中选择单个单元,并从该单元的源数据中检索成果集以获得更具体的资讯,这个操纵过程就是数据钻取。

    15.数据发掘模型:数据发掘使您得以定义包含分组和猜测规则的模型,以便利用于关系数据库或 OLAP 数据集中的数据。之后,这些猜测模型便可用于主动执行复杂的数据分析,以找出帮助辨认新机会并选择有获胜把握的机会的趋势。

    实例构建过程与分析

    1.现在以一个比拟简单的实例来分析和探讨MS SQL SERVER 数据仓库的构建过程。实际上数据仓的构建是相当复杂的,他联合了数据仓库的前端技术和很强的业务请求。在这儿只是以一个简单的实例来说明他大概的构建流程。

    2.构建数据仓库模型,他包含两部分,一是要考虑本来的数据源能够提供哪些有用的数据,也就是经过数据的筛选之后能够为数据仓库所用。二是要看公司业务层需要什么样的分析成果。这要和公司的高级决策层紧密配合,完整了解他的业务需求,由于数据仓库的使用者重如果公司的高级决策者。

    在这一阶段要做好很多前期的工作,由于你的原始数据库中的数据或许和你的正要建立的数据仓库的需求或许有很大的出入,结构完整是两马事。你怎么能力将你的原始数据提取出来,作为数据仓库的有用数据呢,你的原始数据库中存储的是零碎的事务数据,而你的数据仓库中要的是经过转化和提炼过的统计数据,比如说,你的原始数据库中存储这天天的全部存款和取款记录,而你的数据仓库并不关怀你的每条记录的数据,而是希看在最短的时间内,以最快的速度统计出这个月的全部存款和取款的总数目,如果这种查询放在本来的数据库上来做的话,也就失去了数据仓库的意义,超大范围的数据使你无法查询下去,这时候你就要将对这个查询有意义的数据转化到数据仓库,这就是数据清洗,即ETL。实现数据清洗有很多的方法,也有很多的细节题目,比如,数据类型的匹配,数据格式的转换,异地数据表数据集中到一起时有主键重复,以及你怎么定期,按时的将数据加工到数据仓库中来等等。在我的示例中无严厉的经过着一步,由于我无规范的原始数据库,也无规范的业务需求。我只是应用星型模型和雪花模型做了几个典范的数据仓库表。其表关系如下:

    窗口中FACT为事实表,TIME,ADDRESS,DETAIL分别为时间维,地址维,具体地址维,DETAIL又是ADDRESS的子维。他们又组成雪花模型。其中都有部分数据。

    现在,数据仓库已经建立胜利,下一步就是在OLAP服务器上建立元数据数据库。这个数据库和我们以前所说的数据库不同,他是存放元数据的数据库,比如我们下一步要创立的数据集、角色、数据源、共享维度和发掘模型等。然后需要和早期在 ODBC 数据源管理器中建立的数据源连接,使其与数据仓库连接上。这些工作做好了之后,就可以用数据仓库中的维表来建立共享维度,现在以时间维和地址维为例。其创立过程一样。依此点下一步即可创立时间维(TIME),下面用ADDRESS和DETAIL建立雪花模型共享维度,点下一步即可创立DETAIL维。创立结束之后都要进行处理能力生效。维度创立好了之后就该创立数据集了。数据集是一种基于维表和事实表的数据集,以他来对数据仓库进行快速的拜访。我们的数据集结构如下:

        DETAIL(SREET)    DETAIL(MARK)    ADDRESS(PROVINCE,CITY)    TIME(YEAR,DAY)  

    到现在一个简单的数据仓库架构已经建立胜利,我们利用前端分析工具来对建立的数据仓库做查询,看能否实现我们的简单的业务请求,先以EXCEL作为查询工具。我们除了用EXCEL,ENGLISH QUERY 等现成工具做查询外,还可以用MDX函数直接对OLAP做查询

    到现在为止,一个简单的数据仓库已经创立胜利,可以实现一些简单的业务查询。这个实例重如果分析数据仓库的创立过程以及进一步加深对数据仓库的熟悉和了解,进一步懂得其中的基础概念。

  • 相关阅读:
    vue项目引用less报错
    vue dev配置代理会报404
    为什么需要用到消息队列
    理解kafka消费者
    WebSocket和long poll、ajax轮询的区别
    数据库开发——MySQL——慢查询优化
    数据库开发——MySQL——索引原理
    数据库开发——MySQL——函数与流程控制
    数据库开发——MySQL——内置功能
    数据库开发——MySQL——pymysql模块
  • 原文地址:https://www.cnblogs.com/andy_tigger/p/1851663.html
Copyright © 2011-2022 走看看