维度表

【datamining】OLTP,OLAP,维度数据库,事实表,维度表、星形和雪花模式、数据立方体、概念分层

六月ゝ 毕业季﹏ 提交于 2020-01-01 00:55:16
一、 联机事务处理(OLTP) OLTP系统是设计用来允许高并发性的,这样很多用户就能够访问同一个数据源并进行所需的处理。 OLTP系统是面向在数据库上进行事务处理的理念的。而事务则进一步蕴含着发生在表中数据上的受控的变更,这些变更包括在商务运作过程中发生的插入、更新和删除操作。通常,一个OLTP系统将会有大量的客户端应用程序通过各种各样的方式(插入、更新、删除--实际上可以是任何操作)访问数据库以查询一小块信息。 OLTP系统的实例包括数据输入程序,如银行处理、订票、联机销售和库存管理系统。 二、联机分析处理(OLAP) 联机分析处理(或OLAP)是一种广义上的决策支持系统(DSS),或者最近越来越流行的商业智能(BI)。BI系统的目标是分析海量数据,然后以很多不同的方式(包括每天、每周、每季和年度报告)生成小结和总结以把精力高度集中在记分卡和仪表盘上,它们通常用于帮助那些准备好根据这些数据采取一定的措施的特定用户来获取竞争优势。 一旦数据进入数据仓库之后就很少会发生变化。数据被保存在那里用于查询和生成报表,以便帮助决策者规划企业的未来。它不需要关心插入、更新和删除操作。因此与高度规范的事务数据库不同,在这种情况下通常会使用所谓的 维度数据库 (dimensional database) ,它将遵循特定的结构或模式。 维度数据库可以用来构建数据立方体 ,

BI学习之一创建一个简单的Olap多维数据集的展现

心已入冬 提交于 2020-01-01 00:54:59
项目背景   '博客园'是一家国内的大型日化用品,生活用品生产,销售公司,它的一部分销售是放在淘宝网上进行的,在淘宝网上这家公司有多个网店,线下有系统对每个网店的销售数据通过淘宝API进行抓取保存,用于每周,月出销售情况的报表.由于报表设计到多个方面, 每一次有新的搭配或者比较的话就必须让程序人员修改代码,增加修改报表的内容 .现在,'博客园'想通过数据分析人员自己来控制想得到的数据报表, 想到什么,得到什么 ,并且能 多角度,多层面 的对数据进行分析. 使用BI数据分析与传统报表的比较      从上面这个比较图可以看出,右边的olap数据展示的话,操作者可以通过手动拖拽树中的度量值,KPI,维度使右边图片及表格动态变化,图片和表格能根据自己的需求进行点击(钻取)查看得到更细的,想要关注的报表,我们可以看到,olap数据分析让我们知道了目前是这样,还能知道为什么是这样,以及以往到如今,甚至未来的发展趋势 BI中的基本概念介绍(结合Analysis Services) 维度(Dimension) :   维度理解为数据的属性,是我们分析数据的角度,比如分析公司在全国各地的各种商品的销售情况,那么商品类别,地区,店铺等就是维度,维度中包含层级,比如说地区,省和省(湖北省,湖南省..)之间就是 水平层及 ,省下面有市和县等,比如湖北省->恩施市->来凤县,这就是 垂直层级

一文读懂Apache Kylin(麒麟)

荒凉一梦 提交于 2019-12-16 00:10:58
“麒麟出没,必有祥瑞。”                               —— 中国古谚语 Kylin思维导图 前言 随着移动互联网、物联网等技术的发展,近些年人类所积累的数据正在呈爆炸式的增长,大数据时代已经来临。但是海量数据的收集只是大数据技术的第一步,如何让数据产生价值才是大数据领域的终极目标。Hadoop的出现解决了数据存储问题,但如何对海量数据进行OLAP查询,却一直令人十分头疼。 企业中的查询大致可分为即席查询和定制查询两种。之前出现的很多OLAP引擎,包括Hive、Presto、SparkSQL等,虽然在很大程度上降低了数据分析的难度,但它们都只适用于即席查询的场景。它们的优点是查询灵活,但是随着数据量和计算复杂度的增长,响应时间不能得到保证。而定制查询多数情况下是对用户的操作做出实时反应,Hive等查询引擎动辄数分钟甚至数十分钟的响应时间显然是不能满足需求的。在很长一段时间里,企业只能对数据仓库中的数据进行提前计算,再将算好后的结果存储在MySQL等关系型数据库中,再提供给用户进行查询。但是当业务复杂度和数据量逐渐升高后,使用这套方案的开发成本和维护成本都显著上升。因此,如何对已经固化下来的查询进行亚秒级返回一直是企业应用中的一个痛点。 在这种情况下,Apache Kylin应运而生。不同于“大规模并行处理”(Massive Parallel

Hive格式 Parquet与ORC性能测试报告

北城以北 提交于 2019-12-06 09:53:39
一、环境说明 Hadoop集群:使用测试Hadoop集群,节点: hadoop230 hadoop231 hadoop232 hadoop233 这几台机器配置一样,具体参数可参考如下: CPU数量:2个 CPU线程数:32个 内存:128GB 磁盘:48TB 使用测试机群上的同一个队列,使用整个集群的资源,所有的查询都是无并发的。 Hive使用官方的hive 1.2.1版本,使用hiveserver2的方式启动,使用本机的mysql存储元数据。 二、测试数据生成 测试数据为TPC-DS基准测试的数据,官方文档:http://www.tpc.org/information/current_specifications.asp,这个数据集一共24个表:7个事实表,17个维度表,每一个事实表和大部分的维度表组成雪花模型,scale_factor设置为100,也就是生成100GB的数据。 2.1 下载hive-testbench git clone https://github.com/hortonworks/hive-testbench 这个项目是用于生成TPC-DS数据集并且将其导入到hive,在使用之前需要保证已经将hive、hadoop等命令加入到PATH中。 2.2 编译 进入该目录,执行./tpcds-build.sh,该命令会从TPC-DS下载源代码,并编译

数仓理论

試著忘記壹切 提交于 2019-12-04 21:15:49
一、表的分类   1、实体表    实体表 ,一般是指一个现实存在的业务对象,比如用户,商品,商家,销售员等等。      2、维度表     维度表 ,一般是指对应一些业务状态,编号的解释表。也可以称之为码表。   比如地区表,订单状态,支付方式,审批状态,商品分类等等。      3、事务型事实表    事务型事实表 ,一般指随着业务发生不断产生的数据。特点是 一旦发生不会再变化 。   一般比如,交易流水,操作日志,出库入库记录等等。   4、周期型事实表     周期型事实表 ,一般指 随着业务发生不断产生变化(更新, 新增)的数据。   与事务型不同的是,数据会随着业务周期性的推进而变化。   比如订单,其中订单状态会周期性变化。再比如,请假、贷款申请,随着批复状态在周期性变化。    二、同步策略   数据同步策略的类型包括: 全量表、增量表、新增及变化表、拉链表 全量表 :存储完整的数据。 增量表 :存储新增加的数据。 新增及变化表 :存储新增加的数据和变化的数据。 拉链表 :对新增及变化表做 定期合并 。   1、实体表同步策略   实体表:比如用户,商品,商家,销售员等   实体表数据量比较小:通常可以做每日全量,就是每天存一份完整数据 。即每日全量。   2、维度表同步策略    维度表:比如订单状态,审批状态,商品分类   维度表数据量比较小

hive建模方法

匿名 (未验证) 提交于 2019-12-02 23:48:02
转自: https://www.jianshu.com/p/8378b80e4b21 从业务数据模型转向数据仓库模型时,同样也需要有数据仓库的域模型,即概念模型,同时也存在域模型的逻辑模型。这里,业务模型中的数据模型和数据仓库的模型稍微有一些不同。主要区别在于:数据仓库的域模型应该包含企业数据模型得域模型之间的关系,以及各主题域定义。数据仓库的域模型的概念应该比业务系统的主题域模型范围更加广。在数据仓库的逻辑模型需要从业务系统的数据模型中的逻辑模型中抽象实体,实体的属性,实体的子类,以及实体的关系等。Inmon 的范式建模法的最大优点就是从关系型数据库的角度出发,结合了业务系统的数据模型,能够比较方便的实现数据仓库的建模。但其缺点也是明显的,由于建模方法限定在关系型数据库之上,在某些时候反而限制了整个数据仓库模型的灵活性,性能等,特别是考虑到数据仓库的底层数据向数据集市的数据进行汇总时,需要进行一定的变通才能满足相应的需求。维度建模法(Dimensional Modeling)维度模型是数据仓库领域另一位大师Ralph Kimall所倡导,他的《The Data Warehouse Toolkit-The Complete Guide to Dimensonal Modeling,中文名《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型

大数据模块开发之数据仓库设计

匿名 (未验证) 提交于 2019-12-02 22:56:40
1. 维度建模基本概念 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。 维度表(dimension) 维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别来进行分析,或按区域来分析。这样的按..分析就构成一个维度。再比如"昨天下午我在星巴克花费200元喝了一杯卡布奇诺"。那么以消费为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天下午),地点维度(星巴克), 商品维度(卡布奇诺)。通常来说维度表信息比较固定,且数据量小。 事实表(fact table) 表示对分析主题的度量。事实表包含了与各维度表相关联的外键,并通过JOIN方式与维度表关联。事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。比如上面的消费例子,它的消费事实表结构示例如下: 消费事实表:Prod_id(引用商品维度表), TimeKey(引用时间维度表), Place_id(引用地点维度表), Unit(销售量)。 总的说来,在数据仓库中不需要严格遵守规范化设计原则。因为数据仓库的主导功能就是面向分析,以查询为主,不涉及数据更新操作。事实表的设计是以能够正确记录历史信息为准则,维度表的设计是以能够以合适的角度来聚合主题内容为准则。 2. 维度建模三种模式2.1.

Kylin 入门

心已入冬 提交于 2019-12-02 10:31:45
1 Kylin 概述 1.1 Kylin定义 Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop/Spark 之上的 SQL 查询接口及多个维度分析(MOLAP)能力以支持超大规模数据,它能在亚秒内查询巨大的 Hive 表。 1.2 术语解释 Data Warehouse(数据仓库):数据仓库是一个各种数据(包括历史数据和当前数据)的中心存储系统,是BI( business intelligence ,商业智能)的核心部件 Business Intelligence(商业智能):商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具 OLAP(online analytical processing):OLAP(online analytical processing)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的,从各方面观察信息,也就是从不同的维度分析数据,因此 OLAP 也成为多个维度分析 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0HJ5DNxT-1571934654744)(https://oscimg.oschina.net/oscnet/bf3b2155496868c5d12b129ee5774992daa.jpg)] 星型模型:

Kylin 入门

放肆的年华 提交于 2019-11-30 15:38:43
1 Kylin 概述 1.1 Kylin定义 Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop/Spark 之上的 SQL 查询接口及多个维度分析(MOLAP)能力以支持超大规模数据,它能在亚秒内查询巨大的 Hive 表。 1.2 术语解释 Data Warehouse(数据仓库):数据仓库是一个各种数据(包括历史数据和当前数据)的中心存储系统,是BI( business intelligence ,商业智能)的核心部件 Business Intelligence(商业智能):商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具 OLAP(online analytical processing):OLAP(online analytical processing)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的,从各方面观察信息,也就是从不同的维度分析数据,因此 OLAP 也成为多个维度分析 星型模型: 事实和维度: 1.3 架构 1、REST Server:是一套面向应用程序开发的入口点,旨在实现针对 Kylin 平台的应用开发工作,此类应用程序可以提供查询、获取结果、触发 Cube 构建任务、获取元数据以及获取用户权限等等,另外可以通过 Restful 接口实现 SQL

ETL子系统

女生的网名这么多〃 提交于 2019-11-28 14:57:38
  最近在看《Pentaho Kettle 解决方案》,看到 ETL子系统,发现信息量比较大,用简短的语句做一下笔记。   ETL子系统有34种子系统,被分成4个部分:抽取、清洗和更正、发布、管理。 一、抽取  子系统1:数据剖析系统   指从不同源系统中搜集数据的统计信息或其他相关信息的过程,目的是分析不同数据源的结构和内容。  子系统2:增量数据捕获系统   目的是捕获系统里的数据的变化。由于数据量大以及网络的延迟,数据完成初始加载后,不应再把数据重新加载一边,为了识别出有变化或更新的数据,增加时间戳或快照的方式。  子系统3:抽取系统   从不同数据源抽取数据,并输入到ETL流程里。 二、清洗和更正   几乎没有什么数据是不存在问题的,因此数据加载到数据仓库之前要增加一些步骤来清洗和更正这些数据。另外,每个系统存储数据得方式不同,比如有些数据源里,性别表示为 0,1;有些数据源里用“男”,“女”表示,存进数据仓库里面应该有统一的规范。  子系统4:数据清洗和质量处理系统   这个过程主要是修改和整理进入到 ETL 流程的脏数据,提高数据的质量。  子系统5:错误事件处理   错误事件处理的目的是记录下 ETL 过程中的每一个错误。这样便于管理员定期监控和分析错误。  子系统6:审计纬度   审计维度表是一类特殊的维度表,数据仓库里的所有事实表都和审计纬度表关联