会员   密码 您忘记密码了吗?
1,568,374 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

浏览历史

当前位置: 首页 > 电脑资讯 > 资料库/大数据 > 奠定大數據的基石:NoSQL資料庫技術
奠定大數據的基石:NoSQL資料庫技術
上一张
奠定大數據的基石:NoSQL資料庫技術
下一张
prev next

奠定大數據的基石:NoSQL資料庫技術

作者: 皮雄軍
出版社: 佳魁資訊
出版日期: 2015-05-29
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT560.00
市场价格: RM85.19
本店售价: RM75.82
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

騰訊前資深後台工程師力作,大數據時代必讀佳作!

本書特色

  1.對NoSQL 系統的理論進行深入淺出的分析,深入說明三種NoSQL 系統:列式的、Key/Value 的和文件類型,並說明MySQL 的效能最佳化。

  2.對Hadoop/HBase、MongoDB和Redis這三種NoSQL 系統都列出具體實作

  3.詳細講述了NoSQL的分類及各類NoSQL系統的適用場景,為讀者在實際開發中的技術選型提供良好的指導。

  適合:沒有基礎的NoSQL 初學者、 網際網路公司高平行處理系統的後台開發人員、巨量資料、NoSQL 開發同好、中級程式設計師、大專院校師生、相關教育培訓班的學員。


作者介紹

作者簡介

皮雄軍


  平台開發者和研究者、開源精神的忠實擁護者。曾擔任騰訊、三星等知名公司資深後台工程師。在NoSQL原理、技術選型和開發方面具豐富的實戰經驗和成功案例。


目錄

前言

Chapter 01   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.4 NoSQL 簡介
1.4.1 什麼是NoSQL
1.4.2 關聯式資料庫簡史
1.4.3 資料庫分類
1.4.4 關聯式資料庫的優勢
1.4.5 不擅長的處理
1.4.6 NoSQL 資料庫
1.5 NoSQL 資料庫的類型
1.5.1 鍵值(Key/Value)儲存
1.5.2 針對文件的資料庫
1.5.3 針對列的資料庫
1.6 如何使用和學習NoSQL 資料庫
1.6.1 始終只是一種選擇
1.6.2 在何種程度上信賴它
1.7 雲端資料管理

Chapter 02   NoSQL 的資料一致性
2.1 傳統關聯式資料庫中的ACID
2.1.1 最小性
2.1.2 一致性
2.1.3 隔離性
2.1.4 持久性
2.1.5 舉例
2.2 CAP 理論
2.2.1 NoSQL 系統是分散式系統
2.2.2 CAP 理論說明
2.3 AP 的實例 —— DNS 系統
2.3.1 DNS 系統
2.3.2 DNS 域名解析過程
2.3.3 DNS 系統是最後一致性的
2.4 資料一致性模型與BASE
2.4.1 資料一致性模型
2.4.2 BASE(Basically Available,Soft-state,Eventual consistency)
2.5 資料一致性實現方法
2.5.1 Quorum 系統NRW 策略
2.5.2 時間戳記策略
2.5.3 向量時鐘

Chapter 03   NoSQL 的水平擴充與其他基礎知識
3.1 所有資料儲存在一個伺服器上
3.2 分片(Sharding)
3.3 主從複製
3.4 對等(Peer To Peer)複製
3.5 複製和分片的同時使用
3.6 資料水平擴充的方法歸納
3.7 分片對資料的劃分方式
3.7.1 Range-Based Partitioning
3.7.2 Round-Robin
3.8 一致性hash 演算法(Consistent Hashing)
3.8.1 基本場景
3.8.2 hash 演算法和單調性
3.8.3 Consistent Hashing 演算法的原理
3.8.4 虛擬節點
3.9 磁碟的讀寫特點及五分鐘法則
3.9.1 磁軌、磁區、磁柱和磁頭數
3.9.2 固態硬碟(SSD):隨機讀寫速度快
3.9.3 記憶體:讀寫速度極快
3.9.4 五分鐘法則
3.10 不要刪除資料

Chapter 04   BigTable 與Google 雲端運算原理
4.1 雲端運算
4.1.1 雲端運算的概念
4.1.2 雲端運算發展現狀
4.1.3 雲端運算實現機制
4.1.4 網格計算與雲端運算
4.2 Google 檔案系統GFS
4.2.1 系統架構
4.2.2 容錯機制
4.2.3 系統管理技術
4.3 平行資料處理MapReduce
4.3.1 產生背景
4.3.2 程式設計模型
4.3.3 實現機制
4.4 分散式鎖服務Chubby
4.4.1 Paxos 演算法
4.4.2 Chubby 系統設計
4.4.3 Chubby 檔案系統
4.4.4 通訊協定
4.4.5 正確性與效能
4.5 分散式結構化資料表BigTable
4.5.1 設計動機與目標
4.5.2 資料模型
4.5.3 系統架構
4.5.4 主要伺服器
4.5.5 子表伺服器
4.5.6 效能最佳化

Chapter 05   Google 雲端運算的開放原始碼版本——Hadoop
5.1 Hadoop 簡介
5.1.1 Hadoop 發展史
5.1.2 Apache Hadoop 專案及系統結構
5.2 Hadoop 產生的原因
5.2.1 巨量的資料
5.2.2 資料的儲存和分析
5.3 Hadoop 和其他系統的比較
5.3.1 和關聯式資料庫管理系統(RDBMS)的比較
5.3.2 和網格計算的比較
5.4 HDFS 的架構設計
5.4.1 前提和設計目標
5.4.2 Namenode 和Datanode
5.4.3 檔案系統的Namespace
5.4.4 資料複製
5.4.5 檔案系統中繼資料的持久化
5.4.6 通訊協定
5.4.7 穩固性
5.4.8 資料組織
5.4.9 可存取性
5.4.10 空間的回收
5.5 安裝Hadoop
5.5.1 安裝JDK 1.7
5.5.2 安裝Hadoop
5.6 HDFS 操作
5.6.1 使用FS Shell 指令操作HDFS
5.6.2 程式設計讀寫HDFS
5.7 Hadoop 中的MapReduce 模型
5.7.1 MapReduce 計算模型
5.7.2 Hadoop 中的Hello World 程式
5.7.3 執行MapReduce 程式
5.7.4 Hadoop 中的Hello World 程式——新的API
5.7.5 MapReduce 的資料流程和控制流
5.8 Zookeeper
5.8.1 Zookeeper 設定安裝
5.8.2 Zookeeper 的資料模型
5.8.3 Zookeeper 的基本使用
5.8.4 ZooKeeper 典型的應用場景
5.8.5 統一命名服務(Name Service)
5.8.6 共用鎖(Locks)
5.8.7 佇列管理
5.8.8 Zookeeper 歸納
5.9 HBase
5.9.1 簡介
5.9.2 邏輯視圖
5.9.3 實體儲存
5.9.4 系統架構
5.9.5 關鍵演算法/ 流程
5.10 HBase 的安裝和設定
5.11 HBase 使用實例

Chapter 06   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 故障處理:暗示移交(Hinted Handoff)
6.3.7 處理永久性故障:備份同步
6.3.8 會員和故障檢測
6.3.9 增加/ 刪除儲存節點
6.4 實現
6.5 Amazon 使用的經驗與教訓
6.5.1 平衡效能和耐久性
6.5.2 確保均勻的負載分佈
6.5.3 不同版本:何時以及有多少
6.5.4 用戶端驅動或伺服器驅動協調
6.5.5 權衡後台和前台工作
6.5.6 討論
6.6 結論

Chapter 07   LevelDb——出自Google 的Key-Value 資料庫
7.1 LevelDb 簡介
7.2 LevelDb 的靜態部分
7.2.1 整體架構
7.2.2 log 檔案
7.2.3 SSTable 檔案
7.2.4 MemTable 詳解
7.3 LevelDb 的動態部分
7.3.1 寫入與刪除記錄
7.3.2 讀取記錄
7.3.3 Compaction 操作
7.3.4 LevelDb 中的Cache
7.3.5 Version、VersionEdit 和VersionSet

Chapter 08  Redis 實戰
8.1 Redis 安裝與準備
8.1.1 下載與安裝
8.1.2 設定檔修改
8.1.3 啟動Redis
8.1.4 停止Redis
8.2 Redis 所支援的資料結構
8.2.1 String
8.2.2 List
8.2.3 Set
8.2.4 Hash/ 雜湊/ 雜湊
8.2.5 有序集合/Zset
8.3 Key 操作指令
8.3.1 概述
8.3.2 指令範例
8.4 事物
8.4.1 事物概述
8.4.2 相關指令
8.4.3 指令範例
8.4.4 WATCH 指令和以CAS 為基礎的樂觀鎖
8.5 Redis 的主從複製
8.5.1 Redis 的Replication
8.5.2 Replication 的工作原理
8.5.3 如何設定Replication
8.5.4 應用範例
8.6 Redis 的持久化
8.6.1 持久化機制
8.6.2 RDB 機制的優勢和劣勢
8.6.3 AOF 機制的優勢和劣勢
8.6.4 其他
8.7 Redis 的虛擬記憶體
8.7.1 簡介
8.7.2 應用場景
8.7.3 設定
8.8 pipeline/ 管線
8.8.1 請求回應協定和RTT
8.8.2 管線(pipelining)
8.8.3 Benchmark
8.9 實例 .

Chapter 09   針對文件的資料庫CouchDB
9.1 CouchDB 介紹
9.1.1 基本概念
9.1.2 擴充概念
9.2 CouchDB 安裝與設定
9.3 REST API
9.3.1 資料庫REST API
9.3.2 文件REST API
9.3.3 視圖REST API
9.3.4 附件REST API
9.4 為應用建模
9.4.1 描述實體
9.4.2 描述一對一和一對多關聯性
9.4.3 描述多對多關係
9.5 實戰開發
9.5.1 開發Web 應用
9.5.2 使用CouchDB jQuery 外掛程式
9.5.3 範例應用建模
9.5.4 管理文件
9.5.5 視圖
9.6 進階內容
9.6.1 許可權控制與安全
9.6.2 文件更新驗證
9.6.3 分組
9.6.4 鍵的排序

Chapter 10   MongoDB 實戰
10.1 為什麼要使用MongoDB
10.1.1 不能確定的表結構資訊
10.1.2 序列化可以解決一切問題嗎
10.1.3 無需定義表結構的資料庫
10.2 MongoDB 的優勢和不足
10.2.1 無表結構
10.2.2 容易擴充
10.2.3 豐富的功能
10.2.4 效能卓越
10.2.5 簡便的管理
10.2.6 MongoDB 的不足
10.3 基本概念
10.4 Linux 下MongoDB 的安裝和設定、啟動和停止
10.4.1 下載
10.4.2 安裝
10.4.3 啟動資料庫
10.4.4 停止資料庫
10.5 建立、更新及刪除文件
10.5.1 連接資料庫
10.5.2 插入記錄
10.5.3 _id key
10.5.4 修改記錄
10.5.5 刪除記錄
10.6 查詢記錄
10.6.1 普通查詢
10.6.2 條件查詢
10.6.3 findOne() 語法
10.6.4 透過limit 限制結果集數量
10.7 高級查詢
10.7.1 條件運算符號
10.7.2 $all 比對所有
10.7.3 $exists 判斷欄位是否存在
10.7.4 Null 值處理
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.11 JavaScript 查詢和$where 查詢
10.7.12 count 查詢記錄筆數
10.7.13 skip 限制傳回記錄的起點
10.7.14 sort 排序
10.7.15 游標
10.8 MapReduce
10.8.1 Map
10.8.2 Reduce
10.8.3 Result
10.8.4 Finalize
10.8.5 Options
10.9 索引
10.9.1 基礎索引
10.9.2 文件索引
10.9.3 組合索引
10.9.4 唯一索引
10.9.5 強制使用索引3
10.9.6 刪除索引
10.10 性能優化
10.10.1 explain 執行計畫
10.10.2 最佳化器Profile
10.10.3 效能最佳化舉例
10.11 性能監控
10.11.1 mongosniff
10.11.2 Mongostat
10.11.3 db.serverStatus
10.11.4 db.stats
10.11.5 協力廠商工具
10.12 Replica Sets 複製集
10.12.1 部署Replica Sets
10.12.2 主從操作記錄檔oplog
10.12.3 主從設定資訊
10.12.4 管理維護Replica Sets
10.12.5 增減節點
10.13 Sharding 分片
10.13.1 建立Sharding Cluster
10.13.2 管理維護Sharding
10.14 Replica Sets 和Sharding 的結合
10.14.1 建立資料目錄
10.14.2 設定Replica Sets
10.14.3 設定3 台Route Process
10.14.4 設定Shard Cluster
10.14.5 驗證Sharding 正常執行

Chapter 11   MySQL 基礎
11.1 CentOS 6.5 下MySQL 的安裝
11.2 MySQL 基本指令
11.3 MySQL 資料類型
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 多個表的操作

Chapter12   MySQL 進階特性與效能最佳化
12.1 MySQL Server 系統架構
12.1.1 邏輯模組成
12.1.2 各模組工作配合
12.2 儲存引擎
12.2.1 MySQL 儲存引擎概述
12.2.2 MyISAM 儲存引擎簡介
12.2.3 Innodb 儲存引擎簡介
12.3 MySQL 中的鎖定機制
12.3.1 MySQL 中鎖定機制概述
12.3.2 合理利用鎖機制最佳化MySQL
12.4 索引與最佳化
12.4.1 選擇索引的資料類型
12.4.2 索引入門
12.4.3 索引的類型
12.4.4 高性能的索引策略
12.4.5 索引與加鎖
12.5 MySQL 的MyISAM 和Innodb 的Cache 最佳化
12.5.1 MyISAM 儲存引擎的Cache 最佳化
12.5.2 Innodb 快取相關最佳化
12.6 MySQL 的複製
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 小結