大数据日知录要点整理

简介:

大数据日知录要点整理

      第0 章 当谈论大数据时我们在谈什么 1 
 
NOSQL选型:kv-cassandra、dynamo,列式存储-HBase,图存储-Neo4j
社交网络数据存储适合用图数据库,而实时响应要求较高的场合适合Hbase等列式数据库。海量数据批处理任务,Hadoop+HDFS更好。

第1 章 数据分片与路由 9 
1.1 抽象模型10 
1.2 哈希分片(Hash Partition) 11 
1.2.1 Round Robin11 
1.2.2 虚拟桶(Virtual Buckets) 12 
1.2.3 一致性哈希(Consistent Hashing) 13 
1.3 范围分片(Range Partition) 18 
参考文献19 
第2 章 数据复制与一致性20 
2.1 基本原则与设计理念21 
2.1.1 原教旨CAP 主义21 
2.1.2 CAP 重装上阵(CAP Reloaded)23 
2.1.3 ACID 原则24 
2.1.4 BASE 原则24 
2.1.5 CAP/ACID/BASE 三者的关系25 
2.1.6 幂等性(Idempotent)26 
2.2 一致性模型分类26 
2.2.1 强一致性27 
2.2.2 最终一致性28 
2.2.3 因果一致性28 
2.2.4 “读你所写”一致性29 
2.2.5 会话一致性29 
2.2.6 单调读一致性30 
2.2.7 单调写一致性30 
2.3 副本更新策略30 
2.3.1 同时更新30 
2.3.2 主从式更新31 
2.3.3 任意节点更新32 
2.4 一致性协议32 
2.4.1 两阶段提交协议(Two—Phrase Commit,2PC)33 
2.4.2 向量时钟(Vector Clock) 38 
2.4.3 RWN 协议40 
2.4.4 Paxos 协议42 
2.4.5 Raft 协议45 
参考文献49 
第3 章 大数据常用的算法与数据结构51 
3.1 布隆过滤器(Bloom Filter) 51 
3.1.1 基本原理52 
3.1.2 误判率及相关计算52 
3.1.3 改进:计数Bloom Filter53 
3.1.4 应用54 
3.2 SkipList55 
3.3 LSM 树58 
3.4 Merkle 哈希树(Merkle Hash Tree) 62 
3.4.1 Merkle 树基本原理62 
3.4.2 Dynamo 中的应用63 
3.4.3 比特币中的应用63 
3.5 Snappy 与LZSS 算法65 
3.5.1 LZSS 算法65 
3.5.2 Snappy67 
3.6 Cuckoo 哈希(Cuckoo Hashing) 67 
3.6.1 基本原理68 
3.6.2 应用:SILT 存储系统68 
参考文献70 
第4 章 集群资源管理与调度71 
4.1 资源管理抽象模型72 
4.1.1 概念模型72 
4.1.2 通用架构73 
4.2 调度系统设计的基本问题74 
4.2.1 资源异质性与工作负载异质性74 
4.2.2 数据局部性(Data Locality) 75 
4.2.3 抢占式调度与非抢占式调度75 
4.2.4 资源分配粒度(Allocation Granularity) 76 
4.2.5 饿死(Starvation)与死锁(Dead Lock)问题76 
4.2.6 资源隔离方法77 
4.3 资源管理与调度系统范型77 
4.3.1 集中式调度器(Monolithic Scheduler)78 
4.3.2 两级调度器(Two—Level Scheduler) 79 
4.3.3 状态共享调度器(Shared—State Scheduler) 79 
4.4 资源调度策略81 
4.4.1 FIFO 调度策略81 
4.4.2 公平调度器(Fair Scheduler)81 
4.4.3 能力调度器(Capacity Scheduler) 82 
4.4.4 延迟调度策略(Delay Scheduling)82 
4.4.5 主资源公平调度策略(Dominant Resource Fair Scheduling)82 
4.5 Mesos 84 
4.6 YARN87 
参考文献90 
第5 章 分布式协调系统91 
5.1 Chubby 锁服务92 
5.1.1 系统架构93 
5.1.2 数据模型94 
5.1.3 会话与KeepAlive 机制95 
5.1.4 客户端缓存95 
5.2 ZooKeeper 96 
5.2.1 体系结构96 
5.2.2 数据模型(Data Model) 97 
5.2.3 API 98 
5.2.4 ZooKeeper 的典型应用场景98 
5.2.5 ZooKeeper 的实际应用103 
参考文献104 
第6 章 分布式通信106 
6.1 序列化与远程过程调用框架107 
6.1.1 Protocol Buffer 与Thrift 108 
6.1.2 Avro109 
6.2 消息队列110 
6.2.1 常见的消息队列系统110 
6.2.2 Kafka 111 
6.3 应用层多播通信(Application—Level Multi—Broadcast)114 
6.3.1 概述114 
6.3.2 Gossip 协议115 
参考文献118 
第7 章 数据通道120 
7.1 Log 数据收集120 
7.1.1 Chukwa121 
7.1.2 Scribe122 
7.2 数据总线123 
7.2.1 Databus125 
7.2.2 Wormhole 127 
7.3 数据导入/导出128 
参考文献129 
第8 章 分布式文件系统131 
8.1 Google 文件系统(GFS) 132 
8.1.1 GFS 设计原则132 
8.1.2 GFS 整体架构133 
8.1.3 GFS 主控服务器134 
8.1.4 系统交互行为136 
8.1.5 Colossus 137 
8.2 HDFS 138 
8.2.1 HDFS 整体架构139 
8.2.2 HA 方案140 
8.2.3 NameNode 联盟143 
8.3 HayStack 存储系统145 
8.3.1 HayStack 整体架构146 
8.3.2 目录服务147 
8.3.3 HayStack 缓存148 
8.3.4 HayStack 存储系统的实现148 
8.4 文件存储布局150 
8.4.1 行式存储151 
8.4.2 列式存储151 
8.4.3 混合式存储156 
8.5 纠删码(Erasure Code)158 
8.5.1 Reed—Solomon 编码159 
8.5.2 LRC 编码164 
8.5.3 HDFS—RAID 架构166 
参考文献166 
…… 
第9 章 内存KV 数据库168 
第10 章 列式数据库176 
第11 章 大规模批处理系统199 
第12 章 流式计算219 
第13 章 交互式数据分析240 
第14 章 图数据库:架构与算法271 
第15 章 机器学习:范型与架构313 
第16 章 机器学习:分布式算法337 
第17 章 增量计算366 







本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6244221.html ,如需转载请自行联系原作者

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
SQL 分布式计算 Hadoop
|
5月前
|
消息中间件 资源调度 大数据
学了1年大数据,来测测你大数据技术掌握程度?大数据综合复习之面试题15问(思维导图+问答库)
学了1年大数据,来测测你大数据技术掌握程度?大数据综合复习之面试题15问(思维导图+问答库)
44 0
|
9月前
|
机器学习/深度学习 人工智能 算法
实用!50个大厂、987页大数据、算法项目落地经验教程合集
大数据、算法项目在任何大厂无论是面试还是工作运用都是非常广泛的,我们精选了50个百度、腾讯、阿里等大厂的大数据、算法落地经验甩给大家,千万不要做收藏党哦,空闲时间记得随时看看! 如果你没有大厂项目经验,对大厂算法、大数据的项目运用不了解建议你看看!
|
存储 大数据 数据库
【读书笔记】《大数据之路》——维度设计总结(2)
【读书笔记】《大数据之路》——维度设计总结(2)
|
存储 大数据
【读书笔记】《大数据之路》——维度设计总结(3)
【读书笔记】《大数据之路》——维度设计总结(3)
|
存储 大数据 OLAP
【读书笔记】《大数据之路》——维度设计总结(1)
【读书笔记】《大数据之路》——维度设计总结(1)
【读书笔记】《大数据之路》——维度设计总结(1)
|
SQL 数据采集 存储
大数据知识点总结
数据仓库:英文Data WareHouse,数据仓库是面向主题,为分析数据而设计的,是一个各种数据(包括历史数据和当前数据)的中心存储系统,主要服务于商业智能(也就是BI)和企业决策管理。
316 0
大数据知识点总结
|
存储 SQL 分布式计算
数据工程师必须掌握的7个大数据实战项目
值得收藏,数据工程师必须掌握的7个大数据实战项目
7389 1
数据工程师必须掌握的7个大数据实战项目
|
机器学习/深度学习 分布式计算 数据可视化
大数据入门知识点
大数据入门知识点
88 0
|
机器学习/深度学习 SQL 存储
大数据小白如何入门?大数据领域75个核心术语讲解全盘奉上
  本文约8420字,建议阅读17分钟。本文介绍Ramesh Dontha 在 DataConomy 上连发两篇文章,扼要而全面地介绍了关于大数据的 75 个核心术语。   近日,Ramesh Dontha 在 DataConomy 上连发两篇文章,扼要而全面地介绍了关于大数据的 75 个核心术语,这不仅是大数据初学者很好的入门资料,对于高阶从业人员也可以起到查漏补缺的作用。本文分为上篇(25 个术语)和下篇(50 个术语)。   如果你刚接触大数据,你可能会觉得这个领域很难以理解,无从下手。不过,你可以从下面这份包含了 25 个大数据术语的清单入手,那么我们开始吧。   算法(Algo
344 0