一、数据仓库是什么,有什么用?
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
1. 面向主题
面向主题特性是数据仓库和事务型数据库的根本区别。操作型数据库是为了支撑各种业务而建立,而分析型数据库则是为了对从各种繁杂业务中抽象出来的分析主题(如用户、成本、商品等)进行分析而建立;
2. 集成性
集成性是指数据仓库会将不同源数据库中的数据经过系统加工, 整理汇总到一起;
3. 相对稳定
指一旦某个数据进入数据仓库以后只需要定期的加载、刷新, 并且仅允许用户进行查询,而事务型数据库允许用户进行增,删,改,查;
4. 反映历史变化
较之事务型数据库反映的业务的当前状态(一般存放90天以内的数据),数据仓库的时间跨度通常比较长。前者通常保存几个月,后者可能几年甚至几十年;另外,数据仓库包含来自其时间范围不同时间段的数据快照。
有了这些数据快照以后,用户便可将其汇总,生成各历史阶段的数据分析报告;
二、数据仓库的架构是什么样的?
数据仓库包括各类数据源,ETL,数据仓库和数据应用。具体如下图所示:
1.数据源
各种业务系统后台的数据库,各部门自己的Excel或者Access文件等;
2.ETL
ETL用来描述源数据经过抽取(extract)、转换(transform)、加载(load)至数据仓库的过程,其目的是为了保证数据质量;
3.数据应用
数据仓库通常提供具有直接访问数据仓库功能的前端应用,这些应用也被称为BI(商务智能)应用。
三、如何构建数据仓库?
数据仓库的开发流程与数据库的开发流程类似,只是多了ETL的过程,但是这往往是开发中最耗时的一个环节,因为整个各个数据源往往参差不齐,需要大量的数据清洗才能保证数据仓库的数据质量。
总结
在当前信息爆炸的时代,不管是互联网公司还是传统公司都意识到数据驱动决策的重要性,对数据仓库也越来越重视。
传统的企业结构化数据比较多,往往会选择传统数据库作为数据仓库,而互联网企业因为数据量巨大,而且非结构化数据居多,大多选用Hadoop Hive等开源的分布式数据仓库。
一流的数据应用如数据挖掘系统,推荐系统等都是建立在规范、标准、高性能的数据仓库之上的,所以公司对数仓建设的投入也越来越大,最后祭出张溪梦大神的数据分析框架
铸剑团队签名:
【总监】十二春秋之,[email protected];
【Master】戈稻不苍,[email protected];
【Java开发】雨鸶,[email protected];思齐骏惠,[email protected];小王子,545[email protected];巡山小钻风,[email protected];
【VS开发】豆点,[email protected];
【系统测试】土镜问道,[email protected];尘子与自由,[email protected];
【大数据】沙漠绿洲,[email protected];张三省,[email protected];
【网络】夜孤星,[email protected];
【系统运营】三石头,[email protected];平凡怪咖,[email protected];
【容灾备份】秋天的雨,[email protected];
【安全】保密,你懂的。
原创作者:张三省
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。