数据库

说到数据库,我们一般是指传统的关系型数据库,也就是“联机事务处理”(OLTP),主要用户在线交易处理。比如银行业务、电信业务之前很多都是Oracle或者DB2(可能现在很多开发者没再用过),到后来的互联网电商用的MySql,这些都是关系型数据库。

后来有了newSQL、NoSQL(not only
sql),现在也分了很多种类,比如大型互联网公司存储用户画像的HBase,还有用于存储文档,日志,问答等内容的文档数据库MongoDB,建议大家都去了解一下。

关系型数据库,大多都有主键这个概念。比如我可以通过手机号(主键)来查询用户都存储的什么信息。

数据仓库

数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical
Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

数据仓库汇总有可能有很多维度数据的统计分析结果,取百家之长(各个数据源的数据),成就自己的一方天地(规划各种业务域的模型,指标)。

举个栗子~

  • 车联网早期是肯定没有数据仓库的,刚开始启动阶段就是车上发送什么数据我就存储什么数据,比如出现告警,就实时展示出来给用户。
  • 慢慢的车多了,传统的关系型数据库已经受不了压力了,就需要我们升级架构,多个服务器,多个业务库。这个阶段的业务指标还可以勉强从业务数据库里查询。
  • 随着业务的发展,数据爆发式增长,公司的大神越来越多。和其他部门的联系也越来越紧密,业务的同事知道有这个好工具,也行用一下。负责电池的王老师来了说,我想知道现在咱们车辆的充电情况分布和天气是否有关系。程序猿小A说,“好的,但是需要等一个月我把天气数据爬下来,在把充电数据跑一下,然后再汇总一下就好了”。王老师默默的走了,再也没有来找过小A。
  • 慢慢越来越多的王老师来了,发现我们都无法及时解决问题。公司的CIO就要求我们想办法了。这时候【数据仓库】来了,我们把各种渠道收集的数据提前做好模型(初级数据汇总)。分各个业务主题,很多个表。比如电池就有一个主题了。这次小A主动联系王老师,表达了可以提供各种服务(在繁杂的SQL苦中作乐)。

参考书籍《数据仓库工具箱》

  • 后来越来越多的王老师来找小A,包括其他部门的程序小姐姐。小A不想被一群小姐姐再烦了,于是设计了"数据中台"

总结

说了这些数据仓库有什么过过人之处,第一提高生产力,第二,多源关系数据管理。数据仓库不是一个组件(技术),更像是一种方法论。

为什么前两年大数据环境下,数据仓库概念火了。其一,以前做过传统电信行业数据仓库的先行者,没有及时布道(毕竟之前没有微信这种好工具)。其二,互联网行业的兴起,数据量暴增,需求场景更明确了。其三,技术和方法论都是靠传播的,技术人的宣传,加上阿里出版的一些书籍(大数据之路)对此专业都推动巨大。