一、数据仓库概念
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等
数据仓库并不是数据的最终的地方,而是为数据到达终点做好准备,这些准备包括对数据的:清洗、转义、分类、重组、合并、拆分、统计等等。
二、技术选型
技术选型主要考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算
数据采集传输:Flume,Kafka,Sqoop,Logstash,DataX
数据存储:MySql,HDFS,HBase,Redis,Mong0DB
数据计算:Hive,Tez,Spark,Flink,Storm
数据查询:Presto,Druid,Lmpala,Kylin
数据可视化:Echarts,Superset,Tableau,
任务调度:Azkaban、Oozie
集群监控:Zabbix
元数据管理:Atlas
三、数据仓库可以做什么?
年度销售目标的指定,需要根据以往的历史报表进行决策。
如何优化业务流程?
例如:一个某电商网站订单的完成包括:浏览、下单、支付、物流等,其中物流环节可能和中通、申通、韵达等快递公司合作。快递公司每派送一个订单,都会有订单派送的确认时间,可以根据订单派送时间来分析哪个快递公司比较快捷高效,从而选择与哪些快递公司合作,剔除哪些快递公司,增加用户友好型。
四、数据仓库的主要特征
(1)面向主题性
数据库的特点是面向应用进行数据的组织,各个业务系统可能是相互分离的。不同于传统数据库对应于某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织。
(2)集成性
数据仓库中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。
(3)非易失性
数据仓库中保存的数据是一系列历史快照,不允许被修改。用户只能通过分析工具进行查询和分析。我们是通过数仓去分析数据中的规律,而不是去创造修改其中的规律。因此数据进入数据仓库后,它便稳定且不会改变。
(4)时变性
数据仓库包含各种粒度的历史数据,数据可能与某个特定日期、星期、月份、季度或者年份有关。虽然数据仓库的用户不能修改数据,但并不是说数据仓库的数据是永远不变的。分析的结果只能反映过去的情况,当业务变化后,挖掘出的模式会失去时效性。因此数据仓库的数据需要随着时间更新,以适应决策的需要。从这个角度讲,数据仓库建设是一个项目,更是一个过程。
数据仓库的数据随时间的变化表现在以下几个方面:
数据仓库的数据时限一般要远远长于操作型数据的数据时限。
操作型系统存储的是当前数据,而数据仓库中的数据是历史数据。
数据仓库中的数据是按照时间顺序追加的,它们都带有时间属性。
五、Nginx
Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。
其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
正向代理: 我们平时需要访问国外的浏览器是不是很慢,比如我们要看推特,看hadoop、GitHub等。我们直接用国内的服务器无法访问国外的服务器,或者是访问很慢。所以我们需要在本地搭建一个服务器来帮助我们去访问,那这种就是正向代理。(浏览器中配置代理服务器)
反向代理:我们访问淘宝的时候,淘宝内部肯定不是只有一台服务器,它的内部有很多台服务器,那我们进行访问的时候,因为服务器中间session不共享,那我们是不是在服务器之间访问需要频繁登录,那这个时候淘宝搭建一个过渡服务器,对我们是没有任何影响的,我们是登录一次,但是访问所有,这种情况就是 反向代理。对我们来说,客户端对代理是无感知的,客户端不需要任何配置就可以访问,我们只需要把请求发送给反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器的地址。(在服务器中配置代理服务器)