大数据系统

2017年5月6日 (六) 12:02Zhenchen讨论 | 贡献的版本

分布式系统

信息技术是指电子、计算机与网络的相关技术,涉及信息的存储,传输与处理的内容。

信息系统(Information system)就是涉及信息的存储,传输与处理的软硬件设备。

大数据系统是实现大数据存储、管理、处理和服务的分布式信息系统。

Distributed Systems

  1. M Steen, AS Tanenbaum, Distributed systems: principles and paradigms, Prentice Hall, 2007.

信息系统的设计原则

基本原则:信息系统的软硬件的组织方式,如计算、存储、通信之间的模式,应该和信息系统的功用相适应。 类似于政治经济学中的“经济基础与上层建筑”。

设计问题:集中式与分布式?

信息系统的设计思路

大数据系统设计的基本思路:

  1. 单台机器能力有限,需要多机系统;(并行性)
  2. 数据要分布在不同机器上,之间需要网络通信;(扩展性)
  3. 单台机器容易出现故障,系统要能容错;(可靠性)
  4. 用户程序在多台机器上运行,编程要简单。(易用性)

大数据的存储/管理/处理

  1. Hadoop项目集成了大数据存储与处理技术
  2. Spark项目是目前最热门的大数据平台

分布式存储与并行处理系统

分布式文件系统

运行在由很多机器组成的集群上的文件系统;

所有文件都做了冗余备份,存放在不同的机器上;

机器的随机宕机,不会导致文件系统的可用性问题;

谷歌文件系统GFS

每台机器分配不同角色,称为Master和Slave

Master负责存储文件的元数据和在slave中的具体位置

Slave负责存储文件的具体内容,以块为单位,每块64MB

研究论文:

  1. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. "The Google file system." SOSP 2003.

MapReduce

Map/Reduce编程模型 (Abstraction)和实现框架。

用户只要编写 Map()和 Reduce()函数。

Map/Reduce编程框架(programming framework)能够自动将MapReduce程序分配到集群上运行,并汇总运行结果

研究论文:

  1. Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004.

Hadoop

Hadoop分布式文件系统HDFS(Hadoop Distributed File System),是谷歌文件系统GFS的一个开源实现。

每台机器分配不同角色,称为Namenode和Datanode

Namenode负责存储文件的元数据和在datanode中的具体位置

Datanode负责存储文件的具体内容,以块为单位

Spark

BDAS (Berkeley Data Analytics Stack)

BDAS 是加州大学伯克利分校推出的大数据处理框架。BDAS与Spark为核心,结合和其他处理软件。

以databricks公司(www.databricks.com)为主。

  1. 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.

Druid

RADStack(Real-time Analytics Data Stack)

RADS以Druid为核心,构建大数据实时解析系统。如事件大数据的可视化的创业公司Imply。

http://www.imply.io


大数据解析

  1. Yang, Fangjin, et al. "Druid: a real-time analytical data store." SIGMOD 2014.

参考材料

最后修改于2017年5月6日 (星期六) 12:02