欢迎光临
免费的PDF电子书下载网站

NoSQL数据库技术实战 PDF下载

编辑推荐

腾讯公司前资深后台工程师呕心沥血之作,大数据时代开发者必读佳品

全面介绍NoSQL从基本操作到高级技术和核心原理,再到项目开发的所有重点知识

详解NoSQL的兴起、CAP理论、副本之间数据一致性的解决方法和水平扩展方法,并介绍了NoSQL的分类、使用场景及其在实际开发中的技术选型

既对NoSQL系统的理论做了广泛而深入的分析,又重点对Hadoop/HBase、MongoDB和Redis这三种NoSQL系统给出了具体实践

注重实战,对三种NoSQL类型的开源系统的实现给出了详细的解释,并提供了实际可运行的程序,还对其优化做了丰富的阐述

推荐阅读(请点击链接):

Oracle数据库管理从入门到精通+Oracle PL/SQL从入门到精通(套装全2册)

《OpenStack开源云王者归来——云计算、虚拟化、Nova、Swift、Quantum与Hadoop》

《Oracle数据库管理从入门到精通》

《Oracle PL/SQL从入门到精通》 (PL/SQL经典畅销书

《SQL Server 2012王者归来:基础、安全、开发及性能优化》

《我和数学有约——趣味数学及算法解析》

《程序员的数学思维修炼(趣味解读)》

 ;

内容简介

本书由浅入深,全面系统地介绍了NoSQL系统。本书既对NoSQL系统的理论进行了深入浅出的分析,又介绍了每一种NoSQL数据库在业界广泛应用的一个具体系统,理论与实战并重。
  本书共分5篇,12章。涵盖的内容有:NoSQL与大数据简介、NoSQL的数据一致性、NoSQL的水平扩展与其他基础知识、BigTable与Google云计算原理、Google云计算的开源版本——Hadoop、Dynamo:Amazon的高可用键值对存储、LevelDb——出自Google的Key-Value数据库、Redis实战、面向文档的数据库CouchDB、MongoDB实战、MySQL基础、MySQL高级特性与性能优化。
  本书涉及面广,从基本操作到高级技术和核心原理,再到项目开发,几乎涉及NoSQL系统的所有重要知识。本书适合所有想全面学习NoSQL的人员阅读,也适合各种使用NoSQL进行开发的工程技术人员使用。
NoSQL与大数据简介
NoSQL的数据一致性

作者简介

皮雄军,平台开发者和研究者、开源精神的忠实拥趸。曾经在腾讯公司和三星等知名公司担任资深后台工程师。从事NoSQL开发和研究工作多年,对NoSQL系统有深刻的认识,在NoSQL原理、技术选型和开发方面有丰富的实战经验和成功案例。

NoSQL数据库技术实战 PDF下载

目录

第1篇NoSQL的兴起与理论基础
第1章NoSQL与大数据简介
1.1引子--NoSQL在国内使用的案例
1.1.1新浪微博
1.1.2淘宝数据平台
1.1.3视觉中国网站
1.1.4优酷运营数据分析
1.1.5飞信空间
1.1.6豆瓣社区
1.2大数据
1.2.1大数据的度量单位
1.2.2大数据的特点
1.3大数据相关技术
1.3.1大数据采集技术

媒体评论

  ★目前,开源社区出现了各种各样的NoSQL系统,这给开发者造成了一定的选择困难。本书高屋建瓴,详细讲述了NoSQL的分类及各类NoSQL系统的适用场景,为读者在实际开发中的技术选型提供了良好的指导。

  ——云监控前负责人赵耀

  ★目前,图书市场上的NoSQL书籍要么偏重理论,要么只讲操作,类似于用户手册,这都显得比较枯燥。本书理论与实践并重,带给读者NoSQL系统的完整认识。

  ——云平台总监于磊

前沿

“数据是21世纪最有价值的资产,它比黄金和石油更有价值”。随着大数据时代的来临,传统的关系型数据库在可扩展性、数据模型和可用性方面遇到了难以克服的障碍。此时各种NoSQL系统出现了。它们的特点各不相同,分别应用于不同的场景并迅速取得了巨大的成功。作为一名从事后台开发多年的工作者,我对每一种新技术的出现与应用都充满了渴望与期待,其中NoSQL解决了我实际工作中遇到的许多问题。NoSQL具有下面几方面的优点:

  1.灵活的可扩展性
  多年以来,数据库管理员们都是通过“垂直扩展”的方式(当数据库的负载增加的时候,购买更大型的服务器来承载增加的负载)来进行扩展的,而不是通过“水平扩展”的方式(当数据库负载增加的时候,在多台主机上分配增加的负载)来进行扩展。但是,随着请求量和可用性需求的增加,数据库也正在迁移到云端或虚拟化环境中,“水平扩展”的经济优势变得更加明显了,对各大企业来说,这种“诱惑”是无法抗拒的。
  要对RDBMS(关系型数据库,比如Oracle)做“水平扩展”,并不是很容易。但是各种新类型的NoSQL数据库主要是为了进行透明的扩展,来利用新节点而设计的,而且,它们通常都是为了低成本的commodity hardware而设计的。
  2. 轻松应对海量数据
  在过去的十年里,正如请求量发生了翻天覆地的增长一样,需要存储的数据量也发生了急剧的膨胀。为了满足数据量增长的需要,RDBMS的容量也在日益增加,但是,对一些企业来说,随着请求量的增加,单一数据库能够管理的数据量也变得越来越让人无法忍受了。现在,大量的“大数据”可以通过NoSQL系统(如MongoDB)来处理,它们能够处理的数据量远远超出了最大型的RDBMS所能处理的极限。
  3. 维护简单
  在过去的几年里,虽然一些RDBMS供应商们声称在可管理性方面做出了很多的改进,但是高端的RDBMS系统维护起来仍然十分昂贵,而且还需要训练有素的DBA们的协助。DBA们需要亲自参与高端的RDBMS系统的设计、安装和调优。
  NoSQL数据库从一开始就是为了降低管理方面的要求而设计的:从理论上来说,自动修复,数据分配和简单的数据模型的确可以让管理和调优方面的要求降低很多。
  4. 经济
  NoSQL数据库通常使用廉价的Commodity Servers集群来管理膨胀的数据和请求量,而RDBMS通常需要依靠昂贵的专有服务器和存储系统来做到这一点。使用NoSQL,每GB的成本或每秒处理的请求的成本都比使用RDBMS的成本少很多,这可以让企业花费更低的成本存储和处理更多的数据。
  5. 灵活的数据模型
  对于大型的生产性RDBMS来说,变更管理是一件很令人头痛的事情。即使只对一个RDBMS的数据模型做出很小的改动,也必须要十分小心的管理,也许还需要停机或降低服务水平。NoSQL数据库在数据模型约束方面是更加宽松的,甚至可以说并不存在数据模型的约束。NoSQL的Key/Value数据库和文档型数据库可以让应用程序在一个数据元素里存储任何结构的数据。即使是规定更加严格的基于“大表”的NoSQL数据库(如HBase)通常也允许创建新列,这并不会造成什么麻烦。
  应用程序变更和数据库模式的变更并不需要作为一个复杂的变更单元来管理。从理论上来说,这可以让应用程序迭代的更快,但是,很明显,如果应用程序无法维护数据的完整性,那么这也会带来一些不良的副作用。
  本书的诞生
  在当前的图书市场上,还没有一本全面而深入介绍NoSQL系统的图书。要么只有理论内容并且大部分并不全面,要么千篇一律把某个NoSQL系统的操作一一罗列。为了让众多的NoSQL学习人员能够更加全面和深入地学习NoSQL技术,笔者编写了本书。本书从系统的角度出发,既深入讲解NoSQL的产生原因与理论基础,又对三种典型NoSQL系统引入了丰富的实战,使读者可以全面而深入地了解各种NoSQL,知道各个NoSQL和MySQL系统的联系和不同,在实际中根据自己的情况进行正确的技术选型。
  本书特色
  1.内容全面、新颖
  本书内容全面而新颖,既对NoSQL系统的理论进行了深入浅出的分析,又深入讲解了列式的、Key/Value的和文档类型这三种NoSQL系统,最后还讲解了MySQL的性能 优化。
  2.讲解由浅入深,循序渐进
  本书是一本入门图书,如果你从来没有用过NoSQL系统,那么本书正好适合你。本书也是一本深入讲解NoSQL的图书,它将各种NoSQL系统联系起来并分析各自的相同点和不同点,读完之后你一定会对NoSQL系统有一个高屋建瓴的认识。
  3.理论与实践并重
  本书对NoSQL系统的产生原因和理论基础做了广泛而深入的分析,让读者知其然,更知其所以然。书中尽力消除初学者学习NoSQL系统时容易遇到的障碍,变抽象为具体,变复杂为简单。而且重点对Hadoop/HBase、MongoDB和Redis这三种NoSQL系统都给出了具体实践。
  4.图文并茂,容易理解
  本书针对NoSQL系统中的一些架构和较难理解的概念,提供了大量的插图,并结合具体文字来讲解,非常直观,更有利于读者的学习与理解。
  5.语言通俗易懂
  本书不使用那些让人难以理解的语言来分析问题,而是采用通俗易懂的语言去讲解NoSQL系统的相关知识,让读者能够真正了解NoSQL技术,继而在开发中使用这些技术。
  本书内容
  第1篇 NoSQL的兴起与理论基础(第1~3章)
  本篇介绍了大数据时代NoSQL的兴起原因及NoSQL的理论基础,包括NoSQL与大数据简介,NoSQL系统的分类和特点,各种数据一致性模型的定义、原理、实现、举例及适用场景,NoSQL系统水平扩展的方法,主要是复制和分区技术的难点、在实际系统中的运用及和数据一致性的关系,最后简单介绍了其他杂项知识比如五分钟法则等。这些内容都是学习后续章节所必须要掌握的基础知识,后续章节中的实际NoSQL系统如Redis可以看成是这些理论知识的运用。
  第2篇 列式NoSQL系统(第4、5章)
  本篇主要介绍了列式NoSQL系统。首先以Google的BigTable为例介绍了列式NoSQL系统的特点、原理和应用。然后实战演练开源的HBase系统。由于HBase与Hadoop、Zookeeper等有着十分密切的关系,因此对其一并进行了介绍。
  第3篇 Key/Value NoSQL系统(第6~8章)
  本篇主要介绍了Key/Value NoSQL系统。首先以Amazon的Dynamo为例介绍了Key/Value系统的特点、原理和应用场景,并详细描述了这个系统是如何运用本书第1篇中的理论知识而构建的。然后介绍了另一个来自Google的LevelDB系统,最后实战演练了被广泛使用的Redis系统。
  第4篇 文档型 NoSQL系统(第9、10章)
  本篇主要介绍了文档型NoSQL系统。首先以CouchDB为例介绍了文档型NoSQL的特点、原理和应用场景,然后实战演练了被广泛使用的MongoDB系统。
  第5篇 MySQL基础与性能优化(第11、12章)
  本篇主要介绍了目前在互联网公司被广泛使用的MySQL关系型数据库。虽然在大数据时代NoSQL将会占据数据处理技术的主流,但是传统的MySQL在一些应用场景仍有着自己的优势。所以本篇开始先介绍了一些MySQL的基础知识,然后详细描述了其高级特性,最后介绍了MySQL的性能优化、复制技术、垂直扩展、水平扩展和综合应用。
  本书读者对象
  * 没有基础的NoSQL初学者;
  * 互联网公司高并发系统的后台开发人员;
  * 大数据、NoSQL开发爱好者;
  * 刚入职的初中级程序员;
  * 高等院校师生;
  * 相关培训班的学员。

免费在线读

第3章 NoSQL的水平扩展与其他基础知识

NoSQL数据库兴起的主要驱动力是其能运行在大型集群上。随着数据量的增加,垂直扩展(Scale Up)——购买性能更好的服务器运行的数据库变得更加困难和昂贵。一个更有吸引力的选择是水平扩展,将数据库运行在更多的机器组成的集群上。
采用水平扩展可以处理更大的数据请求量,即更多的读取或写入请求,或者在网络不好的情况下获得更高的可用性,这取决于如何选择数据分布模型。能处理更大的请求量,获得更高的可用性是非常重要的,但它们也有代价:数据库必须运行在一个集群上,而这带来了复杂性,所以如果好处不是足够吸引人的话,请不要这么做。
总体上,有两条水平扩展NoSQL数据库的方式:复制和分片。
复制是将一份相同的数据复制到多个节点上。分片是将数据分成各不相同的几份并在不同节点上存放不同的数据。复制与分片是正交的:你可以使用其中的一种或同时使用两种。复制有两种形式:主从复制和对等(Peer to Peer)复制。本章我们将从简单到复杂逐步的讨论这些技术:首先是讨论所有数据存放在单个服务器,然后探讨主从复制,然后是分片,最后是对等复制。
讨论完复制技术以后,本章将会讨论一些其他基础知识,主要是磁盘的读写特点、五分钟法则和永远不要删除数据。
3.1 所有数据存放在一个服务器上
最简单并且是最推荐的数据分布方式是:将数据库运行在一台机器上,不做任何数据复制和分片。这台机器处理所有到数据存储区的读取和写入请求。这种数据分布方式最被推荐的原因很简单:它消除了所有其他选择引入的复杂性,很容易让运维人员管理,应用程序开发人员使用起来也很方便。
虽然很多NoSQL数据库是以能运行在一个集群上为设计目标的,但是如果将所有数据都存放在一台服务器上能够满足所有应用程序的需求(这主要取决于数据量和读写的访问请求数),那么我们就可以采用这种方式。
在本章的其余部分,我们将讨论各种数据分布的优势和劣势。不要认为这些复杂的数据分布方式更好,如果能够满足需求的话,我们应始终选择单服务器方式。

NoSQL数据库技术实战 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:NoSQL数据库技术实战