【读书笔记】《大数据技术与产业发展白皮书》笔记
【读书笔记】《大数据技术与产业发展白皮书》笔记
个人感觉白皮书相当于一篇大数据方面的综述文献,值得一看。
本笔记是白皮书第3章中部分内容的备忘录,以备实际项目之用。限于篇幅,其中涉及到的框架或项目未能给出简介,感兴趣的童鞋可以在Google中搜索其项目主页或官网做深入了解。
下面开始正文。
1. 分布式数据库
1.1 事务性数据库
主要包括NoSQL和NewSQL,其中NoSQL是指"Not Only SQL"或"Not Relational",这类DB通过放松对事务ACID语义的方法来增加系统的性能及可扩展性。
NoSQL系统的典型特征:
1) 非关系数据模型,比如键值存储等
2) 对简单操作比如键值查询的水平可扩展性支持较好,往往不支持SQL全集(如很少有k-v db直接支持scan操作)
3) 在多个节点中分割和复制数据的能力
4) 弱并发一致性语义(比如最终一致性)
5) 充分利用分布式索引和内存
根据数据管理模式分类,NoSQL可分3类:
CAP定理
NewSQL系统通常可分为两类:
1.2 分析型数据库
2. 实时/流式大数据存储与处理
3. 大数据计算模式与系统
所谓大数据计算模式,即根据大数据的不同数据特征和计算特征,从多样性的大数据计算问题和需求中提炼并建立的高层抽象(Abstraction)或模型(Model)。如MapReduce中的并行计 算抽象;流式计算框架Spark中的分布内存抽象RDD(RDD, a distributed memory abstraction);图计算系统GraphLab中的图并行抽象(Graph Parallel Abstraction)。
3.1 大数据处理典型特征
大数据处理包括以下典型的特征或维度:
1) 数据结构特征:根据数据结构特征可分为结构化/半结构化数据处理与非结构化数据处理
2) 数据获取处理方式:可分为批处理与流式计算两种方式
3) 数据处理类型:可分为传统的查询分析计算和复杂的数据挖掘分析计算
4) 实时性或响应性能:可分为实时/准实时与非实时计算,或者是在线(online)计算与离线(offline)计算。流式计算属实时计算,查询分析类计算通常要求高的响应性能,而批处理和复 杂数据挖掘计算通常属于非实时或离线计算
5) 迭代计算:现实的数据处理中有很多计算问题需要大量的迭代计算(如一些机器学习算法),为此,需提供具有高效迭代计算能力的计算模式
6) 数据关联性:MapReduce适用于处理数据关系较简单的计算任务,社会网络等具有复杂数据关系的计算任务则需要借助图数据计算模式
7) 并行计算体系结构特征:由于需要支持大规模数据的存储计算,大数据处理通常需要使用基于集群的分布式存储与并行计算体系结构和硬件平台。此外,为克服MapReduce框架在计算 性能上的缺陷,研究者从体系结构层面提出了内存计算模式(典型如Spark)
3.2 典型大数据计算模式与系统
1) 大数据查询分析计算
典型系统:HBase, Hive, Cassandra, Dremel, Impala, Shark, Hana
2) 批处理计算
典型系统:Hadoop MapReduce, Spark
3) 流式计算
典型系统:Scribe, Flume, Storm, S4, Spark Streaming
4) 迭代计算
典型系统:HaLoop, iMapReduce, Twister, Spark
5) 图计算
典型系统:Pregel, Giraph, Trinity, PowergGraph, GraphX
6) 内存计算
典型系统:Dremel, Hana, Spark
1.
《中国大数据技术与产业发展白皮书(2013年)》
2. CAP Theorem
3. What is MPP: MPP - massively parallel processing
4. wikipedia: Massively parallel (computing)
5. wikipedia: Business intelligence tools
评论暂时关闭