当前位置:首页 > 数据库 >
《大数据系统构建》电子书封面

大数据系统构建

  • 发布时间:2020年06月05日 09:53:59
  • 作者:南森·马茨(Nathan Marz),詹
  • 大小:100 MB
  • 类别:大数据电子书
  • 格式:PDF
  • 版本:高清版
  • 评分:7.2

    大数据系统构建 PDF 高清版

      给大家带来的一篇关于大数据相关的电子书资源,介绍了关于大数据、大数据系统方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小100 MB,南森·马茨(Nathan Marz),詹编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.4。

      内容介绍

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

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

      目录

      • 译 者 序
      • 前  言
      • 关于本书
      • 致  谢
      • 第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.3 NoSQL不是万能的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.7 Lambda架构14
      • 1.7.1 批处理层15
      • 1.7.2 服务层16
      • 1.7.3 批处理层和服务层满足几乎所有属性16
      • 1.7.4 速度层17
      • 1.8 技术上的最新趋势19
      • 1.8.1 CPU并不是越来越快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.4 SuperWebAnalytics.com的完整数据模型41
      • 2.5 总结42
      • 第3章 大数据的数据模型:示例44
      • 3.1 为什么使用序列化框架44
      • 3.2 Apache 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.1 Pail基本操作66
      • 5.2.2 序列化对象到Pail中67
      • 5.2.3 使用Pail进行批处理操作69
      • 5.2.4 使用Pail进行垂直分区69
      • 5.2.5 Pail文件格式与压缩71
      • 5.2.6 Pail优点的总结71
      • 5.3 存储SuperWebAnalytics.com的主数据集72
      • 5.3.1 Thrift对象的结构化Pail73
      • 5.3.2 SuperWebAnalytics.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.5 MapReduce:一种大数据计算的范式88
      • 6.5.1 可扩展性89
      • 6.5.2 容错性91
      • 6.5.3 MapReduce的通用性92
      • 6.6 MapReduce的底层特性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.3 JCascalog介绍108
      • 7.3.1 JCascalog的数据模型109
      • 7.3.2 JCascalog查询的结构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.1 SuperWebAnalytics.com批处理层的设计132
      • 8.1.1 所支持的查询132
      • 8.1.2 批处理视图132
      • 8.2 工作流概述135
      • 8.3 获取新数据137
      • 8.4 URL规范化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.4 URL规范化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.1 ElephantDB的基本概念184
      • 11.1.1 ElephantDB中的视图创建185
      • 11.1.2 ElephantDB中的视图服务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.1 CAP原理的有效性199
      • 12.3.2 CAP原理和增量算法之间复杂的相互作用201
      • 12.4 异步更新与同步更新202
      • 12.5 过期实时视图203
      • 12.6 总结205
      • 第13章 实时视图:示例206
      • 13.1 Cassandra的数据模型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.1 Storm模型217
      • 14.3.2 保证消息处理221
      • 14.4 SuperWebAnalytics.com速度层223
      • 14.5 总结226
      • 第15章 队列和流处理:示例227
      • 15.1 使用Apache Storm定义拓扑结构227
      • 15.2 Apache 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

      学习笔记

      30个mysql千万级大数据SQL查询优化技巧详解

      1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!=或操作符,否则引擎将放弃使用索引而进行全表扫描。 4.应尽量避免在 where 子句中使用or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num=10 or num=20可以这样查询:select id from t where num=10 union all select id from t where num=20 5.in 和……

      为什么入门大数据选择Python而不是Java?

      马云说:“未来最大的资源就是数据,不参与大数据十年后一定会后悔。”毕竟出自wuli马大大之口,今年二月份我开始了学习大数据的道路,直到现在对大数据的学习脉络和方法也渐渐清晰。今天我们就来谈谈学习大数据入门语言的选择。当然并不只是我个人之见,此外我搜集了各路大神的见解综合起来跟大家做个讨论。 java和python的区别到底在哪里? 官方解释:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序……

      mysql大数据查询优化经验分享(推荐)

      正儿八经mysql优化! mysql数据量少,优化没必要,数据量大,优化少不了,不优化一个查询10秒,优化得当,同样查询10毫秒。 这是多么痛的领悟! mysql优化,说程序员的话就是:索引优化和where条件优化。 实验环境:MacBook Pro MJLQ2CH/A,mysql5.7,数据量:212万+ ONE: select * from article INNER JOIN ( SELECT id FROM article WHERE length(content_url) 0 and (select status from source where id = article.source_id)=1 and (select status from category where id = article.category_id)=1 and status = 1 and id 2164931 order by stick desc,pub_time desc limit 240,15 ) AS tUSING(id); 咋一看,大佬肯定会想杀了我,没事做啥自关联,还是inner join。XX楼的,把我的杀猪刀拿来,我要宰了博主!……

      jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)

      select2是一款jQuery插件,是普通form表单select组件的升级版。 可以定制搜索、远程数据集(Remote data,本篇主要介绍点)、无限滚动(数据分页功能,这一点很妙)、还有很多高端的参数设置(有需要的下次介绍)。 内置了40种国际化语言,不过这里我们只需要用到中文。 同时支持现代和传统浏览器内置,甚至包括惹人不高兴的IE8。 那么,现在让我们开始一段select2的奇幻之旅吧! 一、惊艳的效果,来一睹为快吧 本地实战结果 二、导入css和js到网站上 1.使用CDN,节省自己网站的流量 link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="external nofollow" rel="stylesheet" /script src="https://cdnjs.cloudf……

      python使用pandas处理大数据节省内存技巧(推荐)

      一般来说,用pandas处理小于100兆的数据,性能不是问题。当用pandas来处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败。 当然,像Spark这类的工具能够胜任处理100G至几个T的大数据集,但要想充分发挥这些工具的优势,通常需要比较贵的硬件设备。而且,这些工具不像pandas那样具有丰富的进行高质量数据清洗、探索和分析的特性。对于中等规模的数据,我们的愿望是尽量让pandas继续发挥其优势,而不是换用其他工具。 本文我们讨论pandas的内存使用,展示怎样简单地为数据列选择合适的数据类型,就能够减少dataframe近90%的内存占用。 处理棒球比赛记录数据 我们将处理13……

      以上就是本次介绍的大数据电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:每天5分钟玩转OpenStack

      下一篇:计算机字符编码:Unicode与Windows

      展开 +

      收起 -

      下载地址:百度网盘下载
      大数据相关电子书
      数据产品经理修炼手册:从零基础到大数据产品实践
      数据产品经理修炼手册:从零基础到大数据产品实践 超清版

      《数据产品经理修炼手册从零基础到大数据产品实践》共8章,全方位和详细地详细介绍了统计数据产品运营的日常事务、必须的基本知识和常见的统计分析方法,也详细介绍了数据仓库的基础

      立即下载
      架构大数据:大数据技术及算法解析
      架构大数据:大数据技术及算法解析 影印完整版 立即下载
      触手可及的大数据分析工具:Tableau案例集
      触手可及的大数据分析工具:Tableau案例集 高清扫描版

      《触手可及的大数据分析工具:Tableau案例集》对Tableau的产品、优势、Tableau 9.0的新特性及其功能做了全面的介绍,并且从15个不同行业的案例入手,让你在阅读本书后能够从一个新手成长为能

      立即下载
      大数据挖掘:系统方法与实例分析
      大数据挖掘:系统方法与实例分析 高清版

      大数据挖掘:系统方法与实例分析 是大数据挖掘领域的扛鼎之作,由全球科学计算领域的领导者MathWorks(MATLAB公司)官方的资深数据挖掘专家撰写,MathWorks官方及多位专家联袂推荐。 它从技术

      立即下载
      大数据Spark企业级实战
      大数据Spark企业级实战 完整影印版

      Spark是现如今互联网大数据行业最活跃性、最受欢迎、最高效率的互联网大数据通用性测算服务平台,是Apache手机软件慈善基金会下全部开源网站项目中几大*开源网站项目之首。 在OneStacktoru

      立即下载
      实战大数据:MATLAB数据挖掘详解与实践
      实战大数据:MATLAB数据挖掘详解与实践 原书扫描版

      这是一本真正具备中国特色的数据挖掘手册,各种常规方法一应俱全,作者是高校教授,同时也是若干公司的数据挖掘顾问,难得的理论储备与实践经验都十分深厚,表达能力也很强,也了解痛点。基于这些背景创作的这本书,非常好。感兴趣的可以下载学习

      立即下载
      物联网大数据处理技术与实践
      物联网大数据处理技术与实践 全书超清版 立即下载
      Druid实时大数据分析原理与实践
      Druid实时大数据分析原理与实践 高清版

      Druid 作为一款开源的实时大数据分析软件,最近几年快速风靡全球互联网公司,特别是对于海量数据和实时性要求高的场景,包括广告数据分析、用户行为分析、数据统计分析、运维监控分析

      立即下载
      读者留言
      卢明轩PhD

      卢明轩PhD 提供上传

      资源
      30
      粉丝
      34
      喜欢
      148
      评论
      6

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com