昨日阅读4小时,总计53.5小时
《大数据技术体系详解-原理、架构与实践》-董西成著-机械Press-2018.4
Big Data Technical System: Principle, Architecture and Practice
这是一部系统、深度讲解大数据技术栈的著作。
从数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析5个层次讲解整个大数据技术体系中核心技术的原理、架构与实践。
(本书三大特色:系统性--深度剖析大数据技术体系的六层架构;技术性--详尽介绍Hadoop和Spark主流大数据技术;实用性--理论与实践相结合)
本书源代码下载地址:
http://hadoop123.com
ch1 企业级大数据技术体系概述发展纲要的定义:
大数据是以容量大、类型多、存取速度快、应用价值高为主要特征的数据集合,正快速发展为对数据巨大、来源分散、格式多样的数据进行采集、存储、关联分析,从中发现新知识、创造新价值、提升新能力的新一代信息技术和服务业态。
大数据系统产生背景及应用场景
直接源于互联网
互联网公司为采集、存储、分析大数据,尝试研发大数据技术。在众多方案中,开源系统Hadoop与Spark成为应用最广泛的大数据技术。
应用场景:
1)互联网领域:搜索引擎、推荐系统、广告系统
2)电信领域:网络管理与优化、市场与精准营销、CRM、企业运营管理、数据商业化
3)医疗领域:
4)金融领域:客户画像、精准营销、风险管理、运营优化
企业大数据技术框架
从数据在信息系统中的生命周期看,大数据从数据源开始,经过分析、挖掘、到最终获得价值,一般需要6个主要环节:
数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析和数据可视化
数据收集层:数据源具有分布式、异构性、多样化、流式产生,因此要求收集系统具有可扩展性、可靠性、安全性、低延时
数据存储层:负责海量结构化和非结构化数据的存储(要求扩展性、容错性、存储模型)
资源管理与服务协调层:
计算引擎层:不同应用场景,对数据处理的要求不同。针对不同应用场景,单独构建一个计算引擎,每种计算引擎专注于解决某一类问题(小而美),主要有交互式处理(对时间要求比较高)、批处理(追求高吞吐率,对时延要求不高)、实时处理(对时延要求最高)
数据分析层:直接与用户应用程序对接
可视化层:展现大数据价值的门户。
企业级大数据技术实现方案
A. Google大数据技术栈
数据存储层:GFS(分布式文件系统)-->BigTable(分布式数据库,一个稀疏的、分布式、持久化存储的多维度排序映射表)-->MegaStore(支持ACID的分布式数据库,提供高可扩展、高密度交互可用存储服务)-->Spanner(一个可扩展、多版本、全球分布式、支持同步复制的数据库,为下一代BigTable,也是MegaStore的继任者)
资源管理与服务协调:Borg(一个集群资源管理和调度系统,负责集群的资源管理和统一调度,并对应用程序进行接收、启动、停止、重启和监控。目的是让开发者能够不必操心资源管理的问题,专注于应用程序开发,且做到跨多个数据中心的资源利用最大化)---->Omega(下一代资源管理和调度系统,采用了共享状态的架构、MVCC即Multi-Version Concurrency Control,也即乐观锁)----->Chubby(为松散耦合的分布式系统提供粗粒度的锁和低容量可靠存储,其侧重点在可用性、可靠性而非高性能)