首 頁
手機版

nosql數(shù)據(jù)庫技術實戰(zhàn) 皮雄軍 pdf掃描版

nosql數(shù)據(jù)庫技術實戰(zhàn)是一本NoSQL數(shù)據(jù)庫技術實戰(zhàn)書籍手冊,本書是騰訊公司前資深后臺工程師皮雄軍嘔心瀝血之作,全書介紹NoSQL從基本操作到高級技術和核心原理,再到項目開發(fā)的所有重點知識,書中詳細講解了NoSQL的興起原因、CAP理論、副本之間數(shù)據(jù)一致性的解決方法和水平擴展方法,并介紹了NoSQL的分類、使用場景及其在實際開發(fā)中的技術選型,既對NoSQL系統(tǒng)的理論做了廣泛而深入的分析,又重點對Hadoop/HBase、MongoDB和Redis這三種NoSQL系統(tǒng)給出了具體實踐,非常適合所有想全面學習NoSQL的人員閱讀,也適合各種使用NoSQL進行開發(fā)的工程技術人員使用。

內容介紹

《nosql數(shù)據(jù)庫技術實戰(zhàn)》由淺入深,全面系統(tǒng)地介紹了NoSQL系統(tǒng)。本書既對NoSQL系統(tǒng)的理論進行了深入淺出的分析,又介紹了每一種NoSQL數(shù)據(jù)庫在業(yè)界廣泛應用的一個具體系統(tǒng),理論與實戰(zhàn)并重。本書共分5篇,12章。涵蓋的內容有:NoSQL與大數(shù)據(jù)簡介、NoSQL的數(shù)據(jù)一致性、NoSQL的水平擴展與其他基礎知識、BigTable與Google云計算原理、Google云計算的開源版本——Hadoop、Dynamo:高可用鍵值對存儲、LevelDb——出自Google的Key-Value數(shù)據(jù)庫、Redis實戰(zhàn)、面向文檔的數(shù)據(jù)庫CouchDB、MongoDB實戰(zhàn)、MySQL基礎、MySQL高級特性與性能優(yōu)化。

《NoSQL數(shù)據(jù)庫技術實戰(zhàn)》涉及面廣,從基本操作到高級技術和核心原理,再到項目開發(fā),幾乎涉及NoSQL系統(tǒng)的所有重要知識。本書適合所有想全面學習NoSQL的人員閱讀,也適合各種使用NoSQL進行開發(fā)的工程技術人員使用。

章節(jié)目錄

第1篇NoSQL的興起與理論基礎
第1章NoSQL與大數(shù)據(jù)簡介
1.1引子--NoSQL在國內使用的案例
1.1.1新浪微博
1.1.2淘寶數(shù)據(jù)平臺
1.1.3視覺中國網(wǎng)站
1.1.4優(yōu)酷運營數(shù)據(jù)分析
1.1.5飛信空間
1.1.6豆瓣社區(qū)
1.2大數(shù)據(jù)
1.2.1大數(shù)據(jù)的度量單位
1.2.2大數(shù)據(jù)的特點
1.3大數(shù)據(jù)相關技術
1.3.1大數(shù)據(jù)采集技術
1.3.2大數(shù)據(jù)預處理技術
1.3.3大數(shù)據(jù)存儲及管理技術
1.3.4大數(shù)據(jù)分析及挖掘技術
1.3.5大數(shù)據(jù)展現(xiàn)與應用技術
1.4NoSQL簡介
1.4.1什么是NoSQL
1.4.2關系型數(shù)據(jù)庫簡史
1.4.3數(shù)據(jù)庫分類
1.4.4關系型數(shù)據(jù)庫的優(yōu)勢
1.4.5不擅長的處理
1.4.6NoSQL數(shù)據(jù)庫
1.5NoSQL數(shù)據(jù)庫的類型
1.5.1鍵值(Key/Value)存儲
1.5.2面向文檔的數(shù)據(jù)庫
1.5.3面向列的數(shù)據(jù)庫
1.6如何使用和學習NoSQL數(shù)據(jù)庫
1.6.1始終只是一種選擇
1.6.2在何種程度上信賴它
1.7云數(shù)據(jù)管理
第2章NoSQL的數(shù)據(jù)一致性
2.1傳統(tǒng)關系數(shù)據(jù)庫中的ACID
2.1.1原子性
2.1.2一致性
2.1.3隔離性
2.1.4持久性
2.1.5舉例
2.2CAP理論
2.2.1NoSQL系統(tǒng)是分布式系統(tǒng)
2.2.2CAP理論闡述
2.3AP的例子--DNS系統(tǒng)
2.3.1DNS系統(tǒng)
2.3.2DNS域名解析過程
2.3.3DNS系統(tǒng)是最終一致性的
2.4數(shù)據(jù)一致性模型與BASE
2.4.1數(shù)據(jù)一致性模型
2.4.2BASE(BasicallyAvailable,Soft-state,Eventualconsistency)
2.5數(shù)據(jù)一致性實現(xiàn)方法
2.5.1Quorum系統(tǒng)NRW策略
2.5.2時間戳策略
2.5.3向量時鐘
第3章NoSQL的水平擴展與其他基礎知識
3.1所有數(shù)據(jù)存放在一個服務器上
3.2分片(Sharding)
3.3主從復制
3.4對等(PeerToPeer)復制
3.5復制和分片的同時使用
3.6數(shù)據(jù)水平擴展的方法總結
3.7分片對數(shù)據(jù)的劃分方式
3.7.1Range-BasedPartitioning
3.7.2Round-Robin
3.8一致性hash算法(ConsistentHashing)
3.8.1基本場景
3.8.2hash算法和單調性
3.8.3ConsistentHashing算法的原理
3.8.4虛擬節(jié)點
3.9磁盤的讀寫特點及五分鐘法則
3.9.1磁道、扇區(qū)、柱面和磁頭數(shù)
3.9.2固態(tài)硬盤(SSD):隨機讀寫速度快
3.9.3內存:讀寫速度極快
3.9.4五分鐘法則
3.10不要刪除數(shù)據(jù)
第2篇列式NoSQL系統(tǒng)
第4章BigTable與Google云計算原理
4.1云計算
4.1.1云計算的概念
4.1.2云計算發(fā)展現(xiàn)狀
4.1.3云計算實現(xiàn)機制
4.1.4網(wǎng)格計算與云計算
4.2Google文件系統(tǒng)GFS
4.2.1系統(tǒng)架構
4.2.2容錯機制
4.2.3系統(tǒng)管理技術
4.3并行數(shù)據(jù)處理MapReduce
4.3.1產生背景
4.3.2編程模型
4.3.3實現(xiàn)機制
4.4分布式鎖服務Chubby
4.4.1Paxos算法
4.4.2Chubby系統(tǒng)設計
4.4.3Chubby文件系統(tǒng)
4.4.4通信協(xié)議
4.4.5正確性與性能
4.5分布式結構化數(shù)據(jù)表BigTable
4.5.1設計動機與目標
4.5.2數(shù)據(jù)模型
4.5.3系統(tǒng)架構
4.5.4主服務器
4.5.5子表服務器
4.5.6性能優(yōu)化
第5章Google云計算的開源版本--Hadoop
5.1Hadoop簡介
5.1.1Hadoop發(fā)展史
5.1.2ApacheHadoop項目及體系結構
5.2Hadoop產生的原因
5.2.1海量的數(shù)據(jù)
5.2.2數(shù)據(jù)的存儲和分析
5.3Hadoop和其他系統(tǒng)的比較
5.3.1和關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的比較
5.3.2和網(wǎng)格計算的比較
5.4HDFS的架構設計
5.4.1前提和設計目標
5.4.2Namenode和Datanode
5.4.3文件系統(tǒng)的Namespace
5.4.4數(shù)據(jù)復制
5.4.5文件系統(tǒng)元數(shù)據(jù)的持久化
5.4.6通訊協(xié)議
5.4.7健壯性
5.4.8數(shù)據(jù)組織
5.4.9可訪問性
5.4.10空間的回收
5.5安裝Hadoop
5.5.1安裝JDK1.
5.5.2安裝Hadoop
5.6HDFS操作
5.6.1使用FSShell命令操作HDFS
5.6.2編程讀寫HDFS
5.7Hadoop中的MapReduce模型
5.7.1MapReduce計算模型
5.7.2Hadoop中的HelloWorld程序
5.7.3運行MapReduce程序1
5.7.4Hadoop中的HelloWorld程序--新的API
5.7.5MapReduce的數(shù)據(jù)流和控制流
5.8Zookeeper
5.8.1Zookeeper配置安裝
5.8.2Zookeeper的數(shù)據(jù)模型
5.8.3Zookeeper的基本使用
5.8.4ZooKeeper典型的應用場景
5.8.5統(tǒng)一命名服務(NameService)
5.8.6共享鎖(Locks)
5.8.7隊列管理
5.8.8Zookeeper總結
5.9HBase
5.9.1簡介
5.9.2邏輯視圖
5.9.3物理存儲
5.9.4系統(tǒng)架構1
5.9.5關鍵算法/流程
5.10HBase的安裝和配置
5.11HBase使用例子
第3篇Key/ValueNoSQL系統(tǒng)
第6章Dynamo:Amazon的高可用鍵值對存儲
6.1簡介
6.2背景
6.2.1系統(tǒng)假設和要求
6.2.2服務水平協(xié)議(SLA)
6.2.3設計考慮
6.3系統(tǒng)架構
6.3.1系統(tǒng)接口
6.3.2劃分算法
6.3.3復制
6.3.4版本的數(shù)據(jù)
6.3.5執(zhí)行get()和put()操作
6.3.6故障處理:暗示移交(HintedHandoff)
6.3.7處理永久性故障:副本同步
6.3.8會員和故障檢測
6.3.9添加/刪除存儲節(jié)點
6.4實現(xiàn)
6.5Amazon使用的經(jīng)驗與教訓
6.5.1平衡性能和耐久性
6.5.2確保均勻的負載分布
6.5.3不同版本:何時以及有多少
6.5.4客戶端驅動或服務器驅動協(xié)調
6.5.5權衡后臺和前臺任務
6.5.6討論
6.6結論
第7章LevelDb--出自Google的Key-Value數(shù)據(jù)庫
7.1LevelDb簡介
7.2LevelDb的靜態(tài)部分
7.2.1整體架構
7.2.2log文件
7.2.3SSTable文件
7.2.4MemTable詳解
7.3LevelDb的動態(tài)部分
7.3.1寫入與刪除記錄
7.3.2讀取記錄
7.3.3Compaction操作
7.3.4LevelDb中的Cache
7.3.5Version、VersionEdit和VersionSet
第8章Redis實戰(zhàn)
8.1Redis安裝與準備
8.1.1下載與安裝
8.1.2配置文件修改
8.1.3啟動Redis
8.1.4停止Redis
8.2Redis所支持的數(shù)據(jù)結構
8.2.1String
8.2.2List
8.2.3Set
8.2.4Hash/哈希/散列
8.2.5有序集合/Zset
8.3Key操作命令
8.3.1概述
8.3.2命令示例
8.4事物
8.4.1事物概述
8.4.2相關命令
8.4.3命令示例2
8.4.4WATCH命令和基于CAS的樂觀鎖
8.5Redis的主從復制
8.5.1Redis的Replication
8.5.2Replication的工作原理
8.5.3如何配置Replication
8.5.4應用示例
8.6Redis的持久化
8.6.1持久化機制
8.6.2RDB機制的優(yōu)勢和劣勢
8.6.3AOF機制的優(yōu)勢和劣勢
8.6.4其他
8.7Redis的虛擬內存
8.7.1簡介
8.7.2應用場景
8.7.3配置
8.8pipeline/管線
8.8.1請求應答協(xié)議和RTT
8.8.2管線(pipelining)
8.8.3Benchmark2
8.9實例2
第4篇文檔型NoSQL系統(tǒng)
第9章面向文檔的數(shù)據(jù)庫CouchDB
9.1CouchDB介紹
9.1.1基本概念
9.1.2擴展概念
9.2CouchDB安裝與配置
9.3RESTAPI
9.3.1數(shù)據(jù)庫RESTAPI
9.3.2文檔RESTAPI
9.3.3視圖RESTAPI
9.3.4附件RESTAPI2
9.4為應用建模2
9.4.1描述實體2
9.4.2描述一對一和一對多關系
9.4.3描述多對多關系
9.5實戰(zhàn)開發(fā)
9.5.1開發(fā)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實戰(zhàn)
10.1為什么要使用MongoDB
10.1.1不能確定的表結構信息
10.1.2序列化可以解決一切問題嗎
10.1.3無需定義表結構的數(shù)據(jù)庫
10.2MongoDB的優(yōu)勢和不足
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啟動數(shù)據(jù)庫
10.4.4停止數(shù)據(jù)庫
10.5創(chuàng)建、更新及刪除文檔
10.5.1連接數(shù)據(jù)庫
10.5.2插入記錄
10.5.3_idkey
10.5.4修改記錄
10.5.5刪除記錄
10.6查詢記錄
10.6.1普通查詢
10.6.2條件查詢
10.6.3findOne()語法
10.6.4通過limit限制結果集數(shù)量
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數(shù)組元素個數(shù)
10.7.10正則表達式匹配
10.7.11JavaScript查詢和$where查詢
10.7.12count查詢記錄條數(shù)
10.7.13skip限制返回記錄的起點
10.7.14sort排序
10.7.15游標
10.8MapReduce
10.8.1Map
10.8.2Reduce
10.8.3Result
10.8.4Finalize
10.8.5Options
10.9索引
10.9.1基礎索引
10.9.2文檔索引
10.9.3組合索引
10.9.4唯一索引
10.9.5強制使用索引
10.9.6刪除索引
10.10性能優(yōu)化
10.10.1explain執(zhí)行計劃
10.10.2優(yōu)化器Profile
10.10.3性能優(yōu)化舉例
10.11性能監(jiān)控
10.11.1mongosniff
10.11.2Mongostat
10.11.3db.serverStatus
10.11.4db.stats
10.11.5第三方工具
10.12ReplicaSets復制集
10.12.1部署ReplicaSets
10.12.2主從操作日志oplog
10.12.3主從配置信息
10.12.4管理維護ReplicaSets
10.12.5增減節(jié)點
10.13Sharding分片
10.13.1建立ShardingCluster
10.13.2管理維護Sharding
10.14ReplicaSets和Sharding的結合
10.14.1創(chuàng)建數(shù)據(jù)目錄
10.14.2配置ReplicaSets
10.14.3配置3臺RouteProcess
10.14.4配置ShardCluster
10.14.5驗證Sharding正常工作
第5篇MySQL基礎與性能優(yōu)化
第11章MySQL基礎
11.1CentOS6.5下MySQL的安裝
11.2MySQL基本命令
11.3MySQL數(shù)據(jù)類型
11.3.1整型
11.3.2浮點型
11.3.3定點數(shù)
11.3.4字符串(char,varchar,xxxtext)
11.3.5二進制數(shù)據(jù)
11.3.6日期時間類型
11.3.7數(shù)據(jù)類型的屬性
11.4創(chuàng)建數(shù)據(jù)庫和表
11.5檢索表中的數(shù)據(jù)
11.6多個表的操作3
第12章MySQL高級特性與性能優(yōu)化
12.1MySQLServer系統(tǒng)架構
12.1.1邏輯模塊組成
12.1.2各模塊工作配合
12.2存儲引擎
12.2.1MySQL存儲引擎概述
12.2.2MyISAM存儲引擎簡介3
12.2.3Innodb存儲引擎簡介
12.3MySQL中的鎖定機制
12.3.1MySQL中鎖定機制概述
12.3.2合理利用鎖機制優(yōu)化MySQL
12.4索引與優(yōu)化
12.4.1選擇索引的數(shù)據(jù)類型
12.4.2索引入門
12.4.3索引的類型
12.4.4高性能的索引策略
12.4.5索引與加鎖
12.5MySQL的MyISAM和Innodb的Cache優(yōu)化
12.5.1MyISAM存儲引擎的Cache優(yōu)化
12.5.2Innodb緩存相關優(yōu)化
12.6MySQL的復制
12.6.1復制對于可擴展性的意義
12.6.2復制的原理
12.6.3體驗MySQL復制
12.6.4復制的常用拓撲結構
12.7可擴展性設計之數(shù)據(jù)切分
12.7.1何謂數(shù)據(jù)切分
12.7.2數(shù)據(jù)的垂直切分
12.7.3數(shù)據(jù)的水平切分
12.7.4垂直與水平聯(lián)合切分的使用
12.7.5數(shù)據(jù)切分及整合方案
12.7.6數(shù)據(jù)切分與整合中可能存在的問題
12.8小結

使用說明

1、下載并解壓,得出pdf文件

2、如果打不開本文件,請務必下載pdf閱讀器

3、安裝后,在打開解壓得出的pdf文件

4、雙擊進行閱讀試讀

收起介紹展開介紹
  • 下載地址
nosql數(shù)據(jù)庫技術實戰(zhàn) 皮雄軍 pdf掃描版

有問題? 點此報錯

發(fā)表評論

0條評論