当前位置: 首页 > news >正文

数据挖掘与数据分析(一)—— 数据仓库(数据集市、ETL过程)

数据仓库在数据挖掘和大数据领域非常常见

 

引入

例如我们建立了一个卖书的网站,此时,我们需要建立一个数据库, 存各种书各种用户的信息

对于推荐业务,对某用户该推荐什么样的书,对于某种人群该推荐什么样的书,这就要进行分析了。分析的方法仅靠我们进行服务的数据库是不够的,因为服务类的数据库涉及到数据更改,同时,为了服务的高效,必要的时候还要减少冗余。减少冗余的过程实际上就是信息被丢失的过程。基于这样的数据进行分析是不准确的。于是我们就需要一个东西,把每一次数据交互的信息都记录下来,比如某用户在几时几分几秒浏览了哪个页面,在几时几分几秒购买了什么书,买书时候的书架是多少......这些事实必须如实记录,长期保留。

我们会觉得文件和日志也能实现这样的功能,没错,但是文件和日志只能顺序记录,不方便查找、比较、抽取特征等操作。所以我们需要一个专门的数据载体来记录业务中每个流程的细节,这个东西就是数据仓库

 

数据仓库

数据仓库(Data Warehouse)就是将所有业务数据汇总处理

  • 数据仓库记录了全部的事实。它的记录必须是全面的、完备的、尽可能详细的
  • 部分维度与数据的整理(数据集市—DM)。数据仓库要方便以不同维度抽取和整理,一个特定场景不可能使用全部数据,所以需要根据不同的应用调取适合这个应用的数据,这些被抽取和整理的数据就是我们所说的数据集市

 

 

数据库 与 数据仓库

①数据库面向业务存储,数据仓库面向主题存储

      面向业务需要保证高并发、快速读写、数据结构精简等,主要是为用户提供更为优质的体验。

      数据仓库面向主题,例如购买图书这个行为就是一个主题, 在几时几分几秒谁以什么样的价格购买了一本什么样的书就是购买主题的一个记录,记录里有时间、有用户信息,有图书信息等各个维度的信息。主题就是各个数据相互联系的描述

 

②数据库针对应用(OLTP) , 数据仓库针对分析(OLAP)

OLTP,Online Transaction Processing, 联机事务处理

OLAP,Online Analysis Processing,联机分析处理

数据库是为用户提供数据上的支持与服务,是做查询而用的,这个过程也叫OLTP

数据仓库是全面和详细的记录,就是为了做分析而用的

 

③数据库组织规范;数据仓库可能冗余,相对变化大,数据量大

      数据仓库可能同时记录多个主题,几乎每时每刻都在记录,数据量会大很多

 

 

数据仓库的数据来源是多个数据库,每个数据库代表了不同的业务

 

多个来自于数据库的数据,通过抽取、转换、加载这样一系列的操作,就被装入到了数据仓库,这一步骤也叫数据处理的ETL过程(Extract-Transform-Load)

 

数据仓库的设计与分层

数据仓库不同层的英文名字在不同公司叫法可能不同,例如缓冲层有的地方叫STG,有的地方叫OES

 

 

 

 

相关文章:

  • 数据挖掘与数据分析(二)—— 探索性数据分析EDA(单因子与对比分析) 可视化 (1) —— 集中趋势 离中趋势 数据分布(偏态系数峰态系数正态分布三大分布)抽样理论(误差精度)
  • 二叉排序树BST(二叉查找树) 二叉平衡树AVL 红黑树
  • B树 B+树
  • Node-Red(一)——简介与安装
  • 数据挖掘与数据分析(四)—— 预处理理论(1) —— 特征工程 Feature Engineering
  • representation learning 表示学习/表征学习
  • Darknet 轻量级深度学习训练框架
  • cfg文件
  • 双向循环神经网络(BiRNN)MNIST手写体识别(tensorflow)
  • 双向循环神经网络(BiRNN)
  • MIPS
  • FPGA
  • Verilog硬件描述语言
  • SLAM
  • 深度估计(Depth Estimation)
  • $translatePartialLoader加载失败及解决方式
  • [译]Python中的类属性与实例属性的区别
  • 0x05 Python数据分析,Anaconda八斩刀
  • CentOS7 安装JDK
  • EventListener原理
  • express如何解决request entity too large问题
  • HomeBrew常规使用教程
  • JavaScript DOM 10 - 滚动
  • js作用域和this的理解
  • PHP的Ev教程三(Periodic watcher)
  • PHP面试之三:MySQL数据库
  • Python连接Oracle
  • Python十分钟制作属于你自己的个性logo
  • python学习笔记-类对象的信息
  • Redash本地开发环境搭建
  • sublime配置文件
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • webgl (原生)基础入门指南【一】
  • XML已死 ?
  • Yii源码解读-服务定位器(Service Locator)
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 规范化安全开发 KOA 手脚架
  • 每天一个设计模式之命令模式
  • 前端临床手札——文件上传
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 想写好前端,先练好内功
  • 在Unity中实现一个简单的消息管理器
  • #include到底该写在哪
  • #在 README.md 中生成项目目录结构
  • (4)STL算法之比较
  • (C++)八皇后问题
  • (搬运以学习)flask 上下文的实现
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)ssm考生评分系统 毕业设计 071114
  • ******之网络***——物理***
  • ***通过什么方式***网吧
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET CLR Hosting 简介
  • .Net Memory Profiler的使用举例