精通Cassandra

精通Cassandra
定價:600
NT $ 252 ~ 540
  • 作者:郭鵬
  • 出版社:佳魁資訊
  • 出版日期:2013-02-27
  • 語言:繁體中文
  • ISBN10:9865908859
  • ISBN13:9789865908850
  • 裝訂:平裝 / 352頁 / 17 x 23 cm / 普通級 / 單色印刷 / 初版
 

內容簡介

  Cassandra是一套獨立的系統,不需要搭建和瞭解HDFS 及Zookeeper 叢集即可開始使用,並且可以在Windows系統中直接進行測試。

  本書作者是資深軟體開發工程師,擅長分散式應用程式的開發和使用,對分散式資料庫有深刻而獨到的見解。全書根據Cassandra最新版撰寫,深入淺出,有系統地講解Cassandra的所有功能特性和使用方法。實戰性強,不僅包含大量範例程式碼,並且設計一個完整的線上交易系統實例。透過本書,不僅能全面掌握Cassandra的基礎知識和使用方法,還能深入理解Cassandra的分層機制和運作原理,以及它在複雜現實環境中的應用。

  全書具一定的深度,不僅結合原始程式碼透徹分析,而且還精心歸納一些關於Cassandra的最佳應用,適合所有對Cassandra感興趣的讀者閱讀。

  初中級程式設計師:可以從本書中的實例瞭解Cassandra的基本概念、如何透過各種程式編撰介面在Cassandra中寫入和讀取資料、如何建立二階索引、如何動態修改Schema 訊息、如何透過MapReduce做大量的資料分析,等等。

  中高階程式設計師:透過本書對原始程式碼的分析和講解,瞭解Cassandra中的內部實現原理,從而能選用更加高效率的實現方式,調整最適合的Cassandra叢集執行設定,增強程式的整體執行性能和穩定性。

  DBA 和系統運作維護人員:透過本書中的運作管理等內容,瞭解如何在Cassandra 叢集中安全、高效率地增加或減少伺服器,以及如何恢復叢集的錯誤,等等。

  系統架構分析師:可以根據本書內容掌握Cassandra能做什麼、不能做什麼、適合做什麼,從而為不同專案做出最合適的架構選型。

 

目錄

前言

第1 章 認識NoSQL
1.1 NoSQL 的起源和發展現狀
1.2 為什麼要使用NoSQL
1.3 開放原始碼NoSQL 產品介紹
1.3.1 Key/Value 的NoSQL 資料庫
1.3.2 檔案導向的NoSQL 資料庫
1.3.3 序列導向的NoSQL 資料庫
1.3.4 圖形導向的NoSQL 資料庫
1.4 本章小結

第2 章 Cassandra 快速入門
2.1 在Windows 環境執行單機版Cassandra
2.1.1 設定JRE
2.1.2 設定執行Cassandra 0.6.x
2.1.3 設定執行Cassandra 0.7.x
2.2 在Linux 環境執行單機版Cassandra
2.2.1 設定JRE
2.2.2 設定執行Cassandra 0.6.x
2.2.3 設定執行Cassandra 0.7.x
2.3 Cassandra 的資料模型
2.3.1 Column
2.3.2 SuperColumn
2.3.3 ColumnFamily
2.3.4 Keyspace
2.4 Cassandra 的資料排序規則
2.5 設定資料類型
2.6 使用命令提示字元工具與Cassandra 互動
2.6.1 與Cassandra 0.6.x 進行互動
2.6.2 與Cassandra 0.7.x 進行互動
2.7 本章小結

第3 章 理解Cassandra 編輯介面
3.1 多語系服務開發框架Thrift
3.2 Cassandra 的資料類型
3.2.1 Column
3.2.2 SuperColumn
3.2.3 ColumnOrSuperColumn
3.2.4 ColumnParent
3.2.5 ColumnPath
3.2.6 SliceRange
3.2.7 SlicePredicate
3.2.8 Deletion
3.2.9 Mutation
3.2.10 KeyRange
3.2.11 KeySlice
3.2.12 TokenRange
3.2.13 AuthenticationRequest
3.2.14 ConsistencyLevel
3.2.15 NotFoundException
3.2.16 InvalidRequestException
3.2.17 UnavailableException
3.2.18 TimedOutException
3.2.19 AuthenticationException
3.2.20 AuthorizationException
3.3 Cassandra 的編譯介面
3.3.1 get
3.3.2 get_slice
3.3.3 multiget_slice
3.3.4 get_count
3.3.5 get_range_slices
3.5.6 insert
3.3.7 remove
3.3.8 batch_mutate
3.3.9 describe_keyspaces
3.3.10 describe_keyspace
3.3.11 describe_cluster_name
3.3.12 describe_version
3.3.13 describe_ring
3.4 Cassandra 0.7.x 版本新增功能
3.4.1 二階索引
3.4.2 動態修改Schema
3.4.3 自動清除過期資料
3.5 本章小結

第4 章 應用於Cassandra 的線上交易系統
4.1 需求分析
4.2 資料模型設計
4.2.1 Seller
4.2.2 Buyer
4.2.3 Product
4.2.4 ProductCategory
4.2.5 Comment
4.3 編碼實現
4.3.1 修改Keyspace 設置
4.3.2 建立Eclipse 專案
4.3.3 實體物件實現
4.3.4 Cassandra 資料操作介面實現
4.4 系統功能驗證
4.4.1 BuyerDao 功能驗證
4.4.2 SellerDao 功能驗證
4.4.3 ProductDao 功能驗證
4.5 遷移到Cassandra 0.7.x
4.5.1 建立Eclipse 專案
4.5.2 修改編譯錯誤程式碼
4.5.3 新增Schema 線上定義功能
4.5.4 功能驗證
4.6 本章小結

第5 章 Cassandra 的叢集機制
5.1 一致性Hash
5.1.1 理解一致性Hash
5.1.2 一致性Hash 在Cassandra 中的應用
5.2 Gossip:叢集節點之間的通訊協議
5.2.1 FailureDetector
5.2.2 Gossiper
5.3 叢集的資料備份機制
5.3.1 EndpointSnitch
5.3.2 ReplicationStrategy
5.4 叢集狀態變化的處理機制
5.4.1 StorageLoadBalancer
5.4.2 StorageService
5.4.3 MigrationManager
5.5 本章小結

第6 章 Cassandra 的內部資料儲存結構
6.1 Cassandra 中的資料存放規則
6.2 Commilog
6.3 Memtable
6.4 SSTable
6.4.1 Filter 文件
6.4.2 Index 文件
6.4.3 Data 文件
6.4.4 Statistics 文件
6.5 系統表空間
6.6 本章小結

第7 章 Cassandra 的資料更新機制
7.1 資料更新流程
7.2 叢集資料更新策略
7.2.1 ANY
7.2.2 ONE
7.2.3 QUORUM
7.2.4 LOCAL_QUORUM
7.2.5 EACH_QUORUM
7.2.6 ALL
7.3 二階索引
7.3.1 為什麼需要二階索引
7.3.2 Cassandra 二階索引更新過程
7.4 本章小結

第8 章 Cassandra 的資料讀取機制
8.1 資料讀取流程
8.1.1 弱讀取
8.1.2 強讀取
8.2 叢集資料讀取策略
8.2.1 ONE
8.2.2 QUORUM
8.2.3 LOCAL_QUORUM
8.2.4 EACH_QUORUM
8.2.5 ALL
8.3 讀取修復
8.4 資料暫存
8.4.1 RowCache
8.4.2 KeyCache
8.5 二階索引
8.6 本章小結

第9 章 Cassandra 的資料壓縮機制
9.1 為什麼要進行資料壓縮
9.2 如何控制資料壓縮
9.3 資料壓縮流程
9.4 維護Cassandra 中的資料
9.4.1 資料清理壓縮
9.4.2 資料一致性校驗壓縮
9.5 本章小結

第10 章 Cassandra 的啟動流程
10.1 Cassandra 啟動腳本
10.2 Cassandra 啟動流程
10.2.1 設定log4j
10.2.2 讀取校驗設定文件訊息
10.2.3 載入所有的資料文件
10.2.4 修復資料
10.2.5 啟動Gossiper 服務
10.2.6 判斷是否需要進行Bootstrap 操作
10.2.7 監聽Thrift 連接埠,提供Thrift 服務
10.3 本章小結

第11 章 在分佈式環境中使用的Cassandra
11.1 在Linux 環境中搭建與使用Cassandra 叢集
11.1.1 設定JRE
11.1.2 部署Cassandra 可執行文件
11.1.3 修改Cassandra 設定文件
11.1.4 啟動Cassandra
11.2 Cassandra 執行設定項詳解
11.3 Cassandra 叢集的執行和維護
11.3.1 查看叢集的執行情況
11.3.2 新增節點
11.3.3 刪除節點
11.3.4 移動節點
11.3.5 資料維護
11.4 本章小結

第12 章 Cassandra 與Hadoop 的整合
12.1 Hadoop 快速入門
12.1.1 Hadoop 簡介
12.1.2 HDFS
12.1.3 Map/Reduce
12.1.4 設定單機版Hadoop
12.1.5 編寫Map/Reduce 程式
12.2 為什麼要整合Cassandra 與Hadoop
12.3 使用Map/Reduce 匯入資料到Cassandra 中
12.4 將Cassandra 中的資料作為Map/Reduce 輸入
12.5 本章小結

第13 章 Cassandra 最佳實踐
13.1 避免Cassandra 自身的限制
13.1.1 不要盲目使用Super Column
13.1.2 硬碟的容量大小限制
13.1.3 注意系統大小限制
13.2 資料壓縮策略
13.3 使用高階的客戶端
13.3.1 Pycassa
13.3.2 Hector
13.3.3 FluentCassandra
13.3.4 Cassandra
13.3.5 phpcassa
13.4 負載平衡
13.4.1 隨機選取
13.4.2 暫存叢集訊息
13.5 謹慎使用二階索引
13.6 透過JMX 監測Cassandra
13.7 調整JVM 啟動參數
13.8 使用適合的系統設定參數
13.9 本章小結

附錄A 在Eclipse 中修改Cassandra 原始程式碼
A .1 設定環境
A .2 下載Cassandra 原始碼
A .3 編譯Cassandra
A .4 在Eclipse 中修改Cassandra 原始碼
A .5 執行單元測試
A .6 打包發佈

附錄B CassSeller 程式碼
B .1 cassSeller.app.App
B .2 cassSeller.dao.BuyerDao
B .3 cassSeller.dao.ProductDao
B .4 cassSeller.dao.SellerDao
B .5 cassSeller.dao.impl.BuyerDaoImpl
B .6 cassSeller.dao.impl.ProductDaoImpl
B .7 cassSeller.dao.impl.SellerDaoImpl
B .8 cassSeller.model.Buyer
B .9 cassSeller.model.Comment
B .10 cassSeller.model.Product
B .11 cassSeller.model.Seller

附錄C CassSeller-0.7 程式碼
C .1 cassSeller.app.App
C .2 cassSeller.dao.BuyerDao
C .3 cassSeller.dao.ProductDao
C .4 cassSeller.dao.SellerDao
C .5 cassSeller.dao.impl.BuyerDaoImpl
C .6 cassSeller.dao.impl.ProductDaoImpl
C .7 cassSeller.dao.impl.SchemaIniter
C .8 cassSeller.dao.impl.SellerDaoimpl
C .9 cassSeller.model.Buyer
C .10 cassSeller.model.Comment
C .11 cassSeller.model.Product
C .12 cassSeller.model.Seller

網路書店 類別 折扣 價格
  1. 新書
    42
    $252
  2. 新書
    9
    $540