数据中台到底是什么?
大白话说,如果把前台比作赚钱的。后台比作支持的。那么中台呢就是支持加速赚钱的。中台呢它实质就是前台和后台的一个桥梁,并且它能在这当中起到很好的加速效果。这里的加速,可以是效率上的提高,可以是协作上的共赢。
数据中台吸收了传统数据仓库、数据湖、大数据平台的优势,同时又解决了数据共享的难题,通过数据应用,实现数据价值的落地。
是企业级能力复用平台,目标是让数据持续用起来,通过数据中台提供的工具、方法和运行机制,把数据变为一种服务能力,让数据更方便地被业务所使用。
数据中台有哪些价值?
效率:比如数据研发的效率、发现数据的效率。为什么我们每开发一个报表都要改代码呢?为什么数据有问题的问题的时候,我们要找很久才能发现是某某上游的问题呢。
协作:很多应用开发,其实不同的项目组需求大致相同。还是用开发报表来举例,不同业务线项目组开发报表都一个套路,但因为是别的项目组维护的,所以就是得分别开发一遍。就不能协作共赢?
质量:比如数据的一致性、准确性、及时性以及完整性,有没有一个通用的平台来检验这些数据呢。
例一:没有数据中台之前,业务人员根本就不知道HIVE数仓有哪些表,不知道这些表的具体信息(列信息、索引信息、分区信息、责任人信息)。他要出一张报表还要来问你:"hello 帮我看一下HIVE有没有同步这张表吧?hello 帮我看一下这张表是不是分区表吧?"。这个表有问题了,他又要来问你"hello 这张表负责人是谁啊?" 有了数据中台之后,完全不需要管了。(这个是元数据管理给我们带来的便捷)
例二:没有数据中台之前,我们根本就不清楚表的来源和链路,尤其是一些复杂报表的结果表,来源非常复杂可能涉及到多个系统,涉及十几个源表。等到上游业务表要做变更、都不知道会影响哪些报表,线上已经运行上千个报表了啊!要去揪出这些来实在是麻烦!有了数据中台之后,10秒钟就能解决这个问题。(这个是数据血缘给我们带来的便捷)
什么情况下我们可以考虑建设中台呢?
千万不要跟风。中台不是想做就能做的。
数据开发模块适合对象是数据开发、算法建模人员,提供离线、实时、算法开发工具以及任务的管理、代码发布、运维、监控、告警等一些列集成工具,方便使用,提升效率。他们可以依赖于数据开发模块提供的基础功能,快速把数据加工成对业务有价值的形式,提供给业务使用。
消息队列在企业中的应用场景有哪些
应用解耦、削峰填谷、异步处理、数据采集、任务依赖、流计算任务、消息通讯、消息广播
这些数据分散在不同的网络环境和存储平台中,另外不同的项目组可能还要重复去收集同样的数据,因此数据难以利用,难以复用、难以产生价值。数据集成就是使得各种异构网络、异构数据源的数据,方便统一采集到数据中台进行集中存储,为后续的加工建模做准备。
数据汇聚可以是实时接入,比如实时消费mysql的binlog进行数据同步,也可以是离线同步,比如使用sqoop离线同步mysql数据到hive。
技术选型:Flume、Sqoop、Datax、Canal
数据落地:存储层,MySQL、Oracle、Hive、Redis、ElasticSearch
数据开发
-
企业是否有大量的数据应用场景?数据中台本身并不能直接产生业务价值,数据中台的本质是支撑快速地孵化数据应用。所以当你的企业有较多数据应用的场景时(一般有3个以上就可以考虑)
-
企业存在较多的业务数据的孤岛,需要整合各个业务系统的数据,进行关联的分析,此时,你需要构建一个数据中台。比如在我们做电商的初期,仓储、供应链、市场运营都是独立的数据仓库,当时数据分析的时候,往往跨了很多数据系统,为了消除这些数据孤岛,就必须要构建一个数据中台。
-
当你的团队正在面临效率、质量和成本的苦恼时,面对大量的开发,却不知道如何提高效能,数据经常出问题而束手无策,老板还要求你控制数据的成本,这个时候,数据中台可以帮助你。
-
当你所在的企业面临经营困难,需要通过数据实现精益运营,提高企业的运营效率的时候,你需要构建一个数据中台,同时结合可视化的Bl数据产品,实现数据从应用到中台的完整构建。
-
企业规模也是必须要考虑的一个因素,数据中台因为投入大,收益偏长线,所以更适合业务相对稳定的大公司,并不适合初创型的小公司。
-
数据来源/数据集成
企业中的数据来源极其多,但大多离不开这几个方面:数据库,日志,前端埋点,瓢虫系统等。
-
数据库我们不用多说,例如通常用mysql作为业务库,存储业务一些关键指标,比如用户信息、订单信息。也会用到一些Nosql数据库,一般用于存储一些不那么重要的数据。
-
日志也是重要数据来源,因为日志记录了程序各种执行情况,其中也包括用户的业务处理轨迹,根据日志我们可以分析出程序的异常情况,也可以统计关键业务指标比如PV(页面浏览量),UV(独立访客数)。
-
前端埋点同样是非常重要的来源,用户很多前端请求并不会产生后端请求,比如点击,但这些对分析用户行为具有重要的价值,例如分析用户流失率,是在哪个界面,哪个环节用户流失了,这都要靠埋点数据。
-
爬虫系统大家应该也不陌生了,虽然现在很多企业都声明禁止爬虫,但往往禁止爬取的数据才是有价值的数据,有些管理和决策就是需要竞争对手的数据作为对比,而这些数据就可以通过爬虫获取。
数据开发模块适合对象是数据开发、算法建模人员,提供离线、实时、算法开发工具以及任务的管理、代码发布、运维、监控、告警等一些列集成工具,方便使用,提升效率。他们可以依赖于数据开发模块提供的基础功能,快速把数据加工成对业务有价值的形式,提供给业务使用。
消息队列在企业中的应用场景有哪些
应用解耦、削峰填谷、异步处理、数据采集、任务依赖、流计算任务、消息通讯、消息广播