这是一本适合新手看的nosql数据入门书籍,初学者可以看看TUiN灵程序设计M钙NOSAL…… NOT ONLY SQL数据库入门”·”········”····“”··”“““,““““,““““““““““上““““““““[日]佐佐木达也著罗勇译人民邮电出版社北京前言最近,到处都能听到“ NOSQL”,这个词到底是什么意思呢?“ NOSQL”到底能给我们带来什么好处呢?现在,提起数据存储,一般都是针对关系型数据库来说的。但是,关系型数据库并不是万能的,它对于某些处理依然是很吃力的。本书所讲述的 NOSQL数据库就是为了弥补关系型数据库的不足应运而生的。在适当的情况下使用 NOSQL数据库,可以为关系型数据库需要耗费大量时间才能完成的处理,提供高速、合理的解决方案预想的适用情况NOSQL数据库可用于:口取代关系型数据库的弱势处理(比如大量数据的写入处理等)口作为关系型数据库之外的另一种选择NOSQL数据库虽然可以替关系型数据库分担一些难题(如大量数据的写入等),但这其中的操作具有相当的难度。因此本书仅仅将NSOL定位为“关系型数据库之外的另一种选择读者对象本书面向的读者群为有1年关系型数据库开发经验的软件工程师和程序员。因为他们对数据量的增大给关系型数据库的检索和更新处理带来的剧烈性能恶化有切身感受,也能更深刻地理解 NOSQL数据库的优势。本书将为读者介绍 NOSQL数据库以及使用 NoSQL数据库所带来的便利本书内容本书共由5章内容组成,下面对各章内容做一个简单的介绍。第1章首先介绍什么是 NOSQL以及这个词的来源。之后,会介绍关系型数据库的发展历史、关系型数据库的优势和不足,以及 NOSQL数据库诞生的背景,以便使读者了解 NOSQL数据库的发展历史。这一章亦会对 NOSQL数据库的种类和特征做简单讲解。同时阐述“怎么样才能更好地区别使用关系型数据库和 NoSQL数据库”,为 NOSQL数据库的引入奠定基础。2(前言第2章将会讲述 memcached、 Tokyo Tyrant、 Redis和 Mongodb这4种 NoSQL数据库,介绍这些 NOSQL数据库各自的使用背景、特征和用例,以及它们的实际应用。通过本章的介绍,读者能够了解 NoSQL数据库的基本使用方法。第3章对上述4种 NoSQL数据库的应用实例以及实现代码进行具体的介绍。这一章将使大家对这4种 NOSQL数据库能解决的具体、实际的问题有所了解,让 NoSQL数据库成为解决问题的选择之一。虽然本章涉及的各个实例都可以用关系型数据库来实现,但是使用 NosQI数据库能够获得更快的响应,同时简单的操作也给使用者带来更大的便利。第4章对上述4种 NOSQL数据库的性能进行比较。本章不仅会进行与基本CRUD处理(创建、检索、更新、删除)相关的性能比较,而且还会着眼于一些具体实例,例如像 Tokyo Ty-rant的 addin方法和incr方法的性能比较, Redis的list类型的插入和删除的性能比较,以及MySQL的jin和 MongoDB的 embed的性能比较等。第5章对 NoSQL数据库在实际应用中的问题点,以及 Handler Socket解决方案进行介绍。它虽然和 NOSQL数据库略有一点不同,却是个非常有意思的解决方案,有利于读者们开阔视野。版权声明NOSQL DATABASE FIRST GUIDE⊙2011 Tatsuya SasakiAll rights reserved.Original Japanese edition published in 2011 by SHUWASYSTEM Co, LtdSimplified Chinese Character translation rights arranged with SHUW ASYSTEM Co, Ltdthrough Owls Agency Inc, Tokyo本书中文简体字版由 SHUWASYSTEM CO.,Ltd授权人民邮电出版社独家出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。版权所有,侵权必究目录第⊥章NSQL数据库的基础知识1.1关系型数据库和 NOSQL数据库1.1,1什么是 NOSQL1.1.2关系型数据库简史…22231.1.3数据库的分类……1.1.4关系型数据库的优势……1.1.5关系型数据库的不足…35591.16 NoSQI数据库··,,,,,·,,,··,,,·,,,,·,,,,,.,,,,,,·,,,,1.2 NOSoL数据库是什么12l.2.1键值存储…131.2.2面向文档的数据库……………………………………………………………141.2.3面向列的数据库141.3如何导入 NOSQL数据库161.3.1始终只是其中一种选择161.3.2在何种程度上信赖它?18第2弯NsQ数据库的种类和特征2. 1 memcached(临时性键值存储)…20目录)2.1.1什么是 memcached…202.1.2为什么要使用 memcached…………………………202.1.3特征和用例………………………………………212.1.4安装步骤·272.1.5动作确认………………………………………………………292.1.6各种开发语言需要用到的程序库……………………362.1.7相关工具………372.2 Tokyo Tyrant(永久性键值存储)……………………………442.2.1什么是 Tokyo Tyrant………………………………442.22为什么要使用 Tokyo Tyrant…2.2.3特征和用例442.2.4安装步骤………………………………………………………482.2.5动作确认…502.2.6各种开发语言需要用到的程序库………………………………582.2.7相关工具…………………582.3 Redis(临时性/持久性键值存储)……612.3.1什么是 Redis…………………………………………6123.2为什么要使用 Redis……612.3.3特征和用例…………………………672.3.4安装步骤…………,,,,,·,,,,,,,,,、,,,·,,.,,,2.3.5动作确认……722.3.6各种开发语言需要用到的程序库2.4 MongoDB(面向文档的数据库822.4.1什么是 MongodB…822.4.2为什么要使用 MongodB……822.4.3特征和用例……………………,,·,,,,,,,,,.,,,,,,,,,,,,.,,,,·.,.,,,·,·…842.4.4安装步骤872.4.5动作确认…882.4.6各种开发语言需要用到的程序库1002.4.7相关工具100(目录)3第3章试用 NOSQL数据库1033.1 memcached的具体使用实例….1043.L1例①关系型数据库的缓存…1043.1.2例②音乐视听排行网站……1123.13例③外部API的缓存…………………………1193.2 Tokyo Tyrant具体使用实例……1203.3 Redis的具体应用实例…………………1303.3.1例①时间线( Time Line)形式的Web应用1303.3.2例②查询历史记录………………1443.4 MongoDB的具体使用实例…………………….15134.1例①问卷调查数据的保存…15134.2例②解析数据的存储……………………165第性能验证1674.1基本的插入和查询处理的性能……1684.1.1假定案例…………1684.12准备工作…………………………………………1714.13插入处理的性能…1724.14查询的性能…17242不同实例的性能比较…………………………1754.2.1 Tokyo Tyrant的 addin方法和incr方法1754.2.2对Reds的列表类型的数据进行添加和删除……1774.2.3 MySQL的JON和 MongoDB的 embed…………1784(目录)第5章NSQL化的关系型数据库1835.1关于NoSL数据库………………………………………………1845.1.1各种 NoSQL数据库的特征1845.12运行时的开销以及经验不足的问题……1855.1.3将 MySQL数据库 NOSQL化的方法1855.2尝试使用 HandlerSocket………………………1875.2.1特征………18752.2为 My SQL安装 Handler Socket……………………………1885.2.3动作确认1915.2.4 HandlerSocket的性能…………………197