数据产品—数据仓库
本文以实际工作经验为实例,与大家一同谈谈数据仓库中的架构。
首先在说下数据底层的架构是大概怎么样的,在实际的业务需求当中,都是基于这套架构围绕的。
1.为什么要搭建数仓?
数据仓库其实也是数据库,和数据库的功能都是致—的都是为了存储数据。
那么公司在什么情况下需要搭建数据仓库呢?
当企业发展到一定的量级,数据量会十分庞大,如何有效的利用这些数据为业务侧提供服务,这就形成了一个问题,传统的数据库是面向事务的,且不适合做分析处理(当然也可以通过数据库存储的数据进行一些简单的数据分析),积累大量历史数据,数据复杂程度高,需要灵活复杂的查询,对多种数据源分析,配合数据挖掘等应用等许多情况,为了解决这些问题,数据存库就成了一个很大的问题。
此我们需要先比较下数据仓库和数据库的区别:
2.怎么搭建数仓合适?
这里着重讲下存储方案。
方案1:采用传统的关系型数据库,或者经过功能扩展的MPP(大规模并行框架)数据库
MPP架构特征:
1. 任务并行执行;
2.数据分布式存储
3.分布式计算;
4.可横向扩展;
列出简单对比:
MPPDB和传统数据库有很多,这里就不细写。推荐使用Greenplum (GP),这是一款开源的数据库。
Greenplum数据库是高性价比的一款高端数据仓库解。听朋友介绍说这款数据库很多银行企业都在使用。
方案2:hadoop&Hive
Hadoop是一个开源框架,可运行于一般的商用服务器上所以可无限扩展(理论上)。核心组件:HDFS,MapReduce,之后有时间另开文章写写这两个组件的具体作用和一些其他大数据生态工具的配合使用(我只一些个人的总结,因为不是专业技术人员,没有去深入研究,另外数据产品最好深入到业务,多思考数据的价值才是产品之道。了解相关的内容是为了和各部门沟通减少成本)
一般根据数据量来划分:PG(TB级数据)、GP(百TB级数据)、Hadoop(PB级以上数据)的组合。
方案3:直接上云,例如阿里的MaxCompute(这个也另开文章说)
优点相对于其他方案更省钱,也可以更快捷的投入使用。缺点不言而喻:不是自己的一般会有数据窃漏危险,不能根据自身的情况进行个性化服务。
3.数仓搭建后的作用是什么:
数仓为数据体系的根源,所以和数据相关联系的业务都从中取数,各类数据的存储和加工。在工作中比较常见的内容为:数据指标的存储和应用,各业务部门数据看板,大屏数据展示(实时),报表展示,标签体系的搭建,推荐系统的搭建,风控系统的搭建...等都以此为根基(站在业务的角度来看,技术角度的话更多的是数据的分层,对数据的管理和使用的方式)。这里不细说,日后把每块内容都单独写一篇总结记录。
4.哪些企业适合搭建:
建议企业发展到一定的数据体量再搭建,或者需要用数据去驱动业务的增长or业务部门的各类需求。小型企业建议还是一心一意做产品做增长,快速的跑马圈地才是王道。
毕竟这里面也是需要一定人力,时间成本再里面的。