失效链接处理 |
大数据日知录:架构与算法 PDF 下载
转载自:http://download.csdn.net/download/cmxp2008/10127853
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://e.dangdang.com/products/1900449918.html
相关截图:
资料简介: 大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。 《大数据日知录:架构与算法》从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件体系结构、相关的基础理论、大规模数据存储系统、分布式架构设计、各种不同应用场景下的差异化系统设计思路、机器学习与数据挖掘并行算法以及层出不穷的新架构、新系统等。《大数据日知录:架构与算法》对众多纷繁芜杂的相关技术文献和系统进行了择优汰劣并系统性地对相关知识分门别类地进行整理和介绍,将大数据相关技术分为大数据基础理论、大数据系统体系结构、大数据存储,以及包含批处理、流式计算、交互式数据分析、图数据库、并行机器学习的架构与算法以及增量计算等技术分支在内的大数据处理等几个大的方向。通过这种体系化的知识梳理与讲解,相信对于读者整体和系统地了解、吸收和掌握相关的优秀技术有极大的帮助与促进作用。 《大数据日知录:架构与算法》的读者对象包括对NoSQL 系统及大数据处理感兴趣的所有技术人员,以及有志于投身到大数据处理方向从事架构师、算法工程师、数据科学家等相关职业的在校本科生及研究生。
大数据是当前流行的热概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。 张俊林著的这本《大数据日知录:架构与算法》从架构与算法的角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识异常众多且正处于快速演发展过程中等特,其技术包括底层的硬件体系结构、相关的基础理论、大规模数据存储系统、分布式架构设计、各种不同应用场景下的差异化系统设计思路、机器学习与数据挖掘并行算法以及层出不穷的新架构、新系统等。本书对众多纷繁芜杂的相关技术文献和系统行了择优汰劣并系统性地对相关知识分门别类地行整理和介绍,将大数据相关技术分为大数据基础理论、大数据系统体系结构、大数据存储,以及包含批处理、流式计算、交互式数据分析、图数据库、并行机器学习的架构与算法以及增量计算等技术分支在内的大数据处理等几个大的方向。通过这种体系化的知识梳理与讲解,相信对于读者整体和系统地了解、吸收和掌握相关的技术有很大的帮助与促作用。 《大数据日知录:架构与算法》的读者对象包括对NoSQL 系统及大数据处理感兴趣的所有技术人员,以及有志于投身到大数据处理方向从事架构师、算法工程师、数据科学家等相关职业的在校本科生及研究生。资料目录: 前言 0 当谈论大数据时我们在谈什么 0.1 大数据是什么 0.2 大数据之翼:技术范型转换 0.3 大数据商业炼金术 0.4 “大数据”在路上 1 数据分片与路由 1.1 抽象模型 1.2 哈希分片(Hash Partition) 1.2.1 Round Robin 1.2.2 虚拟桶(Virtual Buckets) 1.2.3 一致性哈希(Consistent Hashing) 1.3 范围分片(Range Partition) 参考文献 2 数据复制与一致性 2.1 基本原则与设计理念 2.1.1 原教旨CAP主义 2.1.2 CAP 重装上阵(CAP Reloaded) 2.1.3 ACID原则 2.1.4 BASE原则 2.1.5 CAP/ACID/BASE 三者的关系 2.1.6 幂等性(Idempotent) 2.2 一致性模型分类 2.2.1 强一致性 2.2.2 最终一致性 2.2.3 因果一致性 2.2.4 “读你所写”一致性 2.2.5 会话一致性 2.2.6 单调读一致性 2.2.7 单调写一致性 2.3 副本更新策略 2.3.1 同时更新 2.3.2 主从式更新 2.3.3 任意节点更新 2.4 一致性协议 2.4.1 两阶段提交协议(Two-Phrase Commit,2PC) 2.4.2 向量时钟(Vector Clock) 2.4.3 RWN协议 2.4.4 Paxos协议 2.4.5 Raft协议 参考文献 3 大数据常用的算法与数据结构 3.1 布隆过滤器(Bloom Filter) 3.1.1 基本原理 3.1.2 误判率及相关计算 3.1.3 改进:计数Bloom Filter 3.1.4 应用 3.2 SkipList 3.3 LSM树 3.4 Merkle哈希树(Merkle Hash Tree) 3.4.1 Merkle树基本原理 3.4.2 Dynamo中的应用 3.4.3 比特币中的应用 3.5 Snappy与LZSS算法 3.5.1 LZSS算法 3.5.2 Snappy 3.6 Cuckoo哈希(Cuckoo Hashing) 3.6.1 基本原理 3.6.2 应用:SILT存储系统 参考文献 4 集群资源管理与调度 4.1 资源管理抽象模型 4.1.1 概念模型 4.1.2 通用架构 4.2 调度系统设计的基本问题 4.2.1 资源异质性与工作负载异质性 4.2.2 数据局部性(Data Locality) 4.2.3 抢占式调度与非抢占式调度 4.2.4 资源分配粒度(Allocation Granularity) 4.2.5 饿死(Starvation)与死锁(Dead Lock)问题 4.2.6 资源隔离方法 4.3 资源管理与调度系统范型 4.3.1 集中式调度器(Monolithic Scheduler) 4.3.2 两级调度器(Two-Level Scheduler) 4.3.3 状态共享调度器(Shared-State Scheduler) 4.4 资源调度策略 4.4.1 FIFO调度策略 4.4.2 公平调度器(Fair Scheduler) 4.4.3 能力调度器(Capacity Scheduler) 4.4.4 延迟调度策略(Delay Scheduling) 4.4.5 主资源公平调度策略(Dominant Resource Fair Scheduling) 4.5 Mesos 4.6 YARN 参考文献 5 分布式协调系统 5.1 Chubby锁服务 5.1.1 系统架构 5.1.2 数据模型 5.1.3 会话与KeepAlive机制 5.1.4 客户端缓存 5.2 ZooKeeper 5.2.1 体系结构 5.2.2 数据模型(Data Model) 5.2.3 API 5.2.4 ZooKeeper的典型应用场景 5.2.5 ZooKeeper的实际应用 参考文献 6 分布式通信 6.1 序列化与远程过程调用框架 6.1.1 Protocol Buffer与Thrift 6.1.2 Avro 6.2 消息队列 6.2.1 常见的消息队列系统 6.2.2 Kafka 6.3 应用层多播通信(Application-Level Multi-Broadcast) 6.3.1 概述 6.3.2 Gossip协议 参考文献 7 数据通道 7.1 Log数据收集 7.1.1 Chukwa 7.1.2 Scribe 7.2 数据总线 7.2.1 Databus 7.2.2 Wormhole 7.3 数据导入/导出 参考文献 8 分布式文件系统 8.1 Google文件系统(GFS) 8.1.1 GFS设计原则 8.1.2 GFS整体架构 8.1.3 GFS主控服务器 8.1.4 系统交互行为 8.1.5 Colossus 8.2 HDFS 8.2.1 HDFS整体架构 8.2.2 HA方案 8.2.3 NameNode联盟 8.3 HayStack存储系统 8.3.1 HayStack整体架构 8.3.2 目录服务 8.3.3 HayStack缓存 8.3.4 HayStack存储系统的实现 8.4 文件存储布局 8.4.1 行式存储 8.4.2 列式存储 8.4.3 混合式存储 8.5 纠删码(Erasure Code) 8.5.1 Reed-Solomon编码 8.5.2 LRC编码 8.5.3 HDFS-RAID 架构 参考文献 9 内存KV数据库 9.1 RAMCloud 9.1.1 RAMCloud整体架构 9.1.2 数据副本管理与数据恢复 9.2 Redis 9.3 MemBase 参考文献 10 列式数据库 10.1 BigTable 10.1.1 BigTable的数据模型 10.1.2 BigTable的整体结构 10.1.3 BigTable的管理数据 10.1.4 主控服务器(Master Server) 10.1.5 子表服务器(Tablet Server) 10.2 PNUTS存储系统 10.2.1 PNUTS的整体架构 10.2.2 存储单元 10.2.3 子表控制器与数据路由器 10.2.4 雅虎消息代理 10.2.5 数据一致性 10.3 MegaStore 10.3.1 实体群组切分 10.3.2 数据模型 10.3.3 数据读/写与备份 10.4 Spanner 10.4.1 SpanServer软件栈 10.4.2 数据模型 10.4.3 TrueTime 参考文献 11 大规模批处理系统 11.1 MapReduce计算模型与架构 11.1.1 计算模型 11.1.2 系统架构 11.1.3 MapReduce计算的特点及不足 11.2 MapReduce计算模式 11.2.1 求和模式(Summarization Pattern) 11.2.2 过滤模式(Filtering Pattern) 11.2.3 组织数据模式(Data Organization Pattern) 11.2.4 Join模式(Join Pattern) 11.3 DAG计算模型 11.3.1 DAG计算系统的三层结构 11.3.2 Dryad 11.3.3 FlumeJava和Tez 参考文献 12 流式计算 12.1 流式计算系统架构 12.1.1 主从架构 12.1.2 P2P架构 12.1.3 Samza架构 12.2 DAG拓扑结构 12.2.1 计算节点 12.2.2 数据流 12.2.3 拓扑结构 12.3 送达保证(Delivery Guarantees) 12.3.1 Storm的送达保证机制 12.3.2 MillWheel的“恰好送达一次”机制 12.4 状态持久化 12.4.1 容错的三种模式 12.4.2 Storm的状态持久化 12.4.3 MillWheel和Samza的状态持久化 参考文献 13 交互式数据分析 13.1 Hive系数据仓库 13.1.1 Hive 13.1.2 StingerInitiative 13.2 Shark系数据仓库 13.2.1 Shark架构 13.2.2 部分DAG执行引擎(PDE) 13.2.3 数据共同分片 13.3 Dremel系数据仓库 13.3.1 Dremel 13.3.2 PowerDrill 13.3.3 Impala 13.3.4 Presto 13.4 混合系数据仓库 参考文献 14 图数据库:架构与算法 14.1 在线查询类图数据库 14.1.1 三层结构 14.1.2 TAO图数据库 14.2 常见图挖掘问题 14.2.1 PageRank计算 14.2.2 单源最短路径(Single Source Shortest Path) 14.2.3 二部图最大匹配 14.3 离线挖掘数据分片 14.3.1 切边法(Edge-Cut) 14.3.2 切点法(Vertex-Cut) 14.4 离线挖掘计算模型 14.4.1 以节点为中心的编程模型 14.4.2 GAS编程模型 14.4.3 同步执行模型 14.4.4 异步执行模型 14.5 离线挖掘图数据库 14.5.1 Pregel 14.5.2 Giraph 14.5.3 GraphChi 14.5.4 PowerGraph 参考文献 15 机器学习:范型与架构 15.1 分布式机器学习 15.1.1 机器学习简介 15.1.2 数据并行VS.模型并行 15.2 分布式机器学习范型 15.2.1 三种范型 15.2.2 MapReduce迭代计算模型 15.2.3 BSP计算模型 15.2.4 SSP模型 15.3 分布式机器学习架构 15.3.1 MapReduce系列 15.3.2 Spark及MLBase 15.3.3 参数服务器(Parameter Server) 参考文献 16 机器学习:分布式算法 16.1 计算广告:逻辑回归 16.1.1 逻辑回归(Logistic Regression,LR) 16.1.2 并行随机梯度下降(Parallel Stochastic Gradient Descent) 16.1.3 批学习并行逻辑回归 16.2 推荐系统:矩阵分解 16.2.1 矩阵分解方法 16.2.2 ALS-WR算法 16.2.3 并行版ALS-WR算法 16.3 搜索引擎:机器学习排序 16.3.1 机器学习排序简介 16.3.2 LambdaMART 16.3.3 分布式LambdaMART 16.4 自然语言处理:文档相似性计算 16.5 社交挖掘:谱聚类 16.5.1 社交挖掘实例 16.5.2 谱聚类 16.5.3 并行版谱聚类 16.6 深度学习:DistBelief 16.6.1 深度学习简介 16.6.2 DistBelief 参考文献 17 增量计算 17.1 增量计算模式 17.1.1 两种计算模式 17.1.2 Hadoop平台下增量计算的一般模式 17.2 Percolator 17.2.1 事务支持 17.2.2 “观察/通知”体系结构 17.3 Kineograph 17.3.1 整体架构 17.3.2 增量计算机制 17.4 DryadInc 参考文献 附录A 硬件体系结构及常用性能指标
附录B 大数据必读文献 |