大数据的架构设计与未来
The following article is from 大魏分享 Author 魏新宇读书笔记
大数据的架构与设计
从IT时代到DT(Data technology)时代
在即将到来的智能时代--->需要需要变得更加智能--->依靠海量数据---->对海量数据进行采集、分析、挖掘。
互联网催生了海量数据、高并发,推动了DT时代的到来。
从IT到DT的转变,就是从数据收集、数据分析向数据应用转变的过程。
数据应用发展历程
随着数据量的增加,可以做DB的读写分离,将生产库的数据同步到查询库,通过查询库做数据的分析、统计与查询,构建客户画像、商品推荐、精准营销、风险防控等数据应用。
看起来很美好,但问题在于:如果所有的应用都是在原始数据的基础上开始分析,那么他们需要做许多相同或者相似的工作,工作量很大,因此需要一个数据中台。
数据应用的成熟度:查询统计->决策分析->数据驱动->运营优化
查询统计是数据最原始的状态,即数据还是分散在应用系统的DB中,对数据的应用也仅仅局限于各种查询统计,如查询订单、统计当月销量等。
决策分析是通过BI系统,把抽取出现的数据集中存储于数据仓库中,进而对数据进行各种维度的分析,为决策者提供决策支持,在这个阶段,数据应用的雏形出现。这时候需要先ETL,然后建立数仓。
数仓建设的模型分为两种:ROLAP和和MOLAP。ROLAP是利用关系型数据库存储多维模型,形成维度表与事实表。事实表是需要统计分析的业务数据,如订单数据。
维度表就是与事实表相关的各种属性,需要根据这些属性进行分析统计,如按照时间进行统计,形成日期维度。该维度可以按照月度、季度、监督进行统计,这就是刻度。事实表中有个个维度表的key值,通过这些key值就可以关联维度表,进行各种切片、切块、下钻、上卷的操作。ROLAP一个问题是在查询的时候,需要频繁进行join操作,因此海量数据中的查询性能较差。
因此出现了MOLAP。
MOLAP是通过将所有 维度中的所有刻度以及他们之间相互的组合进行穷举,提前将所有统计数据都计算出来,存储在立方体中。
数据驱动
运营优化
数据中台的四个关键词:持续、产生价值、产品模式、闭环。
数据中台建设的核心:
1.尽可能地收集数据
2.更好地整理数据
数据中台的系统分层:
我们看一下这四层的含义:
3.挖掘数据潜藏的价值
数据中台的技术架构:
sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。
核心的功能有两个:导入、迁入 和 导出、迁出
导入数据:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统
导出数据:从 Hadoop 的文件系统中导出数据到关系数据库 mysql 等 Sqoop 的本质还是一个命令行工具,和 HDFS,Hive 相比,并没有什么高深的理论。
sqoop:
工具:本质就是迁移数据, 迁移的方式:就是把sqoop的迁移命令转换成MR程序
hive:
工具,本质就是执行计算,依赖于HDFS存储数据,把SQL转换成MR程序
Hadoop不是一项技术,而是一套完整的生态圈。
之前很多新闻说Hadoop已死,并不是说大数据生态消亡了,而是大数据生态采用了很多新的技术框架,而hadoop本来就是个统称,现在很多主流的大数据生态公司逐渐放弃Hadoop这个叫法。
以前的Hadoop生态圈。
Hadoop生态的核心是分布式文件系统HDFS和分布式计算框架MapReduce。在此之上,是各种技术框架。如数仓、流式计算、数据挖掘等。
HDFS分为name node和data node。文件存储的时候,被拆分成128M的小文件,然后分散存储在数据节点上。小文件在存储时,会自动以三副本的形式存储。
MapReduce作为分布式计算,由于其没有索引,因此每次计算都是暴利扫描,所以逐渐被另外一个计算框架替代:Spark。
Spak更多地采用内存计算,减少磁盘读写,并且提供了更加丰富的函数库,适用于数据挖掘与机器学习。
除此之外Spark还可以替换Hadoop生态的其他框架:
现在OpenShift上已经有SparkOperator了:
接下来,我们看看Spark的技术实现。
Spark支持Scale、Python与Java语言。其中Scale是默认的开发语言。Scale是一种类似Java的函数式编程语言,也使用JVM,可以与Java相互调用。
SparkSQL的设计与开发。
本文实拍插图全部来自《架构真意》
大数据生态的未来
云原生、存算分离、仓湖合一、批流合一
容器化细粒度资源管理,YARN和K8s的统一
HDFS的无限扩展 ->对象存储Ozone
Flink实时流分析 -> 批流合一架构
实时多维分析 -> 突破数据量和维度限制
Spark 3.0 -> 数据加工和机器学习一体化
Hadoop分布运行各种ML/DL算法 -> AI的工程化和自动化
图存储和图算法 -> 知识融合
关于Yarn和K8S的对比:
Yarn是资源管理工具,也就是说管理CPU+MEM的资源隔离。
k8s是容器编排工具,显然,资源管理是其功能之一。
如果按照“编排”的概念方向去理解yarn,那么yarn就是一个JVM负载的编排工具,而k8s是容器负载的编排工具。这么一比较,k8s显然胜出一筹,因为容器在应用的支持方面更广泛,更不要说k8s能够实现比yarn好得多的多的隔离了。
也就是说,用了k8s之后,不仅仅可以在这个集群运行spark负载,显然也可以运行其他所有的基于容器的负载,那么只需要把应用都进行容器化即可。
OZone是当前Apache Hadoop生态圈的一款新的对象存储系统,可用于小文件和大文件存储,设计的目的是为了填充社区在对象存储方面的不足,同时能够提供百亿甚至千亿级文件规模的存储。OZone与HDFS有着很深的关系,在设计上也对HDFS存在的不足做了很多改进,使用HDFS的生态系统可以无缝切换到OZone。
目前大数据生态中做的比较好、比较完整的是CDH,我们看看他们在主推的架构:
CDH的CDP与红帽的OpenShift在做过认证。后面有机会尝试一下:
RECOMMEND
推荐阅读
《架构真意:企业级应用架构设计方法论与实践》
作者:范钢、孙玄
卖点:
(1)作者资深:作者范钢、孙玄都是资深架构专家,在行业内有一定影响力,目前孙玄专注于架构师培养领域,其创办的奈学教育累计培养了大量高薪架构师。
(2)内容新颖:本书提供了一套方法更优的企业级应用架构设计方法论,助你领悟架构的本质,构建高质量的企业级应用。
(3)实操性强:详细阐述当下热门的分布式系统和大数据平台的架构方法,提供可复用的经验,可操作性极强。
(4)专家力荐:本书获得了来自腾讯、阿里、百度、京东、滴滴、谷歌、IBM等企业的资深技术专家一致推荐。
主要内容:
这是一部尝试从架构本质的角度对传统的企业级应用架构方法进行优化的著作,不仅提供了一套更优化的企业级应用架构方法论,能指导读者构建高质量的应用;而且对当下热门的分布式系统和大数据平台的架构方法进行了详细讲解,通过大量案例提供了可直接复用的经验。
作者:朱凯
卖点:这是一部教你如何从0到1架构与实现一个企业级大数据平台的著作,是作者在大数据和系统架构领域工作超过20000小时的经验总结。
主要内容:作者从横向视角出发,手把手教你如何拉通Hadoop体系技术栈,以此搭建一个真实可用、安全可靠的大数据平台。通过阅读本书,大家一定能找到灵感和思路来应对实际工作中面对的问题。
《数据架构:数据科学家的第一本书(原书第2版)》
作者:[美] W.,H.,因蒙(W.,H.,Inmon)译者:黄智濒 陶袁译
卖点:
本书由“数据仓库之父”Inmon和“Data Vault之父”Linstedt领衔撰写,带领读者从宏观视角了解数据架构的基本概念和原则,是数据科学家、分析师和管理者在入门阶段的必备参考读物。
主要内容:
本书创新性地提出终端状态架构的概念,新增了关于可视化和大数据的章节,以及文本管理和分析等来自不同行业的实例。通过阅读本书,读者将通晓数据收集、治理、提取、分析等不同阶段的核心技术,进而学会将大数据技术融入现有的信息基础设施或数据仓库系统。
扫码关注【华章计算机】视频号
每天来听华章哥讲书
书讯 | 9月书讯 | 秋天的第一本书,来了资讯 | 浅谈大数据风控平台的功能需求书单 | 《数据安全法》,对所有互联网公司的大考,该如何应对?干货 | 低代码,怎么秃然就火了?收藏 | 不聊虚的,接地气理解数据中台上新 | 【新书速递】UEFI开发探索赠书 | 【第71期】破案了!库里为何会花18万美元买一个猴子头像?