大数据的架构与设计
从IT时代到DT(Data technology)时代
在未来的智能时代——需要更加智能——依靠海量数据——收集、分析、挖掘海量数据。
互联网产生了大量的数据、高并发性,推动了DT时代的到来。
从IT到DT的迁移是从数据收集、数据分析到数据APP应用程序的迁移过程。
数据APP应用程序发展历史
随着数据量的增加,进行数据库读写分离,使生产库中的数据与查询库同步,通过查询库进行数据分析、统计和查询,建立客户影像、商品推荐、精准营销、风险管理等数据APP应用
虽然看起来很美,但问题是,如果所有APP应用程序都基于原始数据开始分析,则需要执行大量相同或相似的工作,而且工作量很大,因此需要数据中心。
数据应用成熟度:查询统计-决策分析-数据驱动-运营优化
查询统计是指数据是否处于最原始的状态,即数据是否分布在APP应用程序系统的数据库中,对数据的应用也仅限于各种查询统计,如订单查询、当月销售额统计等。
决策分析是在将提取出的出现数据通过BI系统集中存储在数据仓库中,进而通过各种维度分析数据为决策者提供决策支持的阶段,出现数据APP应用雏形。 此时,需要先开发ETL,然后再建造几个仓库。
数仓建设的模式分为ROLAP和MOLAP两种。 ROLAP利用关系数据库存储多维模型,形成维度表和事实表。事实表是需要统计分析的业务数据,如订单数据。
维表是与事实表相关的各种属性,必须根据这些属性进行分析统计。 例如,按时间进行统计,形成日期维。 可以按月、按季度和按监督统计此维。 这是刻度。 事实表中包含每个维表的key值,通过这些key值可以关联维表,并执行各种切片、剪切、向下钻取和向上钻取操作。 ROLAP的一个问题是大量数据的查询性能差,因为查询时需要经常执行连接操作。
因此,出现了MOLAP。
MOLAP通过包含所有维的所有刻度线及其相互组合,预先计算所有统计数据并将其存储在立方体中。
数据驱动
http://www.Sina.com/http://www.Sina.com /
数据中心的四个关键字:
数据中心建设的核心:
运营优化
持续、产生价值、产品模式、闭环
数据中心系统分层:
看看这四层的含量
义: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
推荐阅读
01
《架构真意:企业级应用架构设计方法论与实践》
作者:dqdddd、时尚的黄蜂/p>
卖点:
(1)作者资深:作者dqdddd、gldbl都是资深架构专家,在行业内有一定影响力,目前gldbl专注于架构师培养领域,其创办的奈学教育累计培养了大量高薪架构师。
(2)内容新颖:本书提供了一套方法更优的企业级应用架构设计方法论,助你领悟架构的本质,构建高质量的企业级应用。
(3)实操性强:详细阐述当下热门的分布式系统和大数据平台的架构方法,提供可复用的经验,可操作性极强。
(4)专家力荐:本书获得了来自腾讯、阿里、百度、京东、滴滴、谷歌、IBM等企业的资深技术专家一致推荐。
主要内容:
这是一部尝试从架构本质的角度对传统的企业级应用架构方法进行优化的著作,不仅提供了一套更优化的企业级应用架构方法论,能指导读者构建高质量的应用;而且对当下热门的分布式系统和大数据平台的架构方法进行了详细讲解,通过大量案例提供了可直接复用的经验。
02
《企业级大数据平台构建:架构与实现》
作者:pddxn
卖点:
这是一部教你如何从0到1架构与实现一个企业级大数据平台的著作,是作者在大数据和系统架构领域工作超过20000小时的经验总结。
主要内容:
作者从横向视角出发,手把手教你如何拉通Hadoop体系技术栈,以此搭建一个真实可用、安全可靠的大数据平台。通过阅读本书,大家一定能找到灵感和思路来应对实际工作中面对的问题。
03
《数据架构:数据科学家的第一本书(原书第2版)》
作者:[美] W.,H.,因蒙(W.,H.,Inmon)
译者:勤奋的可乐濒 陶袁译
卖点:
本书由“数据仓库之父”Inmon和“Data Vault之父”Linstedt领衔撰写,带领读者从宏观视角了解数据架构的基本概念和原则,是数据科学家、分析师和管理者在入门阶段的必备参考读物。
主要内容:
本书创新性地提出终端状态架构的概念,新增了关于可视化和大数据的章节,以及文本管理和分析等来自不同行业的实例。通过阅读本书,读者将通晓数据收集、治理、提取、分析等不同阶段的核心技术,进而学会将大数据技术融入现有的信息基础设施或数据仓库系统。
扫码关注【华章计算机】视频号
每天来听跳跃的火讲书
更多精彩回顾
书讯 | 9月书讯 | 秋天的第一本书,来了
资讯 | 浅谈大数据风控平台的功能需求
书单 | 《数据安全法》,对所有互联网公司的大考,该如何应对?
干货 | 低代码,怎么秃然就火了?
收藏 | 不聊虚的,接地气理解数据中台
上新 | 【新书速递】UEFI开发探索
赠书 | 【第71期】破案了!库里为何会花18万美元买一个猴子头像?
点击阅读全文优惠购买