Blue Flower

nosql数据库技术实战是一本NoSQL数据库技术实战书籍手册,本书是腾讯公司前资深后台工程师皮雄军呕心沥血之作,全书介绍NoSQL从基本操作到高级技术和核心原理,再到项目开发的所有重点知识,书中详细讲解了NoSQL的兴起原因、CAP理论、副本之间数据一致性的解决方法和水平扩展方法,并介绍了NoSQL的分类、使用场景及其在实际开发中的技术选型,既对NoSQL系统的理论做了广泛而深入的分析,又重点对Hadoop/HBase、MongoDB和Redis这三种NoSQL系统给出了具体实践,非常适合所有想全面学习NoSQL的人员阅读,也适合各种使用NoSQL进行开发的工程技术人员使用。
202209171910467183150000

内容介绍

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

章节目录

第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大数据采集技术1.3.2大数据预处理技术1.3.3大数据存储及管理技术1.3.4大数据分析及挖掘技术1.3.5大数据展现与应用技术1.4NoSQL简介1.4.1什么是NoSQL1.4.2关系型数据库简史1.4.3数据库分类1.4.4关系型数据库的优势1.4.5不擅长的处理1.4.6NoSQL数据库1.5NoSQL数据库的类型1.5.1键值(Key/Value)存储1.5.2面向文档的数据库1.5.3面向列的数据库1.6如何使用和学习NoSQL数据库1.6.1始终只是一种选择1.6.2在何种程度上信赖它1.7云数据管理第2章NoSQL的数据一致性2.1传统关系数据库中的ACID2.1.1原子性2.1.2一致性2.1.3隔离性2.1.4持久性2.1.5举例2.2CAP理论2.2.1NoSQL系统是分布式系统2.2.2CAP理论阐述2.3AP的例子--DNS系统2.3.1DNS系统2.3.2DNS域名解析过程2.3.3DNS系统是最终一致性的2.4数据一致性模型与BASE2.4.1数据一致性模型2.4.2BASE(BasicallyAvailable,Soft-state,Eventualconsistency)2.5数据一致性实现方法2.5.1Quorum系统NRW策略2.5.2时间戳策略2.5.3向量时钟第3章NoSQL的水平扩展与其他基础知识3.1所有数据存放在一个服务器上3.2分片(Sharding)3.3主从复制3.4对等(PeerToPeer)复制3.5复制和分片的同时使用3.6数据水平扩展的方法总结3.7分片对数据的划分方式3.7.1Range-BasedPartitioning3.7.2Round-Robin3.8一致性hash算法(ConsistentHashing)3.8.1基本场景3.8.2hash算法和单调性3.8.3ConsistentHashing算法的原理3.8.4虚拟节点3.9磁盘的读写特点及五分钟法则3.9.1磁道、扇区、柱面和磁头数3.9.2固态硬盘(SSD):随机读写速度快3.9.3内存:读写速度极快3.9.4五分钟法则3.10不要删除数据第2篇列式NoSQL系统第4章BigTable与Google云计算原理4.1云计算4.1.1云计算的概念4.1.2云计算发展现状4.1.3云计算实现机制4.1.4网格计算与云计算4.2Google文件系统GFS4.2.1系统架构4.2.2容错机制4.2.3系统管理技术4.3并行数据处理MapReduce4.3.1产生背景4.3.2编程模型4.3.3实现机制4.4分布式锁服务Chubby4.4.1Paxos算法4.4.2Chubby系统设计4.4.3Chubby文件系统4.4.4通信协议4.4.5正确性与性能4.5分布式结构化数据表BigTable4.5.1设计动机与目标4.5.2数据模型4.5.3系统架构4.5.4主服务器4.5.5子表服务器4.5.6性能优化第5章Google云计算的开源版本--Hadoop5.1Hadoop简介5.1.1Hadoop发展史5.1.2ApacheHadoop项目及体系结构5.2Hadoop产生的原因5.2.1海量的数据5.2.2数据的存储和分析5.3Hadoop和其他系统的比较5.3.1和关系型数据库管理系统(RDBMS)的比较5.3.2和网格计算的比较5.4HDFS的架构设计5.4.1前提和设计目标5.4.2Namenode和Datanode5.4.3文件系统的Namespace5.4.4数据复制5.4.5文件系统元数据的持久化5.4.6通讯协议5.4.7健壮性5.4.8数据组织5.4.9可访问性5.4.10空间的回收5.5安装Hadoop5.5.1安装JDK1.5.5.2安装Hadoop5.6HDFS操作5.6.1使用FSShell命令操作HDFS5.6.2编程读写HDFS5.7Hadoop中的MapReduce模型5.7.1MapReduce计算模型5.7.2Hadoop中的HelloWorld程序5.7.3运行MapReduce程序15.7.4Hadoop中的HelloWorld程序--新的API5.7.5MapReduce的数据流和控制流5.8Zookeeper5.8.1Zookeeper配置安装5.8.2Zookeeper的数据模型5.8.3Zookeeper的基本使用5.8.4ZooKeeper典型的应用场景5.8.5统一命名服务(NameService)5.8.6共享锁(Locks)5.8.7队列管理5.8.8Zookeeper总结5.9HBase5.9.1简介5.9.2逻辑视图5.9.3物理存储5.9.4系统架构15.9.5关键算法/流程5.10HBase的安装和配置5.11HBase使用例子第3篇Key/ValueNoSQL系统第6章Dynamo:Amazon的高可用键值对存储6.1简介6.2背景6.2.1系统假设和要求6.2.2服务水平协议(SLA)6.2.3设计考虑6.3系统架构6.3.1系统接口6.3.2划分算法6.3.3复制6.3.4版本的数据6.3.5执行get()和put()操作6.3.6故障处理:暗示移交(HintedHandoff)6.3.7处理永久性故障:副本同步6.3.8会员和故障检测6.3.9添加/删除存储节点6.4实现6.5Amazon使用的经验与教训6.5.1平衡性能和耐久性6.5.2确保均匀的负载分布6.5.3不同版本:何时以及有多少6.5.4客户端驱动或服务器驱动协调6.5.5权衡后台和前台任务6.5.6讨论6.6结论第7章LevelDb--出自Google的Key-Value数据库7.1LevelDb简介7.2LevelDb的静态部分7.2.1整体架构7.2.2log文件7.2.3SSTable文件7.2.4MemTable详解7.3LevelDb的动态部分7.3.1写入与删除记录7.3.2读取记录7.3.3Compaction操作7.3.4LevelDb中的Cache7.3.5Version、VersionEdit和VersionSet第8章Redis实战8.1Redis安装与准备8.1.1下载与安装8.1.2配置文件修改8.1.3启动Redis8.1.4停止Redis8.2Redis所支持的数据结构8.2.1String8.2.2List8.2.3Set8.2.4Hash/哈希/散列8.2.5有序集合/Zset8.3Key操作命令8.3.1概述8.3.2命令示例8.4事物8.4.1事物概述8.4.2相关命令8.4.3命令示例28.4.4WATCH命令和基于CAS的乐观锁8.5Redis的主从复制8.5.1Redis的Replication8.5.2Replication的工作原理8.5.3如何配置Replication8.5.4应用示例8.6Redis的持久化8.6.1持久化机制8.6.2RDB机制的优势和劣势8.6.3AOF机制的优势和劣势8.6.4其他8.7Redis的虚拟内存8.7.1简介8.7.2应用场景8.7.3配置8.8pipeline/管线8.8.1请求应答协议和RTT8.8.2管线(pipelining)8.8.3Benchmark28.9实例2第4篇文档型NoSQL系统第9章面向文档的数据库CouchDB9.1CouchDB介绍9.1.1基本概念9.1.2扩展概念9.2CouchDB安装与配置9.3RESTAPI9.3.1数据库RESTAPI9.3.2文档RESTAPI9.3.3视图RESTAPI9.3.4附件RESTAPI29.4为应用建模29.4.1描述实体29.4.2描述一对一和一对多关系9.4.3描述多对多关系9.5实战开发9.5.1开发Web应用9.5.2使用CouchDBjQuery插件9.5.3示例应用建模9.5.4管理文档9.5.5视图9.6高级话题9.6.1权限控制与安全9.6.2文档更新校验9.6.3分组9.6.4键的排序第10章MongoDB实战10.1为什么要使用MongoDB10.1.1不能确定的表结构信息10.1.2序列化可以解决一切问题吗10.1.3无需定义表结构的数据库10.2MongoDB的优势和不足10.2.1无表结构10.2.2容易扩展10.2.3丰富的功能10.2.4性能卓越10.2.5简便的管理10.2.6MongoDB的不足10.3基本概念10.4Linux下MongoDB的安装和配置、启动和停止10.4.1下载10.4.2安装10.4.3启动数据库10.4.4停止数据库10.5创建、更新及删除文档10.5.1连接数据库10.5.2插入记录10.5.3_idkey10.5.4修改记录10.5.5删除记录10.6查询记录10.6.1普通查询10.6.2条件查询10.6.3findOne()语法10.6.4通过limit限制结果集数量10.7高级查询10.7.1条件操作符10.7.2$all匹配所有10.7.3$exists判断字段是否存在10.7.4Null值处理10.7.5$mod取模运算10.7.6$ne不等于10.7.7$in包含10.7.8$nin不包含10.7.9$size数组元素个数10.7.10正则表达式匹配10.7.11JavaScript查询和$where查询10.7.12count查询记录条数10.7.13skip限制返回记录的起点10.7.14sort排序10.7.15游标10.8MapReduce10.8.1Map10.8.2Reduce10.8.3Result10.8.4Finalize10.8.5Options10.9索引10.9.1基础索引10.9.2文档索引10.9.3组合索引10.9.4唯一索引10.9.5强制使用索引10.9.6删除索引10.10性能优化10.10.1explain执行计划10.10.2优化器Profile10.10.3性能优化举例10.11性能监控10.11.1mongosniff10.11.2Mongostat10.11.3db.serverStatus10.11.4db.stats10.11.5第三方工具10.12ReplicaSets复制集10.12.1部署ReplicaSets10.12.2主从操作日志oplog10.12.3主从配置信息10.12.4管理维护ReplicaSets10.12.5增减节点10.13Sharding分片10.13.1建立ShardingCluster10.13.2管理维护Sharding10.14ReplicaSets和Sharding的结合10.14.1创建数据目录10.14.2配置ReplicaSets10.14.3配置3台RouteProcess10.14.4配置ShardCluster10.14.5验证Sharding正常工作第5篇MySQL基础与性能优化第11章MySQL基础11.1CentOS6.5下MySQL的安装11.2MySQL基本命令11.3MySQL数据类型11.3.1整型11.3.2浮点型11.3.3定点数11.3.4字符串(char,varchar,xxxtext)11.3.5二进制数据11.3.6日期时间类型11.3.7数据类型的属性11.4创建数据库和表11.5检索表中的数据11.6多个表的操作3第12章MySQL高级特性与性能优化12.1MySQLServer系统架构12.1.1逻辑模块组成12.1.2各模块工作配合12.2存储引擎12.2.1MySQL存储引擎概述12.2.2MyISAM存储引擎简介312.2.3Innodb存储引擎简介12.3MySQL中的锁定机制12.3.1MySQL中锁定机制概述12.3.2合理利用锁机制优化MySQL12.4索引与优化12.4.1选择索引的数据类型12.4.2索引入门12.4.3索引的类型12.4.4高性能的索引策略12.4.5索引与加锁12.5MySQL的MyISAM和Innodb的Cache优化12.5.1MyISAM存储引擎的Cache优化12.5.2Innodb缓存相关优化12.6MySQL的复制12.6.1复制对于可扩展性的意义12.6.2复制的原理12.6.3体验MySQL复制12.6.4复制的常用拓扑结构12.7可扩展性设计之数据切分12.7.1何谓数据切分12.7.2数据的垂直切分12.7.3数据的水平切分12.7.4垂直与水平联合切分的使用12.7.5数据切分及整合方案12.7.6数据切分与整合中可能存在的问题12.8小结

使用说明

1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读>

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载