|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《Cassandra实战》
O ~; a7 r3 @2 |8 g7 F: Ejava电子书推荐理由:本书内容全面,基于Cassandra最新版撰写,系统地讲解了Cassandra的所有功能特性和使用方法;实战性强,不仅包含大量示例代码,而且还设计了一个完整的在线交易系统实例;有一定的深度,不仅结合源代码分析了Cassandra的底层机制和工作原理,而且还精心总结了一些关于Cassandra的最佳实践。, f0 g# e2 b( n, @5 P% p( L |
$ ^' ]+ D% a5 k. Q: L/ v' M. L
0 Z# m2 M. _% l7 B0 K8 r( ?$ C9 [作者:郭鹏9 i* N! i& j" @; {! M& @6 \
出版社:机械工业出版社
; T* q/ t e& V/ C; ^' y出版时间:2011年6月4 I" e( a1 E) O9 }! v" H
7 ~$ I$ j2 v( N$ ~# I) i! @
# g7 R% M* }( n: A# Y1 q: E
( r) k7 L, [ _. z q" s
# c9 ^5 h% ~8 e _9 p3 a$ a# {$ z$ K
java电子书目录:6 d0 F* Z! G+ s- T8 v
* K( J- P2 j. ~
: Z- {4 b# O2 B" ?目录
0 s/ ~+ f& Q- `2 J. u第1章 认识NoSQL: _* _% v, ]& B# f
1.1 NoSQL的起源和发展现状
6 X* ]% ?. t$ ^, ? 1.2 为什么要使用NoSQL
1 v' b3 E2 T; Z; q4 K, a 1.3 开源NoSQL产品介绍
- p4 G$ U" h9 S7 D- _ 1.3.1 KeyValue的NoSQL数据库
~. t3 I' j- V _% M% E 1.3.2 面向文档的NoSQL数据库0 q# C* W" q U7 ^
1.3.3 面向列的NoSQL数据库! v2 I5 a) n5 }! S2 ~3 M& k) Z+ V
1.3.4 面向图的NoSQL数据库
1 p$ R2 F# r, `8 w9 b$ t4 v 1.4 本章小结
' m5 b; y) f u/ E; N" _第2章 Cassandra快速入门
8 e( L- ~ f& M0 J' D 2.1 在Windows环境运行单机版Cassandra
- Z5 c# d9 P' d3 z- u1 ]8 D7 e* r9 [' u 2.1.1 配置JRE5 i: f, }; [4 a8 w
2.1.2 配置运行Cassandra0.6.x& Y2 K' f6 v. P/ I4 i9 W) l; u
2.1.3 配置运行Cassandra0.7.x
6 H/ p9 W0 G1 N1 h 2.2 在Linux环境运行单机版Cassandra, }$ k9 Y5 W6 x F9 O
2.2.1 配置JRE6 S6 f" x. c1 I4 f2 t1 ^+ L
2.2.2 配置运行Cassandra0.6.x) M l8 p$ T8 R6 v2 H* O9 B2 Y
2.2.3 配置运行Cassandra0.7.x
$ S1 n4 P( l7 j6 k5 T" C1 a 2.3 Cassandra的数据模型$ ?" w( p) Z* Q
2.3.1 Column
3 q$ a A3 h5 | 2.3.2 SuperColumn% T y9 C) r d4 O5 m5 ?4 x
2.3.3 ColumnFamily! o' z" ^: B, g3 z+ @5 E+ l
2.3.4 Keyspace
7 w5 t5 }6 T. R1 D 2.4 Cassandra的数据排序规则
2 N6 z2 p$ q! a. W E$ ^! } 2.5 配置数据类型
/ N. S3 B: j2 o 2.6 使用命令行工具与Cassandra交互5 P+ h1 {; o3 n
2.6.1 与Cassandra0.6.x进行交互: O; V% ^; D. M; V3 j
2.6.2 与Cassandra0.7.x进行交互
6 G6 v4 [3 d5 @. Q/ A3 q* R 2.7 本章小结- [! x0 \/ L6 L/ m6 [; X4 l
第3章 理解Cassandra编程接口
1 B2 A+ N' c8 G: Y8 h! u) { 3.1 多语言服务开发框架Thrift
5 q& a) J2 o- [! l5 u* j3 @ 3.2 Cassandra的数据类型' X. l1 [" M. u: q
3.2.1 Column
; b. a* ~6 T0 p3 ~. G$ r 3.2.2 SuperColumn
/ I" r' X# I0 e( l9 P8 u$ P4 T 3.2.3 ColumnOrSuperColumn; i2 K& _/ l+ ]0 v0 w
3.2.4 ColumnParent
7 H; ^8 e" G1 R. r% R2 T# X 3.2.5 ColumnPath
, ]1 P' x7 ^" T: N6 \ 3.2.6 SliceRange
! a8 Y5 s; M8 _4 D 3.2.7 SlicePredicate
/ P1 m" |3 b% S' i8 I$ U$ } 3.2.8 Deletion
' k7 M2 x3 f1 s; C C2 ` 3.2.9 Mutation
N7 D+ e. P/ S; T% b1 o# @ 3.2.10 KeyRange
/ g0 n* Z- s4 f) z 3.2.11 KeySlice
9 I! E6 z) Y+ [- L, D( a; Q 3.2.12 TokenRange
- f) ^1 Z. ~& \/ p! I 3.2.13 AuthenticationRequest' U1 c/ m+ y D
3.2.14 ConsistencyLevel3 z$ l2 `0 x. K$ H0 [- R9 R
3.2.15 NotFoundException
) A+ }/ a. o3 E+ f: s6 |/ q$ Z& [8 G) | 3.2.16 InvalidRequestException# l, y0 Q* O$ ^: f4 y: `
3.2.17 UnavailableException: L' N5 L* c( Y8 q
3.2.18 TimedOutException
2 ]. o# L( L/ S8 f& }- @* ] 3.2.19 AuthenticationException
9 G4 ^* s( F6 B" u+ M 3.2.20 AuthorizationException
" G! I8 U6 h2 S1 }- F/ a 3.3 Cassandra的编程接口% N& ]( j8 {! [5 y8 ^
3.3.1 get
7 g/ Q5 S4 s: i0 J. Z9 S4 Y) H 3.3.2 get_slice
" u1 g" Q% L) V3 A/ l 3.3.3 multiget_slice$ D( V% M3 ~- H4 p( K2 b9 ^6 M
3.3.4 get_count
3 w8 w7 I4 O' V1 b3 m 3.3.5 get_range_slices- u) E$ |5 o0 g6 I+ D/ `# Y- x1 e9 o
3.5.6 insert
5 [/ r x, |5 ^- k9 J x 3.3.7 remove; J$ r6 X; o" Q( Y, ~
3.3.8 batch_mutate8 v/ \( P: b3 s6 ]3 s7 l. z
3.3.9 describe_keyspaces
0 r+ T6 q, \8 W3 |( P! G, F 3.3.10 describe_keyspace9 W8 U. D4 [# P( K6 ?4 k
3.3.11 describe_cluster_name
$ v' T" |9 n6 ?! @& s2 Q( e& B 3.3.12 describe_version& X, \3 O- t: z1 x" L4 T$ W
3.3.13 describe_ring
3 g. _6 R; o5 \/ Z7 a6 |/ g 3.4 Cassandra0.7.x版本新增功能. j2 z7 ~+ c9 I' u$ |
3.4.1 二级索引
6 S8 b' E! G, o, U* z1 H J 3.4.2 动态修改Schema
3 z, H. L3 G" v3 n 3.4.3 自动清除过期数据
, s; H8 o( ? H4 ]4 z7 h 3.5 本章小结
8 k$ e' M1 _8 ]2 W第4章 基于Cassandra的在线交易系统
( P s8 h- g: p3 D, R! {* Z: O 4.1 需求分析
; @+ Z. \( B* }* B6 }/ Z 4.2 数据模型设计
* W/ G8 s9 l0 ? 4.2.1 Seller0 v" G# y \ Z$ {
4.2.2 Buyer' e( A; u& e9 Y4 l; Q
4.2.3 Product
k8 b- z J$ z2 d+ `9 z 4.2.4 ProductCategory
8 Q2 }2 O5 W$ b' | 4.2.5 Comment
c: G! q: c' H8 n) B 4.3 编码实现
. ^: n( V7 t$ C2 Q9 c8 \ 4.3.1 修改Keyspace设置
; |- Y+ s& X, b7 |3 N3 h) b 4.3.2 建立Eclipse项目3 a2 Y4 I! E" c4 N* W
4.3.3 实体对象实现. H9 b$ h6 b, T' e) h
4.3.4 Cassandra数据操作接口实现
9 F% X$ ~9 l8 y% B0 ~ 4.4 系统功能验证0 H0 T& Q. v) h& m
4.4.1 BuyerDao功能验证, Y$ J5 v# {$ b8 v9 z
4.4.2 SellerDao功能验证
8 e$ ?& k4 @8 O. [4 H 4.4.3 ProductDao功能验证
" ~4 J: o5 V( }/ J0 @( u$ ~# p% P 4.5 迁移到Cassandra0.7.x4 v# }3 e7 T7 K3 u$ r* I+ d- A
4.5.1 建立Eclipse项目- H/ K- y# X( B8 w( |1 k6 P- N
4.5.2 修改编译错误代码
9 }, V% l- H$ |2 \ 4.5.3 新增Schema在线定义功能
5 V: V( m% {0 B! n# } 4.5.4 功能验证
( o. y! H; d, r& S, _7 X' O7 x 4.6 本章小结
2 w& a. V+ m0 d" Y. b: z第5章 Cassandra的集群机制
1 X8 R, d$ d x7 J6 J' W4 {, S4 n( Q 5.1 一致性哈希
4 \( ^/ i/ r8 h* s d' p6 i6 L/ L 5.1.1 理解一致性哈希
9 b* @5 q1 x7 a0 T 5.1.2 一致性哈希在Cassandra中的应用
( x0 M3 o7 e8 _" f 5.2 Gossip:集群节点之间的通信协议
& g* D/ {7 o& }/ D+ Z( M 5.2.1 FailureDetector
6 l. T# B% @" B) d 5.2.2 Gossiper
& x! O" V& V+ G7 W' r& m0 o 5.3 集群的数据备份机制
- \% c! P" u- d K" ?, l 5.3.1 EndpointSnitch
& k$ Q+ u2 W7 F5 h0 N2 `- | 5.3.2 ReplicationStrategy4 h0 H5 t- t, ^/ c A" P+ }
5.4 集群状态变化的处理机制
7 T1 S$ I- ]0 U- A: V 5.4.1 StorageLoadBalancer
) R5 T% R) h. V1 m8 n* Y. x 5.4.2 StorageService
2 x) Y, A- C& q 5.4.3 MigrationManager
: s: q; T" _3 }# b G' t1 @ V 5.5 本章小结
* {9 ^3 ]: y- ~: p第6章 Cassandra的内部数据存储结构
& r, f) ] S! C- O9 O: ]/ B 6.1 Cassandra中的数据存放规则- X3 ]2 V/ k$ T
6.2 Commilog
" R+ C. A; g' b 6.3 Memtable
6 V4 `; ?" |& c3 {# V 6.4 SSTable
! S% J5 J9 e5 n 6.4.1 Filter文件
( r( ]& y# N% u2 E 6.4.2 Index文件
$ T s( `: }3 N* ~0 z 6.4.3 Data文件& E7 {, W: [6 m! a
6.4.4 Statistics文件
) G* k/ _2 o" w4 W; s 6.5 系统表空间
2 _: n# C1 ?: ~$ h 6.6 本章小结$ {% x' k1 s. C3 F( a
第7章 Cassandra的数据更新机制( [4 b( E6 j% l* A% F8 i* e
7.1 数据更新流程& K8 g4 [6 R) |1 l
7.2 集群数据更新策略
' X( P* \* F, Z, m0 Q( b$ {' } 7.2.1 ANY
; U2 _# S1 a) P0 z E. X( F6 u7 i( q 7.2.2 ONE" E2 J" f7 {: ?5 c
7.2.3 QUORUM2 N8 i1 O8 J" {+ f
7.2.4 LOCAL_QUORUM
0 n6 k7 Q0 V# \7 ]0 F8 }- W& d 7.2.5 EACH_QUORUM
. w- X9 h; D, C# X2 q/ n 7.2.6 ALL2 {% C% e# }8 z& Z. u5 `
7.3 二级索引0 B- d4 p& z; H; |
7.3.1 为什么需要二级索引9 T1 G; x! I4 e3 f
7.3.2 Cassandra二级索引更新过程
# Y9 t) X0 J/ b6 U 7.4 本章小结% k) M+ D: B+ b2 H: I
第8章 Cassandra的数据读取机制 _ w# q- ?/ r4 s }0 A) ~3 c
8.1 数据读取流程* e# C$ [0 ~) y1 Y2 Q
8.1.1 弱读取 U1 w% K/ B- p, ~5 K7 K: x$ Q, e: T& W
8.1.2 强读取
) L( J; X9 \( G" v5 d# Z( o' C 8.2 集群数据读取策略
% U Q0 ?2 O) P4 q$ |) y: D2 | 8.2.1 ONE ^# q* V* O; x) ]. S
8.2.2 QUORUM
. k; V. O2 \- T. c+ R. [6 j 8.2.3 LOCAL_QUORUM. ]- O d- R4 k
8.2.4 EACH_QUORUM H/ X6 k* R0 u+ W
8.2.5 ALL
8 ^' X. F+ k& o3 q& X* L; a, ?& J q 8.3 读修复) r8 n! P5 K; r* T
8.4 数据缓存4 F; ]* q8 C. E* G
8.4.1 RowCache
# `" c% `, s, F4 m1 V8 m0 s9 ? 8.4.2 KeyCache0 J G1 \! x3 H* o, z3 f
8.5 二级索引
: @$ _& g0 ?8 O' @' ^4 I 8.6 本章小结
3 p- ? Z, S; }8 q& @2 e第9章 Cassandra的数据压缩机制
! C$ F n1 K/ G 9.1 为什么要进行数据压缩* v% G2 j- B6 G; N
9.2 如何控制数据压缩
' t9 ~) T) u) Y4 l$ {$ q$ v% H 9.3 数据压缩流程
: [, U7 ~/ }( ~% l8 W% Q, K 9.4 维护Cassandra中的数据4 C& l3 g; X; |6 I
9.4.1 数据清理压缩2 Y! Q: n/ L$ ^. j
9.4.2 数据一致性校验压缩& F5 [* b T8 \$ o6 Z' e5 j
9.5 本章小结
& @ T* ?$ @7 @" L6 U第10章 Cassandra的启动流程' C+ {4 T9 I% V$ |+ E' j
10.1 Cassandra启动脚本
6 U' t% f& u: P# s 10.2 Cassandra启动流程& m$ D3 O" p9 z7 a. P
10.2.1 配置log4j6 i3 R. x: a" M- @& J9 P
10.2.2 读取校验配置文件信息+ s1 F- Z( D) @4 \$ @+ y) E' q/ f5 u
10.2.3 加载所有的数据文件
$ l$ d0 a9 q m4 l7 ?, z 10.2.4 修复数据* o+ e5 Z; [4 j v
10.2.5 启动Gossiper服务
' M2 ^! d$ Z4 H0 \' X8 ^ 10.2.6 判断是否需要进行Bootstrap操作
( A5 X; q9 m* B" ` 10.2.7 监听Thrift端口,提供Thrift服务3 l( C7 K* y8 a
10.3 本章小结# d! a2 ]) b. `
第11章 在分布式环境中使用的Cassandra
6 w" U9 o9 w( Z, E 11.1 在Linux环境中搭建与使用Cassandra集群
$ W0 |& x- h, b/ H/ Z 11.1.1 配置JRE
9 _! T1 |/ S$ k, U+ W 11.1.2 部署Cassandra可执行文件
; Y! {7 }% ~. x" g 11.1.3 修改Cassandra配置文件
' r3 M, Z0 V( h; }0 P 11.1.4 启动Cassandra( G1 G) P8 M6 D1 o& n
11.2 Cassandra运行配置项详解 Y! k' U+ v& X5 R
11.3 Cassandra集群的运行和维护
+ W& e1 _* t) a$ U6 G3 y 11.3.1 查看集群的运行情况
: ^4 e. t1 {9 p' `& \8 ^$ z 11.3.2 添加节点, T4 `9 S$ P) m( r0 @
11.3.3 删除节点! ~ }, q" |5 x9 Z0 M( h
11.3.4 移动节点
- T' n' i2 c; t! q9 }( I+ P 11.3.5 数据维护$ }( m/ K% g, u7 |
11.4 本章小结/ P0 v7 N5 l: f% y1 _. g0 e
第12章 Cassandra与Hadoop的整合9 y/ o1 B. z$ V! e' Q
12.1 Hadoop快速入门5 g; K9 \6 F. V9 v) G0 _& o
12.1.1 Hadoop简介5 O" A2 x" S& P6 Y! G$ a# Z2 A
12.1.2 HDFS
2 W; E, \6 P4 n5 c* T 12.1.3 MapReduce
* x: }0 b+ g; B: @ 12.1.4 配置单机版Hadoop. N E+ `+ ^# ^( @1 K" b1 S
12.1.5 编写MapReduce程序 |* J, z2 O: L% P
12.2 为什么要整合Cassandra与Hadoop. H* u( z# m' I, X% d4 f
12.3 使用MapReduce导入数据到Cassandra中! o5 m. @3 D+ |5 ^9 Y! {( ^
12.4 将Cassandra中的数据作为MapReduce输入
0 h- I# S% I* x7 f7 w& J 12.5 本章小结
$ Q- O7 z! f3 J7 K3 ~第13章 Cassandra最佳实践3 S4 v+ |+ p8 A) I3 f' t+ B7 a
13.1 避免Cassandra自身的限制0 W3 L1 g' c7 U; E5 R) v- a
13.1.1 不要盲目使用SuperColumn) \& b5 } |% [+ K% v
13.1.2 硬盘的容量大小限制
7 z9 H; m4 L# `! A% k 13.1.3 注意系统大小限制! ^" l. Z$ X' T B
13.2 数据压缩策略
' ]+ j" t _( a1 Q: N 13.3 使用高级的客户端
4 c! I& q% ]! f- q. v7 I4 W 13.3.1 Pycassa, V0 { _) Q/ r' \/ j
13.3.2 Hector
7 X/ B# w6 Z* |3 m2 @; E1 ~ 13.3.3 FluentCassandra
/ W5 ~: E" k' _! E: m1 T 13.3.4 Cassandra T6 ?% T* u6 J7 J% @
13.3.5 phpcassa
, w9 j5 x I3 K( d+ I 13.4 负载均衡
+ S% p/ `! o; v* {/ w 13.4.1 随机选取
+ Q+ L, f3 d }# H. z2 L7 d 13.4.2 缓存集群信息) P+ Y L$ \/ X, g( }7 ?& v/ y6 _
13.5 谨慎使用二级索引' H9 C; e/ l' k) {/ ]: x
13.6 通过JMX监测Cassandra/ `6 b( c ]1 v2 ~8 S* U7 Z
13.7 调整JVM启动参数
! Z& T% R+ M* I5 T3 g 13.8 使用适合的系统配置参数
- B1 g5 M: a6 g" M% A9 U) V* h 13.9 本章小结
c# [; x8 @8 U1 _9 u
+ T, u: L! `5 v. |* A. r5 }8 \' x$ G* o; l% f; ?$ l
百度网盘下载地址链接(百度云):java自学网(javazx.com) Cassandra实战 PDF 高清 电子书 百度云.zip【密码回帖可见】; R3 S! R6 l* I2 y& b0 e% _. k) y
w. B( J$ |& l' H; K$ \
( B- G% s. ?6 ~. ?/ |* _; Q |
|