搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  Big_Data_Principles_and_Best_Practices_of_Scalable_Realtime_Data_Systems.zip
资料下载链接地址: https://bbs.pinggu.org/a-2298356.html
本附件包括:
  • Big_Data_Principles_and_Best_Practices_of_Scalable_Realtime_Data_Systems.pdf
附件大小:
作者: Nathan Marz / James Warren
副标题: Principles and best practices of scalable realtime data systems
出版年: 2015-5-10





内容简介

——————————

随着社交网络、网络分析和智能型电子商务的兴起,传统的数据库系统显然已无法满足海量数据的管理需求。作为一种新的处理模式,大数据系统应运而生,它使用多台机器并行工作,能够对海量数据进行存储、处理、分析,进而帮助用户从中提取对优化流程、实现高增长率的有用信息,做更为精准有效的决策。但不可忽略的是,它也引入了大多数开发者并不熟悉的、困扰传统架构的复杂性问题。

本书将教你充分利用集群硬件优势的Lambda架构,以及专门用来捕获和分析网络规模数据的新工具,来创建这些系统。它将描述一个可扩展的、易于理解大数据系统的方法——可以由小团队构建并运行。本书共18章,除了介绍基本概念,其他章节采用“理论+示例”的方式来阐释相关概念,并使用现实世界中的工具加以论证。其中,第1章介绍了数据系统的原理,给出了Lambda架构的概述,并概述了构建任何数据系统的广义方法。第2~9章集中阐述Lambda架构的批处理层。第10章和第11章集中阐述服务层,让读者了解只批量写入的特定数据库——这些数据库比传统数据库更简单,它们具有出色的性能,并具备可操作性、稳健性等特点。第12~17章集中阐述速度层,让读者更明确地了解NoSQL数据库、流处理和管理增量计算的复杂性。第18章通过综合回顾Lambda架构的相关知识,帮助读者了解增量批处理、基本Lambda架构的变种,以及如何充分利用资源。

作者简介

——————————

Nathan Marz Cascalog和Storm的创始人。在2011年Twitter收购社交媒体数据分析公司BackType前,他是BackType首席工程师。在Twitter,他建立了流计算团队,提供和开发共享基础设施,为整个公司的关键实时应用提供支持。他目前是Stealth startup的创始人。
James Warren Storm8的分析架构师,精通大数据处理、机器学习和科学计算。
译者简介
马延辉,资深Hadoop技术专家,对Hadoop生态系统相关技术有着深刻的理解,在Hadoop开发和运维方面积累了丰富的经验。曾就职于阿里、Answers.com、暴风等互联网公司,从事Hadoop相关的研发和运维工作,对大数据技术的企业级落地、研发、运维和管理有着深刻的理解和丰富的实战经验。开源HBase监控工具Ella作者。现在致力于大数据技术在传统行业的落地和大数据技术的普及和推广。
向磊,前暴风影音数据平台架构师,目前在某垂直电商平台担任技术总监,惠普中国Hadoop相关课程讲师。开源项目EasyHadoop、phpHiveAdmin作者,对Hadoop及其周边生态系统的底层运维及开发、集群自动化运维、网络架构设计、集群安全、性能优化、嵌入式编程方面有较深入了解。
魏东琦,博士,长期从事软件研发工作,现就职于中国地质调查局西安地质调查中心,参加、承担过多项科研项目。现致力于地质行业与大数据技术融合的相关研究工作。

目录

——————————

译 者 序
前言
关于本书
致谢
第1章大数据的新范式1
1.1本书是如何组织的2
1.2扩展传统数据库3
1.2.1用队列扩展3
1.2.2通过数据库分片进行扩展4
1.2.3开始处理容错问题4
1.2.4损坏问题5
1.2.5到底是哪里出错了5
1.2.6大数据技术是如何起到帮助作用的5
1.3NoSQL不是万能的6
1.4基本原理6
1.5大数据系统应有的属性7
1.5.1鲁棒性和容错性7
1.5.2低延迟读取和更新8
1.5.3可扩展性8
1.5.4通用性8
1.5.5延展性8
1.5.6即席查询9
1.5.7最少维护9
1.5.8可调试性9
1.6全增量架构的问题10
1.6.1操作复杂性10
1.6.2实现最终一致性的极端复杂性11
1.6.3缺乏容忍人为错误12
1.6.4全增量架构解决方案与Lambda架构解决方案13
1.7Lambda架构14
1.7.1批处理层15
1.7.2服务层16
1.7.3批处理层和服务层满足几乎所有属性16
1.7.4速度层17
1.8技术上的最新趋势19
1.8.1CPU并不是越来越快20
1.8.2弹性云20
1.8.3大数据充满活力的开源生态系统20
1.9示例应用:SuperWebAnalytics.com21
1.10总结22
第一部分批处理层
第2章大数据的数据模型24
2.1数据的属性25
2.1.1数据是原始的28
2.1.2数据是不可变的30
2.1.3数据是永远真实的33
2.2基于事实的数据表示模型34
2.2.1事实的示例及属性34
2.2.2基于事实的模型的优势36
2.3图模式39
2.3.1图模式的元素39
2.3.2可实施模式的必要性40
2.4SuperWebAnalytics.com的完整数据模型41
2.5总结42
第3章大数据的数据模型:示例44
3.1为什么使用序列化框架44
3.2Apache Thrift45
3.2.1节点46
3.2.2边46
3.2.3属性47
3.2.4把一切组合成数据对象47
3.2.5模式演变48
3.3序列化框架的局限性49
3.4总结50
第4章批处理层的数据存储51
4.1主数据集的存储需求52
4.2为批处理层选择存储方案53
4.2.1使用键/值存储主数据集53
4.2.2分布式文件系统54
4.3分布式文件系统是如何工作的54
4.4使用分布式文件系统存储主数据集56
4.5垂直分区58
4.6分布式文件系统的底层性质58
4.7在分布式文件系统上存储SuperWebAnalytics.com的主数据集60
4.8总结61
第5章批处理层的数据存储:示例62
5.1使用HDFS62
5.1.1小文件问题64
5.1.2转向更高层次的抽象64
5.2使用Pail在批处理层存储数据65
5.2.1Pail基本操作66
5.2.2序列化对象到Pail中67
5.2.3使用Pail进行批处理操作69
5.2.4使用Pail进行垂直分区69
5.2.5Pail文件格式与压缩71
5.2.6Pail优点的总结71
5.3存储SuperWebAnalytics.com的主数据集72
5.3.1Thrift对象的结构化Pail73
5.3.2SuperWebAnalytics.com的基础Pail74
5.3.3用于垂直分区数据集的分片Pail75
5.4总结78
第6章批处理层79
6.1启发性示例80
6.1.1给定时间范围内的页面浏览量80
6.1.2性别推理80
6.1.3影响力分数81
6.2批处理层上的计算82
6.3重新计算算法与增量算法84
6.3.1性能85
6.3.2容忍人为错误86
6.3.3算法的通用性86
6.3.4选择算法的风格87
6.4批处理层中的可扩展性87
6.5MapReduce:一种大数据计算的范式88
6.5.1可扩展性89
6.5.2容错性91
6.5.3MapReduce的通用性92
6.6MapReduce的底层特性94
6.6.1多步计算很怪异94
6.6.2手动实现连接非常复杂94
6.6.3逻辑和物理执行紧密耦合96
6.7管道图—一种关于批处理计算的高级思维方式97
6.7.1管道图的概念97
6.7.2通过MapReduce执行管道图101
6.7.3合并聚合器101
6.7.4管道图示例102
6.8总结103
第7章批处理层:示例104
7.1一个例证105
7.2数据处理工具的常见陷阱106
7.2.1自定义语言107
7.2.2不良的可组合抽象107
7.3JCascalog介绍108
7.3.1JCascalog的数据模型109
7.3.2JCascalog查询的结构110
7.3.3查询多个数据集111
7.3.4分组和聚合器113
7.3.5对一个查询示例进行单步调试114
7.3.6自定义谓词操作117
7.4组合121
7.4.1合并子查询122
7.4.2动态创建子查询123
7.4.3谓词宏125
7.4.4动态创建谓词宏128
7.5总结130
第8章批处理层示例:架构和算法131
8.1SuperWebAnalytics.com批处理层的设计132
8.1.1所支持的查询132
8.1.2批处理视图132
8.2工作流概述135
8.3获取新数据137
8.4URL规范化137
8.5用户标识符规范化138
8.6页面浏览去重142
8.7计算批处理视图142
8.7.1给定时间范围内的页面浏览量143
8.7.2给定时间范围内的独立访客143
8.7.3跳出率分析144
8.8总结145
第9章批处理层示例:实现147
9.1出发点147
9.2准备工作流148
9.3获取新数据149
9.4URL规范化152
9.5用户标识符规范化153
9.6页面浏览去重159
9.7计算批处理视图159
9.7.1给定时间范围内的页面浏览量159
9.7.2给定时间范围内的独立访客161
9.7.3跳出率分析163
9.8总结165
第二部分服务层
第10章服务层概述168
10.1服务层的性能指标169
10.2规范化/非规范化问题的服务层解决方案172
10.3服务层数据库的需求173
10.4设计SuperWebAnalytics.com的服务层174
10.4.1给定时间范围内的页面浏览量175
10.4.2给定时间范围内的独立访客175
10.4.3跳出率分析176
10.5对比全增量的解决方案177
10.5.1给定时间范围内的独立访客的全增量方案177
10.5.2与Lambda架构解决方案的比较182
10.6总结183
第11章服务层:示例184
11.1ElephantDB的基本概念184
11.1.1ElephantDB中的视图创建185
11.1.2ElephantDB中的视图服务185
11.1.3使用ElephantDB186
11.2创建SuperWebAnalytics.com的服务层188
11.2.1给定时间范围内的页面浏览量188
11.2.2给定时间范围内的独立访客数量191
11.2.3跳出率分析191
11.3总结192
第三部分速度层
第12章实时视图194
12.1计算实时视图195
12.2存储实时视图197
12.2.1最终一致性198
12.2.2速度层中存储的状态总量198
12.3增量计算的挑战199
12.3.1CAP原理的有效性199
12.3.2CAP原理和增量算法之间复杂的相互作用201
12.4异步更新与同步更新202
12.5过期实时视图203
12.6总结205
第13章实时视图:示例206
13.1Cassandra的数据模型206
13.2使用Cassandra208
13.3总结210
第14章队列和流处理211
14.1队列211
14.1.1单消费者队列212
14.1.2多消费者队列214
14.2流处理214
14.2.1队列和工作节点215
14.2.2队列和工作节点的缺陷216
14.3更高层次的一次一个的流处理217
14.3.1Storm模型217
14.3.2保证消息处理221
14.4SuperWebAnalytics.com速度层223
14.5总结226
第15章队列和流处理:示例227
15.1使用Apache Storm定义拓扑结构227
15.2Apache Storm集群及其部署230
15.3保证消息处理232
15.4实现SuperWebAnalytics.com给定时间范围内的独立访客的速度层233
15.5总结237
第16章微批量流处理239
16.1实现有且仅有一次语义240
16.1.1强有序处理240
16.1.2微批量流处理241
16.1.3微批量流处理的拓扑结构242
16.2微批量流处理的核心概念244
16.3微批量流处理的扩展管道图245
16.4完成SuperWebAnalytics.com的速度层246
16.4.1给定时间范围内的页面浏览量246
16.4.2跳出率分析247
16.5另一个跳出率分析示例251
16.6总结252
第17章微批量流处理:示例253
17.1使用Trident253
17.2完成SuperWebAnalytics.com的速度层257
17.2.1给定时间范围内的页面浏览量257
17.2.2跳出率分析259
17.3完全容错、基于内存及微批量处理265
17.4总结266
第18章深入Lambda架构268
18.1定义数据系统268
18.2批处理层和服务层270
18.2.1增量的批处理270
18.2.2测量和优化批处理层的资源使用276
18.3速度层280
18.4查询层281
18.5总结282
[hide] [/hide]



    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

GMT+8, 2025-12-31 19:07