大数据系统
数据管理的目标与任务
问题: 人的大脑不善于记忆的特点。
解决方法:人发明的索引,对数据建立索引,发明了数据库软件。
大数据系统的定义
大数据系统可以认为是为数据管理和数据分析用途而设计的分布式系统。
在大数据系统的实现中,整合数据管理与数据分析的功能。
(1)在数据管理的层面,包括数据的读取、存储和操作三方面。
大数据索引设计是大数据管理中的重要内容。
(2)在数据分析的层面,需要各种算法和统计分析的工具。
大数据算法设计是数据分析中的重要内容。
大数据的存储/管理/处理现状
大数据系统常用的几个项目:
- Hadoop项目集成了大数据存储与处理技术
- Spark项目是目前最热门的大数据平台
- Real-time Analytics Platform 还没有统治性的软件框架
Hadoop
Hadoop分布式文件系统HDFS(Hadoop Distributed File System),是谷歌文件系统GFS的一个开源实现。
每台机器分配不同角色,称为Namenode和Datanode
Namenode负责存储文件的元数据和在datanode中的具体位置
Datanode负责存储文件的具体内容,以块为单位
Spark
- BDAS (Berkeley Data Analytics Stack)==
BDAS 是加州大学伯克利分校推出的大数据处理框架。BDAS以Spark软件为核心,结合其他处理软件,组成一套解决方案。
以databricks公司为主。
- 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
- RADS(Real-time Analytics Data Stack)==
RADS以Druid为核心,构建大数据实时解析系统。
事件大数据的可视化的创业公司Imply。
- 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.apache.org/cn/
参考材料
- Leskovec, Jure, Anand Rajaraman, and Jeffrey David Ullman. Mining of massive datasets. Cambridge University Press, 2014. 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