基于mondrian的多维分析系统
0 术语与约束
1) Extraction-Transformation-Loading 是对OLTP数据进行抽取,转换,装载的过程(以下皆简称ETL)
2) 文档的说明均按照ETL→DW→CUBE→presentation
1 ETL相关
1.1维度表
1.1.1时间维度
1) 说明:该维度记录了每天的时间,粒度最高精确到日,并可分周,月,年等粒度.
2) 对应表:tbl_dimdate
3) 对应过程: pro_supportdw_dimdate
4) 是否公用:是
5) 说明:此维度可建Hierarchy(层),见下图:
1.1.2设备维度
1) 说明:该维度记录了的设备信息. 并可分品牌,机型等粒度.
2) 对应表: tbl_dimdevice
3) 对应过程: pro_supportdw_dimdevice
4) 是否公用:否
5) 说明:此维度可建Hierarchy(层),见下图:
1.1.3地域维度
1) 说明:该维度记录了的地域信息. 并可分国家,省,区等粒度.
2) 对应表: tbl_dimgeography
3) 对应过程: 无,必要时手动加入地区数据
4) 是否公用:否
5) 说明:此维度无Hierarchy(层) ,见下图:
1.1.4分辨率维度
1) 说明:该维度记录了分辨率的信息.
2) 对应表: tbl_dimresolution
3) 对应过程: pro_supportdw_dimresolution
4) 是否公用:否
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.5操作系统维度
1) 说明:该维度记录了的操作系统的信息.
2) 对应表: tbl_dimos
3) 对应过程: pro_supportdw_dimos
4) 是否公用:否
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.6网络类型维度
1) 说明:该维度记录了网络类型的信息.
2) 对应表: tbl_dimnetworktype
3) 对应过程: 无,手动维护数据
4) 是否公用:否
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.7运营商维度
1) 说明:该维度记录了运营商类型的信息.
2) 对应表: tbl_dimoperator
3) 对应过程: 无,手动维护数据
4) 是否公用:否
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.8系统维度
1) 说明:该维度记录了的系统(类似项目 market[市场],桌面[LAU])信息)的信息.
2) 对应表: tbl_dimsystem
3) 对应过程: 无,手动维护数据
4) 是否公用:是
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.9包维度
1) 说明:该维度记录了包的信息.
2) 对应表: tbl_cms_apk_package_ref
3) 对应过程: 无,手动维护数据,来源于tbl_cms_apk_package(需做数据同步)
4) 是否公用:是
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.10厂商维度
1) 说明:该维度记录了厂商的信息.
2) 对应表: tbl_user
3) 对应过程: 无
4) 是否公用:是
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.11系统版本维度
1) 说明:该维度记录了系统的版本信息.
2) 对应表: tbl_dimappversion
3) 对应过程: pro_supportdw_dimappversion
4) 是否公用:是
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.12广告资源维度
1) 说明:该维度记录了资源或则广告的信息.
2) 对应表: tbl_dimresource
3) 对应过程: 无,手动维护数据,来源于tbl_resource (需做数据同步)
4) 是否公用: 否,广告资源模型独有
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.13广告资源区分维度
1) 说明:该维度记录了资源或广告区分的信息.
2) 对应表: tbl_dimadres_type
3) 对应过程: 无,手动维护数据
4) 是否公用: 否,广告资源模型独有
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.14广告资源新旧区分维度
1) 说明:该维度记录了资源或广告区分的信息.
2) 对应表: tbl_dimnewold
3) 对应过程: 无,手动维护数据
4) 是否公用: 否,广告资源模型独有
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.15系统类型维度
1) 说明:该维度记录了系统子类型(类似airpush类型,uubao类型)的信息
2) 对应表: tbl_dimsystemtype
3) 对应过程: 无,手动维护数据
4) 是否公用: 否,广告资源模型独有
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.1.16系统来源维度
1) 说明:该维度记录了系统的来源类型(来源类似广告资源,人工采编)的信息
2) 对应表: tbl_dimresourcetype
3) 对应过程: 无,手动维护数据
4) 是否公用: 否,广告资源模型独有
5) 说明:此维度无Hierarchy(层),仅有Level(级别)
1.2事实表与measure(度量)
1.2.1 Market事实表与measure(度量)
1.2.1.1 market事实表
1) TBL_FACTMARKET 该表为market事实表,含有的指标有新增,独立用户,启动次数,留存等.维度精确到IMEI
2) TBL_FACTMARKET_FIN该表为维度精确到APK_ID
1.2.1.2 market measure(度量)
1) 新增: Market新增用户数量统计
2) 独立: Market独立用户数量统计
3) 启动: Market启动量统计
4) 隔1天market用户留存,此为postUpdate
5) 隔7天market用户留存,此为postUpdate
6) 隔15天market用户留存,此为postUpdate
7) 隔21天market用户留存,此为postUpdate
8) 隔30天market用户留存,此为postUpdate
9) 周留存率
10) 月留存率
1.2.2 广告资源事实表与measure(度量)
1.2.2.1 广告资源事实表
1) TBL_FACTADRES该表为广告资源事实表,含有的指标有接收,阅读,下载,下载完成,安装等.维度精确到IMEI
2) TBL_FACTADRES_FIN该表为广告资源事实表,含有的指标有,阅读,点击,下载,下载完成,安装等.维度精确到APK_ID
1.2.2.2 广告资源measure(度量)
1) 接收: 广告资源的接收量统计
2) 阅读量: 广告资源的阅读量统计
3) 下载量: 广告资源的下载量统计
4) 下载完成量: 广告资源的下载完成量统计
5) 安装量: 广告资源的安装量统计
1.3 ETL
1.3.1 Market模型
1) pro_supportdw_factmarketmarket2.0以上事实表抽取
2) pro_support_oldfactmarketmarket1.2版本事实表抽取(含airpush)
3) pro_supportdw_loadfactmarketmarket事实表抽取汇总(聚合至apk_id维度)
4) pro_supportdw_preservemarket2.0留存抽取 (此为PostUpdate)
1.3.2 广告资源模型
1) pro_supportdw_factadres 广告资源事实表抽取
1.3.3 厂商模型
1) pro_supportdw_loadaggrmarket 此为market模型和广告资源模型的汇集,维度到apk_id
1.4 ETL调度
1.4.1 维度表job
1) Job对应过程:pro_supportDW_Dim_jobs
2) 包含维度表过程如下:
pro_supportdw_dimdevice(sysdate);--设备维度(设计品牌机型)
pro_supportdw_dimos(sysdate); --操作系统维度
pro_supportdw_dimresolution(SYSDATE);--分辨率维度
pro_new_user_install(SYSDATE); --新用户信息,AdRes对照新旧用户时用
pro_supportdw_dimresource; ---- 新加广告维度数据更新
1.4.2 事实表job
1.4.2.1 market job
1) market Job对应过程: PRO_Support_Market_JOBs
2) 包含事实表表过程如下:
pro_supportdw_factmarket
pro_support_oldfactmarket
pro_supportdw_loadfactmarket
1.4.2.2 广告资源 job
1) 此job包含在厂商job中
1.4.2.3 厂商job
1) 厂商Job对应过程: pro_support_adres_agg_jobs
2) 包含事实表表过程如下:
pro_supportdw_factadres
pro_supportdw_loadaggrmarket
2 Cube相关
2.1 Cube介绍
2.1.1 cube说明
An OLAPcube is an array of data understood in termsof its 0 or more dimensions.
Cube是一个多维数据模型的简称.
2.1.1 cube相关术语
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)数据钻取: 最终用户从常规多维数据集、虚拟多维数据集或链接多维数据集中选择单个单元,并从该单元的源数据中检索结果集以获得更详细的信息,这个操作过程就是数据钻取.
备注: Mondrian 是基于ROLAP的
2.2 Pentaho工具说明
2.2.1 mondrian
Mondrianis an OLAP (online analytical processing) engine written in Java.
Java写的OLAP引擎.
2.2.2 schema workbench
TheMondrian Schema Workbench is a designer interface that allows you to create andtest Mondrian OLAP cube schemas visually.
SchemaWorkbench是一个图形化工具,可以定义MondrianOLAP cube的模式..
2.2.3 biserver
PentahoBI Server which functions as a web based report management system,application integration server and lightweight workflow engine (actionsequences.) It is designed to be easily integrated into any business processes.
PentahoBI服务器,提供Cube的展示和访问.
2.2.4 schema
多维分析模式xml代码,见如下截图:
2.3 Pentaho部署
2.3.1 数据源配置
2.2.2 administration-console
1) 双击 D:\ProgramFiles\biserver-ce-4.5.0-stable\biserver-ce\start-pentaho.bat
2) 双击 D:\ProgramFiles\biserver-ce-4.5.0-stable\administration-console\start-pac.bat
3) 输入localhost:8099(或则IP地址) 配置数据源
2.3.2 schema workbench
点击schemaworkbench里的connection选项
2.3.2 发布
1) schema workbench里打开cube对应的xml文件.点击发布至biserver里.
、
2.3.2 访问
1) 输入http://localhost:8080/pentaho/Home
2) 点击New Analysis → Cube名称(如AdRes)
3) 进入如下Cube展示页面.
基于mondrian的多维分析系统相关推荐
- 基于ARMv8的固件系统体系结构
基于ARMv8的固件系统体系结构 The architecture of ARMv8-based firmware systems 自2011年发布以来,ARMv8处理器架构在移动设备市场上已经相当普 ...
- AI视觉组基于ESP32的裁判系统第一版本设计要求
简 介: 面对第十六届全国大学生智能车竞赛中新增加的一些组别的要求,比如室内AI组,对于车模任务增加的检测任务,设计了基于ESP32为核心的比赛系统.本文给出了对于比赛系统功能的要求. 关键词: 比赛 ...
- NLP——基于transformer 的翻译系统
文章目录 基于transformer 的翻译系统 1. 数据处理 1.1 英文分词 1.2 中文分词 1.3 生成字典 1.4 数据生成器 2. 构建模型 2.1 构造建模组件 layer norm层 ...
- KS001 基于Springboot机票预订系统
基于Springboot机票预订系统 本项目基于Springboot框架构建,使用SpringMvc和Mybatis框架进行相应的开发,数据库采用mysql,前端页面采用html实现,基于Jquery ...
- java pop邮件 源码_[源码和文档分享]基于JavaMail的邮件收发系统
摘 要 电子邮件在当今社会中扮演了一个很重要的角色.越来越多的人在使用它.而且用它的人数势必会继续增加.本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和 ...
- 基于GeoMipmap的地形系统。
这两天做了一个基于GeoMipmap的地形系统,程序采用四叉树进行剔除,采用Texture Splate进行纹理映射,顶点渐变使用Shader实现,几何破裂现象采用了Chunk LOD的做法,也就是给 ...
- 基于云的CRM系统到底好在哪里?
高质量的CRM系统不仅能够帮你轻松保存与业务交互的所有信息,而且可以使得团队中的每个人都访问到最新的信息,帮助解决客户或客户关系周期中的特定问题,关注客户留存并推动销售增长. 在之前的文章中,我们讲述 ...
- 基于Case的MIS系统 - 总账模块
基于Case的MIS系统 - 总账模块 (凭证单据) Case以减少开发量为旨,致力于MIS系统开发的产品.下面介绍如何在Case上以少量代码下开发总账模块中的凭证单据录入界面. 一.在Case中配置 ...
- ssh实现基于密钥方式登录系统
前言 首先实现基于密钥方式登录系统的原理: 在客户端建立一对密钥对,然后把公钥放在需要访问的目标服务器上,另外,还需要把私钥放在客户端用来登录的用户的家目录下. 当客户端发起登录请求时,会将公钥文件送 ...
最新文章
- WinEdt显示行号
- python新人一月工资_python【项目】:工资管理(简易版)
- RabbitMq链接
- 澳大利亚.新西兰C#考试题
- 人工智障学习笔记——深度学习(2)卷积神经网络
- LCD液晶显示的51单片机简单计算器
- 花书+吴恩达深度学习(十一)卷积神经网络 CNN 之池化层
- HTML/CSS/JS/PHPの役割
- 带宽和最高速率之间的换算
- Isight2020安装步骤(step by step)
- MyBatis源码本地编译
- womic网络错误_【无线麦克风(WO Mic)】无线麦克风(WO Mic)安卓版(Android)3.2下载_太平洋下载中心...
- python语言绘制词云图
- Maven知识补充(项目模型变量,Maven属性,依赖项的范围,查找公共存储库的依赖项等)
- 建立数学模型论文写作
- python:pass关键字的作用
- 在线支付系列【2】支付宝和微信支付发展史
- ATF:Gicv源码文件系列-gic_common.h
- Oulipo(欧力波)(经典kmp模板题) HDU-1686
- R语言结果输出到word-stargazer
热门文章
- JavaScript实现squareMatrixRotation方阵旋转算法(附完整源码)
- boost::spirit模块实现一个类似于 XML 的小型解析器,Karma 用于打印生成的 AST
- boost::::adaptors::indexed::indexed相关的测试程序
- boost::iterator_adaptor用法的测试程序
- boost::graph模块实现bellman的测试程序
- boost::gil::detail::is_channel_integral用法的测试程序
- GDCM:寻找PatientRootQuery的测试程序
- GDCM:gdcm::String的测试程序
- boost::callable_traits的return_type_t的测试程序
- ITK:创建矢量图像