- 定价:¥79.00
- POD价:¥79.00
- 评分:
(已有0条评价)
- 电子书:NoSQL实践指南:基本原则、设计准则及实用技巧[按需印刷]
- 促销活动:
- 我要买:
- ·如此书原封面缺失,印刷将采用出版社授权的新封面;
- ·如电子文件出现问题,可能延长印制周期,我们将提前与您沟通
基本信息
- 原书名:NoSQL for Mere Mortals

编辑推荐
“Mere Mortals”系列教程以清晰、简洁的方式介绍各种基本的数据库技术,并受到全世界读者的赞誉。而今,面对令人兴奋的NoSQL数据库,又一本“Mere Mortals”教程诞生了。本书将引领大家使用NoSQL来解决实际工作中的问题,并发挥出数据库的高度可缩放放性、成本效率、灵活性及可用性等优势。
Dan Sullivan熟悉行业前沿的各种数据库产品,在本书中,他融合自己20多年的工作经验,讲解了键值数据库、文档数据库、列族数据库及图数据库这四类NoSQL数据库的优点、用例及术语。对于每一种数据库,他都给出了务实的开发技巧,以帮助大家构建高价值的应用程序。通过分步讲解的范例,你能够学到如何为每项任务选择合适的数据库,以及怎样用正确的方式来使用该数据库。
本书涵盖下列内容:
入门知识:什么是NoSQL数据库,它们与关系型数据库有什么区别,何时应该使用NoSQL数据库,何时不应该使用它们。
与数据管理有关的原则和设计准则:无沦是创建NoSQL数据库解决方案,还是创建关系型数据库解决方案,都需要用到这些知识。
键值数据库:更有效地利用键值数据库所支持的数据结构。
文档数据库:无纲要的数据库、规范化与去规范化、可变的文档、索引及设计模式。
列族数据库:Google BigTable的设计、数据表的设计、索引的编制、分区技术以及Big Data(大数据)。
图数据库:图模型/网络模型的建模、设计诀窍、查询方法,以及设计时应该避免的陷阱。
内容简介
计算机书籍
本书是NoSQL数据库的入门指南,旨在使你了解何时应该使用NoSQL数据库,何时不应使用它们。通过本书,你不仅能够了解NoSQL数据库,而且还能知道如何运用各种设计原则及实践技巧,以应对数据管理方面的需求。
全书分为七部分,共15章,2个附录。第一部分(第1章和第2章)介绍数据库与需求之间的关系,并概括了NoSQL与传统数据库的异同,以及4种主要的NoSQL产品所具备的特征。第二部分(第3~5章)讲述键值数据库的用法以及使用时所应避免的问题。第三部分(第6~8章)讲解使用范围较为广泛的文档数据库,并说明如何利用文档数据库来有效地实现相关的应用程序。第四部分(第9~11章)介绍大数据应用程序,并讲述列族数据库所能应对的需求。第五部分(第12~14章)讲解图数据库,并给出了一些特别适合用图数据库来解决的用例。第六部分(第15章)详细讲解为应用程序选择数据库时需要考虑的因素。第七部分是附录,附录A列出每章末尾的复习题,以及这些习题的答案;附录B列出许多(但不是全部的)NoSQL数据库,其中很多数据库都是开源或免费使用的。
作译者
目录
前 言
致 谢
引 言
第一部分 入 门
第1章 用不同的数据库应对不同的需求 2
1.1 关系型数据库的设计 3
1.2 早期的数据管理系统 4
1.2.1 平面文件数据管理系统 4
1.2.2 分层数据模型系统 7
1.2.3 网络数据管理系统 9
1.2.4 早期数据管理系统小结 11
1.3 引发变革的关系型数据库 11
1.4 催生NoSQL数据库(非单纯的SQL数据库/非SQL数据库)的动因 18
1.4.1 可伸缩性 18
1.4.2 成本开销 19
1.4.3 灵活性 19
1.4.4 可用性 20
1.5 小结 20
1.6 案例研究 21
译者序
和计算机领域中的其他技术一样,数据库技术的发展在某些方面也是由需求带动的。当前各种应用程序所使用的数据,以及技术人员和商务人员对这些数据所进行的分析,都比关系型数据库占主导地位的那个时代更加丰富。NoSQL技术之所以会引发关注,部分原因就在于它有时能够更好地应对这些灵活多变的数据。
在灵活应对数据这个大前提之下,不同的程序又有不同的侧重点。有些程序适合使用轻量级的数据库,有些程序强调对数据的搜索功能,有些程序需要处理海量的信息,还有一些程序则关注数据之间的联系。于是,NoSQL数据库也形成了四大门类。尽管它们之间的界限并不十分严格,但还是有必要了解这四种产品各自的优点和缺点,以便选出最适合当前任务的数据库。怎样根据程序需求和产品特性选出合适的数据库,正是本书所要讲解的核心问题。
此外,作者也反复强调,NoSQL一词之中的No并不是对关系型数据库的简单否定,而是对它的一种传承和创新。关系型数据库的某些特征、查询语法以及设计思路,同样可以移用到NoSQL数据库之中。作者在全书的多个章节里面,都对这两大体系进行了对比,这些内容或许能给大家理解NoSQL的用法带来一些启发。
讲解数据库技术的《For Mere Mortals》书系一贯以通俗易懂的风格而著称,本书也是如此,凡是对NoSQL感兴趣的人都不妨一读。本书前2章直接指出了数据库与需求之间的关系,并概括了NoSQL与传统数据库的异同,以及4种主要的NoSQL产品所具备的特征。其后12章分为4组,每组内的3章分别讲解某种NoSQL数据库的基础知识、专业术语以及设计技巧。讲解设计技巧时,作者以货运公司所面对的数据管理需求为例,分4个案例来演示4种NoSQL数据库的用法,这4种用法合起来就是最后一章所描绘的那幅NoSQL数据库全景图。了解NoSQL技术的全景之后,读者可以根据本书所提供的参考资料,继续研读其他专著。
因为这是一本通俗读物,所以除了一些难于翻译的术语之外,一般术语都尽量译为中文。同一个术语有2、3种译法的,译文会采用较易理解的一种,并在括号内给出其他称呼,译法过于纷繁的请参见书后的术语表。
翻译本书的过程中,我得到了机械工业出版社华章公司诸位编辑和工作人员的帮助,在此深表谢意。
由于译者水平有限,错误与疏漏之处,请大家发邮件至eastarstormlee@gmail.com,或访问github.com/jeffreybaoshenlee/zh-translation-errata-nosql/issues留言,给我以批评和指教。该网页还有中英文词汇对照表以供参考。
爱飞翔
前言
——亨利·米勒(Henry Miller)
在工作中我们难免会谈到数据。每个人都关注个人数据的隐私权,每家公司都竭力防止网络入侵者盗取数据,而政府部门和商业机构则都对数据非常感兴趣。为了描述数据,IT分析师想出了很多令人眼花缭乱的专业名词,如大数据(Big Data)、流数据(streaming data)、高速数据(high-velocity data)和非结构化数据(unstructured data)等。另外,描述数据存储方式的术语也层出不穷,如数据库(database)、数据存储(data store)、数据仓库(data warehouse)、数据湖泊(data lake)等。有人甚至还造出了数据沼泽(data swamp)这个词。
当其他人都在热烈讨论数据的时候,有一些人需要去收集数据、处理数据、分析数据并管理数据。本书就是为这部分人而写的。
NoSQL数据库是为了应对需求而诞生的。原来的那些数据管理工具在过去几十年里一直都能非常好地应对相关的需求,但现在,它们却无法适应新兴的网络应用程序了。目前的数据管理工具所要应对的最大挑战,并不是令成千上万的商务专家能够使用公司内部的数据库,而是要使Google、Amazon、Facebook及Yahoo!这样的公司能够应对百万级别的网络用户。
从理论上来说,关系型数据模型还是非常坚实的,过去它能够满足我们对数据的需求,而现在,我们则需要对其做出一些改进。网络信息采集(Web crawling)和在线购物管理(online shopping cart management)等专门的网络程序,推动了业界对原有数据模型的改进,同时也催生了一些非关系型数据库,如键值数据库、文档数据库、列族数据库及图数据库等。原有的关系型数据库仍然有其作用,它们并不会为NoSQL数据库所取代。这些NoSQL数据库只是提供了一些额外的选项,以满足用户对性能和功能的不同需求。
本书是NoSQL数据库的入门指南,它旨在使读者了解何时应该使用NoSQL数据库,何时不应使用它们。而在本书中,笔者最想告诉大家的则是怎样根据自己的数据管理需求来明智地使用NoSQL数据库。
与本书有关的幻灯片、章节习题及教学指导手册,可以从Pearson的Instructor Resource Center(IRC)获取,网址是pearsonhighered.com。
致谢
虽然封面上的作者名字只有一个,但本书却是多人协作的成果。感谢Joan Murray编辑构思了这本书的出版计划,并邀请我来执笔。有很多令人尊敬的作者及出版业专家都曾参与For Mere Mortals书系的写作及发行工作,能与他们同列,笔者深感荣幸。
Tonya Simpson耐心而专业的工作使得本书由粗略的初稿变为精美的成品。感谢Pearson公司的Sondra Scott、Cindy Teeters及Mark Renfrow在成书过程中对笔者提供的帮助。感谢本书文字编辑Karen Annett所付出的诸多努力。
感谢技术编辑Theodor Richardson,他甚为周到地处理了书中的细节问题。
在写书过程中,家人始终给我以坚定的支持。
岳父Bill Aiken是我的头号粉丝,他总是给我源源不断的鼓励。
我的孩子Nicole、Charles、Kevin以及他们的伴侣Katie和Sara,也给了我很多支持,感谢你们。
特别要感谢两个儿子Nicholas和James。Nicholas阅读了每一章,并且像阅读教科书那样完成了各章的习题。他指出了书中的不足,并提出了改进建议,使我能够更好地把相关知识点解释清楚。James是一位专业的技术写作者,他帮我撰写了与图数据库有关的章节,并且毫不犹豫地从自己的日程安排中拿出一些时间帮助我完成本书,使相关章节的质量得以改善。
我在过去30年中所取得的专业成就和个人成就,都得益于妻子Katherine始终不渝的支持和关爱,此书也不例外。有些事情,表面上是我独自完成的,但实际上却是两人共同的杰作,这一点外人很难知晓,甚至可能根本就不会意识到。这本书可以算是我们人生旅途中的又一件作品吧。
Dan Sullivan
俄勒冈州波特兰市
2015年