更改

大数据系统

添加618字节2020年1月10日 (五) 01:45
=分布式系统数据管理的目标与任务=大数据系统是实现大数据存储、管理、处理和服务的分布式信息系统。
[https://www.distributed-systems.net Distributed Systems]问题: 人的大脑不善于记忆的特点。
#M Steen, AS Tanenbaum, Distributed systems: principles and paradigms, Prentice Hall, 2007.解决方法:人发明的索引,对数据建立索引,发明了数据库软件。
=大数据系统的定义=系统的设计原则==基本原则:信息系统组织计算、存储、通信的模式和系统的功用的相适应,类似“经济基础与上层建筑”
问题:集中式与分布式?大数据系统可以认为是为数据管理和数据分析用途而设计的[[分布式系统]]。
==系统的设计思路==大数据系统设计的基本思路:在[[大数据系统]]的实现中,整合数据管理与数据分析的功能。
#单台机器能力有限,需要多机系统;(并行性)#数据要分布在不同机器上,之间需要网络通信;(扩展性)#单台机器容易出现故障,系统要能容错;(可靠性)#用户程序在多台机器上运行,编程要简单。(易用性)(1)在数据管理的层面,包括数据的读取、存储和操作三方面。
[[大数据索引]]设计是大数据管理中的重要内容。 (2)在数据分析的层面,需要各种算法和统计分析的工具。 [[大数据算法]]设计是数据分析中的重要内容。 = 大数据的存储/管理/处理处理现状 = 大数据系统常用的几个项目:
#Hadoop项目集成了大数据存储与处理技术
#Spark项目是目前最热门的大数据平台
#Real-time Analytics Platform 还没有统治性的软件框架
=分布式存储与并行处理系统Hadoop =
==分布式文件系统==运行在由很多机器组成的集群上的文件系统;Hadoop分布式文件系统HDFS(Hadoop Distributed File System),是谷歌文件系统GFS的一个开源实现。
所有文件都做了冗余备份,存放在不同的机器上;每台机器分配不同角色,称为Namenode和Datanode
机器的随机宕机,不会导致文件系统的可用性问题;Namenode负责存储文件的元数据和在datanode中的具体位置
;;;典型例子:谷歌文件系统GFSDatanode负责存储文件的具体内容,以块为单位
每台机器分配不同角色,称为Master和Slave* [http://hadoop.apache.org Hadoop]
Master负责存储文件的元数据和在slave中的具体位置
Slave负责存储文件的具体内容,以块为单位,每块64MB= Spark =
研究论文:# Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. "The Google file system." SOSP 2003.*BDAS (Berkeley Data Analytics Stack)==
== MapReduce==Map/Reduce编程模型 (Abstraction)和实现框架。BDAS 是加州大学伯克利分校推出的大数据处理框架。BDAS以Spark软件为核心,结合其他处理软件,组成一套解决方案。
用户只要编写 Map()和 Reduce()函数。以databricks公司为主。
Maphttp:/Reduce编程框架(programming framework)能够自动将MapReduce程序分配到集群上运行,并汇总运行结果/www.databricks.com
研究论文:
# Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004.
= Hadoop =* [http://spark.apache.org Spark]
#Hadoop分布式文件系统HDFS(Hadoop Distributed File System),是谷歌文件系统GFS的一个开源实现。Zaharia, Matei, et al. "Spark: cluster computing with working sets.“ Proceedings of the 2nd USENIX conference on Hot topics in cloud computing. Vol. 10. 2010.
每台机器分配不同角色,称为Namenode和Datanode
Namenode负责存储文件的元数据和在datanode中的具体位置= Druid =
Datanode负责存储文件的具体内容,以块为单位
* [http://hadoop.apache.org Hadoop]RADS(Real-time Analytics Data Stack)==
= Spark =RADS以Druid为核心,构建大数据实时解析系统。
* [http://spark.apache.org Spark]事件大数据的可视化的创业公司Imply。
# Zaharia, Matei, et al. "Sparkhttp: cluster computing with working sets.“ Proceedings of the 2nd USENIX conference on Hot topics in cloud computing. Vol. 10//www. 2010imply.io
= Druid =
大数据解析
* [http://druid.io Druid]
#Yang, Fangjin, et al. "Druid: a real-time analytical data store." SIGMOD 2014.
#Yang, Fangjin, et al. "The RADStack: Open source lambda architecture for interactive analytics." Proceedings of the 50th Hawaii International Conference on System Sciences. 2017.
 
 
 
=Kylin=
 
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
 
* [http://kylin.io Apache Kylin]
 
中文版:
http://kylin.apache.org/cn/
 
=参考材料=
 
# Leskovec, Jure, Anand Rajaraman, and Jeffrey David Ullman. Mining of massive datasets. Cambridge University Press, 2014. [http://www.mmds.org/ MMDS_book]
# Redmond, Eric, and Jim R. Wilson. Seven databases in seven weeks: a guide to modern databases and the NoSQL movement. Pragmatic Bookshelf, 2012.
 
 
=数据库-相关书籍=
 
*参考书:
 
M. Tamer Ozsu and Patrick Valduriez., Principles of Distributed Database Systems (third Edition), Springer, 2011.
 
Jeffrey D. Ullman/Jennifer Widom, 《A First Course in Database Systems》,机械工业出版社.2011
 
Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts Sixth Edition, McGraw-Hill ISBN 0-07-352332-1
行政员管理员
6,105
个编辑