Cassandra權威指南

Cassandra權威指南

《Cassandra權威指南》是2011年8月1日人民郵電出版社出版的圖書,作者是Eben Hewitt、王旭。本書適合資料庫開發人員與網站開發者閱讀。

基本介紹

  • 書名:Cassandra權威指南
  • 作者:Eben Hewitt、王旭
  • ISBN:9787115258540
  • 頁數:280頁
  • 出版社:人民郵電出版社
  • 出版時間:2011年8月1日
  • 裝幀:平裝
  • 開本:16
  • 叢書名:圖靈程式設計叢書
  • 正文語種:簡體中文
內容簡介,目錄,

內容簡介

本書是一本廣受好評的Cassandra圖書。與傳統的關係型資料庫不同,Cassandra是一種開源的分散式存儲系統。書中介紹了它無中心架構、高可用、無縫擴展等引人注目的特點,講述了如何安裝、配置Cassandra及如何在其上運行實例,還介紹了對它的監控、維護和性能調優手段,同時還涉及了Cassandra相關的集成工具Hadoop及其類似的其他NoSQL資料庫。

目錄

目 錄
譯者序 XIII
序 XV
前言 XVII
第1章 Cassandra概況 1
  1. 1 關係型資料庫有什麼問題 1
  2. 2 關係型資料庫簡單回顧 5
  3. 2.1 RDBMS:出類拔萃與表現平平 6
  4. 2.2 網際網路的規模 12
  5. 3 Cassandra的電梯間演講 13
  6. 3.1 50個字介紹Cassandra 13
  7. 3.2 分散式與無中心 13
  8. 3.3 彈性可擴展 14
  9. 3.4 高可用與容錯 15
  10. 3.5 可調節的一致性 15
  11. 3.6 Brewer的CAP理論 18
  12. 3.7 面向行 21
  13. 3.8 無schema 22
  14. 3.9 高性能 22
  15. 4 Cassandra來自何方 22
  16. 5 Cassandra的套用場景 23
  17. 5.1 大規模部署 23
  18. 5.2 寫密集、統計和分析型工作 24
  19. 5.3 地區分布 24
  20. 5.4 變化的套用 24
  21. 6 誰在使用Cassandra 24
  22. 7 小結 26
第2章 安裝Cassandra 27
  1. 1 安裝二進制包 27
  2. 1.1 解壓縮 27
  3. 1.2 裡面有什麼 27
  4. 2 從源碼編譯 28
  5. 2.1 其他編譯目標 30
  6. 2.2 使用Maven編譯 30
  7. 3 運行Cassandra 30
  8. 3.1 在Windows平台上運行Cassandra 31
  9. 3.2 在Linux下運行Cassandra 31
  10. 3.3 啟動伺服器 32
  11. 4 使用命令行界面的客戶端 33
  12. 5 基本命令行命令 34
  13. 5.1 幫助 34
  14. 5.2 連線伺服器 35
  15. 5.3 描述環境 35
  16. 5.4 創建keyspace和列族 36
  17. 5.5 讀寫數據 37
  18. 6 小結 38
第3章 Cassandra的數據模型 39
  1. 1 關係型數據模型 39
  2. 2 簡介 40
  3. 3 集群 43
  4. 4 keyspace 43
  5. 5 列族 44
  6. 6 列 46
  7. 6.1 寬行與窄行 48
  8. 6.2 列的排序 49
  9. 7 超級列 50
  10. 8 Cassandra與RDBMS的設計差別 53
  11. 8.1 沒有查詢語言 53
  12. 8.2 沒有引用完整性 53
  13. 8.3 第二索引 53
  14. 8.4 排序成為一種設計決策 54
  15. 8.5 反範式化 54
  16. 9 設計模式 55
  17. 9.1 具體化視圖 56
  18. 9.2 無值列 56
  19. 9.3 聚合鍵 56
  20. 10 需要記住的幾件事 57
  21. 11 小結 57
第4章 套用實例 59
  1. 1 數據模型設計 59
  2. 2 酒店套用的關係型資料庫設計 60
  3. 3 酒店套用的Cassandra設計 61
  4. 4 酒店套用代碼 62
  5. 4.1 創建資料庫 63
  6. 4.2 數據結構 64
  7. 4.3 進行連線 65
  8. 4.4 預裝填資料庫 66
  9. 4.5 搜尋套用 78
  10. 5 Twissandra 82
  11. 6 小結 82
第5章 Cassandra的架構 83
  1. 1 system keyspace 83
  2. 2 對等結構 84
  3. 3 gossip與故障檢測 84
  4. 4 逆熵與讀修復 86
  5. 5 memtable、SSTable和commit log 87
  6. 6 提示移交 89
  7. 7 壓緊 89
  8. 8 Bloom filter 91
  9. 9 墓碑 91
  10. 10 分階段事件驅動架構 92
  11. 11 管理器與服務 93
  12. 11.1 Cassandra守護進程 93
  13. 11.2 存儲服務 93
  14. 11.3 訊息服務 93
  15. 11.4 提示移交管理器 94
  16. 12 小結 94
第6章 配置Cassandra 95
  1. 1 keyspace 95
  2. 1.1 創建列族 98
  3. 1.2 從0.6遷移到0.7 99
  4. 2 副本 99
  5. 3 副本放置策略 100
  6. 3.1 簡單策略 101
  7. 3.2 舊網路拓撲策略 102
  8. 3.3 網路拓撲策略 103
  9. 4 副本因子 103
  10. 5 分區器 105
  11. 5.1 隨機分區器 106
  12. 5.2 有序分區器 106
  13. 5.3 配頁有序分區器 107
  14. 5.4 位元組序分區器 107
  15. 6 Snitch 107
  16. 6.1 Simple Snitch 107
  17. 6.2 PropertyFileSnitch 107
  18. 7 創建集群 108
  19. 7.1 修改集群名稱 109
  20. 7.2 給集群增加節點 109
  21. 7.3 多種子節點 111
  22. 8 動態加入環 113
  23. 9 安全 114
  24. 9.1 使用SimpleAuthenticator 114
  25. 9.2 編程鑒權 117
  26. 9.3 使用MD5加密 118
  27. 9.4 提供你自己的鑒權算法 118
  28. 10 雜項設定 119
  29. 11 附加工具 120
  30. 11.1 查看鍵值 120
  31. 11.2 導入之前版本的配置 120
  32. 12 小結 122
第7章 讀寫數據 123
  1. 1 Cassandra與RDBMS查詢的不同 123
  2. 1.1 沒有Update查詢 123
  3. 1.2 記錄級的寫原子性 123
  4. 1.3 不支持服務端事務 123
  5. 1.4 沒有重複鍵值 124
  6. 2 寫操作的基本屬性 124
  7. 3 一致性級別 124
  8. 4 讀操作的基本屬性 126
  9. 5 API 126
  10. 6 設定與插入數據 128
  11. 7 使用簡單的get 133
  12. 8 數據準備 135
  13. 9 切片謂詞 135
  14. 9.1 使用get_slice讀取特定列名 136
  15. 9.2 通過切片區間獲取一組列 137
  16. 9.3 取出一行中的所有列 138
  17. 10 get_range_slices 138
  18. 11 multiget_slice 140
  19. 12 刪除 142
  20. 13 批量變更 144
  21. 13.1 批量刪除 144
  22. 13.2 區間鬼影 145
  23. 14 編程定義keyspace和列族 145
  24. 15 小結 146
第8章 客戶端 147
  1. 1 基本的客戶端API 148
  2. 2 Thrift 148
  3. 2.1 Thrift對Java的支持 151
  4. 2.2 異常 151
  5. 2.3 Thrift小結 152
  6. 3 Avro 152
  7. 3.1 Avro Ant目標 154
  8. 3.2 Avro規範 155
  9. 3.3 Avro小結 156
  10. 4 Git簡介 156
  11. 5 連線客戶端節點 157
  12. 5.1 客戶端列表 157
  13. 5.2 循環DNS 157
  14. 5.3 負載均衡器 157
  15. 6 Cassandra Web控制台 157
  16. 7 Hector(Java) 161
  17. 7.1 特性 161
  18. 7.2 Hector API 162
  19. 8 HectorSharp(C#) 162
  20. 9 Chirper 167
  21. 10 Chiton(Python) 167
  22. 11 Pelops(Java) 168
  23. 12 Kundera(Java ORM) 169
  24. 13 Fauna(Ruby) 169
  25. 14 小結 170
第9章 監控 171
  1. 1 日誌 171
  2. 1.1 跟蹤查看 173
  3. 1.2 通用技巧 174
  4. 2 JMX與MBean概述 175
  5. 2.1 MBean 177
  6. 2.2 集成JMX 179
  7. 3 通過JMX與Cassandra互動 180
  8. 4 Cassandra的MBean 181
  9. 4.1 org.apache.cassandra.concurrent 185
  10. 4.2 org.apache.cassandra.db 185
  11. 4.3 org.apache.cassandra.gms 186
  12. 4.4 org.apache.cassandra.service 186
  13. 5 定製Cassandra的MBean 188
  14. 6 運行時分析工具 190
  15. 6.1 使用JMX和JHAT進行堆分析 191
  16. 6.2 發現執行緒問題 194
  17. 7 健康檢查 195
  18. 8 小結 196
第10章 維護 197
  1. 1 獲取環的信息 198
  2. 1.1 Info 198
  3. 1.2 Ring 198
  4. 2 獲取統計信息 199
  5. 2.1 使用cfstats 199
  6. 2.2 使用tpstats 200
  7. 3 基本維護工作 201
  8. 3.1 修復 201
  9. 3.2 刷寫 202
  10. 3.3 清理 203
  11. 4 快照 203
  12. 4.1 進行快照 203
  13. 4.2 清除快照 204
  14. 5 對集群進行負載均衡 205
  15. 6 退服節點 208
  16. 7 更新節點 210
  17. 7.1 刪除令牌 210
  18. 7.2 壓緊閾值 210
  19. 7.3 在一個工作的集群中改變列族 210
  20. 8 小結 211
第11章 性能調優 213
  1. 1 數據存儲 213
  2. 2 回復逾時 215
  3. 3 commit log 215
  4. 4 memtable 216
  5. 5 並發 216
  6. 6 快取 217
  7. 7 緩衝區尺寸 218
  8. 8 使用Python壓力測試 218
  9. 8.1 生成Python Thrift接口 218
  10. 8.2 運行Python壓力測試 220
  11. 9 啟動和JVM設定 222
  12. 10 小結 224
第12章 集成Hadoop 225
  1. 1 何為Hadoop 225
  2. 2 使用MapReduce 226
  3. 3 運行字數統計例子 227
  4. 3.1 將數據輸出到Cassandra 229
  5. 3.2 Hadoop流 229
  6. 4 MapReduce之上的工具 229
  7. 4.1 Pig 230
  8. 4.2 Hive 231
  9. 5 集群配置 231
  10. 6 案例 233
  11. 6.1 Raptr-com: Keith Thornhill 233
  12. 6.2 Imagini: Dave Gardner 233
  13. 7 小結 234
附錄 非關係型資料庫大觀 235
辭彙表 261
關於作者 279
關於封面 279

相關詞條

熱門詞條

聯絡我們