新書推薦:
《
大模型应用开发:RAG入门与实战
》
售價:HK$
91.8
《
不挨饿快速瘦的减脂餐
》
售價:HK$
68.8
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
113.6
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
135.7
《
化妆品学原理
》
售價:HK$
57.3
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
48.3
《
爱你,是我做过最好的事
》
售價:HK$
57.3
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
57.3
編輯推薦:
试想,周五你安装并运行了一个新的数据库。周六,你会看到在日常使用中它是什么样子。到了周日,你已经学到了一些技巧,甚至可能让专家们感到惊讶!而下一周,你又会跳到另一个数据库。Ian
Dees告诉我们这样的效率是有可能的。本书言简意赅、直入主题,深入每一种数据库,介绍它们的优势和不足,以及如何选取一种最符合你的应用需求的数据库,探究当前流行和具有代表性的七种数据库技术。你准备好了吗?
內容簡介:
如今,我们要面对和使用的数据正在变得越来越庞大和复杂。如果说数据是新的石油。那么数据库就是油田、炼油厂、钻井和油泵。作为一名现代的软件开发者,我们需要了解数据管理的新领域,既包括RDBMS,也包括NoSQL。
本书遵循《七周七语言》的写作风格和体例,带领你学习和了解当令最热门的开源数据库。在简单的介绍之后,本书分章介绍了7种数据库。这些数据库分别属于5种不同的数据库风格,但每种数据库都有自己保存数据和看待世界的方式。它们依次是PostgreSQL、Riak、Apache
HBase、MongoDB、Apache
CouchDB、Neo4J和Redis。本书将深入每一种数据库,介绍它们的优势和不足,以及如何选取一种最符合你的应用需求的数据库。
本书适合数据库架构师、数据库管理员,以及想要了解和学习各种NoSQL数据库技术的程序员阅读。本书将帮助读者了解、选择和应用这些数据库,从而更好地发挥日益增长的大数据的能力。
關於作者:
Eric
Redmond在软件行业有超过15年的经验,曾在财富500强公司、政府和许多创业公司工作过。他是一个程序员、国际演讲者,也是几个技术团体的积极组织者。
Jim R.
Wilson从13岁就开始编程。他曾在医疗、搜索和市场营销行业的公司中担任过工程师和Web专家。他从2007年开始思考NoSQL数据库,并为大规模的开源项目(如MediaWiki和HBase)贡献了代码。他和妻子Ruth及两个小孩住在马萨诸塞州的利特尔顿,经常在本地的JavaScript和NoSQL会议上演讲。
目錄 :
第1章 概述
1.1 从一个问题开始
1.2 风格
1.3 前进和提升
第2章 PostgreSQL
2.1 这就是Post-greS-Q-L
2.2 第1天:关系、CRUD和联接
2.3 第2天:高级查询、代码和规则
2.4 第3天:全文检索和多维查询
2.5 总结
第3章 Riak
3.1 Riak喜欢Web
3.2 第1天:CRUD、链接和MIME
3.3 第2天:Mapreduce和服务器集群
3.4 第3天:解决冲突和扩展Riak
3.5 总结
第4章 HBase
4.1 介绍HBase
4.2 第1天:CRUD和表管理
4.3 第2天:处理大数据
4.4 第3天:放入云端
4.5 总结
第5章 MongoDB
5.1 其大无比
5.2 第1天:CRUD和嵌套
5.3 第2天:索引、分组和mapreduce
5.4 第3天:副本集、分片、地理空间和GridFS
5.5 总结
第6章 CouchDB
第7章 Neo4j
第8章 Redis
第9章 结束语
附录A 数据库概述表
附录B CAP定理
內容試閱 :
前 言
如果说数据是新的石油,那么数据库就是油田、炼油厂、钻井和油泵。数据存放在数据库中,如果你有兴趣利用它,那么掌握相应的现代化的工具就是好的开始。
数据库是工具,它们是到达终点的手段。每种数据库都有自己保存数据和看待世界的方式。你对它们的理解越多,就越能随心所欲,在日益增长的大数据上,就能更好地利用它们潜在的能力。
为什么是7种数据库
早在2010年3月,我们就想写本关于NoSQL的书。NoSQL这个术语已经聚集了人气,虽然许多人都在谈论,但关于它似乎也存在相当多的困惑。NoSQL到底意味着什么?包含哪些类型的系统?对于开发优秀的软件,它将产生怎样的影响?这些就是我们想要回答的问题,既是为我们自己,也是为别人。
在读了Bruce
Tate的典范性的著作《七周七语言》后,我们知道他做得很对。他循序渐进地介绍语言的方式引起了我们的共鸣。我们觉得用同样的方式讲授数据库,将会提供一个很好的环境,回答这些棘手的NoSQL问题。
本书内容
本书针对的是有经验的开发者,他们希望全面地理解现代数据库的整体情况。本书不要求读者以前在数据库方面有经验,但有数据库经验会有助于学习本书。
在简单的介绍之后,本书分章介绍了7个数据库。这些数据库分属5种不同的数据库类型或风格,这在第1章中有介绍。它们依次是PostgreSQL、Riak、Apache
HBase、MongoDB、Apache CouchDB、Neo4j和Redis。
每章都设计成一个长周末的学习量,分为三天。每天结束时都有一些练习,扩展刚刚介绍的主题和概念。每章最后都有一段总结性的讨论,总结了这种数据库的优点和缺点。你既可以学得快一点,也可以学得慢一点,但重要的是先掌握每天的概念,再继续后面的学习。我们试着设计了一些例子来探索每种数据库的独特之处。要真正理解这些数据库提供的能力,必须花些时间来使用它们,这意味着要动手实践。
虽然你可能想跳过某些章,但我们设想你是按章节顺序阅读这本书的。某些概念,如映射-归约(mapreduce),在前面的章节中深入地进行了介绍,所以在后面的章节中就略过了。本书旨在实现对现代数据库的一致理解,所以建议你完整地阅读本书。
不包含的内容
在阅读本书之前,你应该知道它不包含哪些内容。
本书不是安装指南
安装本书中提到的数据库有时候容易,有时候有些挑战,有时候非常棘手。对于某些数据库,可以使用提供的安装包;而对于另一些数据库,需要编译源代码。我们会不时提供一些有用的提示,但主要还是靠你自己。省略安装步骤让我们能安排更多有用的例子和概念讨论,这才是你真正想要的,对吗?
本书也不是管理手册
出于对安装同样的考虑,本书也不会介绍管理手册里的所有内容。每种数据库都有大量的选项、设置、开关和配置细节,绝大部分都能在Web上找到详尽的文档。我们更关心介绍有用的概念,完全深入进去,而不是仅关注日常操作。虽然数据库的一些特点会根据操作设置而改变(我们可能会讨论这些特点),但由于篇幅有限,我们不可能介绍所有可能配置的全部具体细节。
对Windows用户的说明
本书本身就讨论选择,主要是针对*nix平台上的开源软件。微软的环境作为集成环境有点困难,它限制了许多选择,只留下一个较小的、预定义的子集。因此,我们介绍的数据库是开源的,由*nix系统的用户开发(也主要为他们服务)。这不是我们的偏见,只是当前真实情况的反映。所以,我们假定教程式的例子运行在*nix的shell下。如果你运行Windows并希望给它一个尝试的机会,我们推荐安装Cygwin
,这样更容易成功。你也可以考虑运行一个Linux虚拟机。
代码示例和惯例
本书包含各种语言的代码。部分原因是因为我们介绍的这些数据库本身使用语言不同。我们曾试着将语言局限在RubyJRuby和JavaScript。我们更喜欢命令行工具,而不是脚本语言,但我们会引入其他一些语言来完成工作,如PLpgSQL(Postgres)和GremlinGroovy(Neo4j)。我们也会尝试使用Node.js,编写一些服务器端的JavaScript应用。
除非特别注明,代码清单都是完整的,通常可以直接执行。根据所涉及的语言规则,突出了示例和代码片段中的语法。shell命令以$开始。
在线资源
本书的Pragmatic
Bookshelf页面是很好的资源。从上面可以下载本书中的所有源代码。你也会找到一些反馈工具,如社区论坛和勘误提交,你可以通过它们对本书未来的版本提出改进建议。
感谢你陪伴我们完成现代数据库的观光之旅。
Eric Redmond和Jim R. Wilson