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、雙擊進行閱讀試讀
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 得間免費小說電腦版 v5.3.0.372.58M / 簡體中文
- cnki全球學術快報電腦版 v1.0.1135.99M / 簡體中文
- 網(wǎng)易新聞電腦版 v113.197.68M / 簡體中文
- 京東讀書電腦版 v1.13.4官方版1.98M / 簡體中文
- 瀟湘書院電腦版 v2.3.11.888官方版49.65M / 簡體中文
- 數(shù)據(jù)挖掘導論 官方版61.61M / 簡體中文
- 吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
- 未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
- docker入門實戰(zhàn) pdf完整版1.38M / 簡體中文
- Scala程序設計第二版 pdf高清完整版15.83M / 簡體中文