|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《Cassandra实战》
/ w, p3 n* x5 q9 ?java电子书推荐理由:本书内容全面,基于Cassandra最新版撰写,系统地讲解了Cassandra的所有功能特性和使用方法;实战性强,不仅包含大量示例代码,而且还设计了一个完整的在线交易系统实例;有一定的深度,不仅结合源代码分析了Cassandra的底层机制和工作原理,而且还精心总结了一些关于Cassandra的最佳实践。' o- @! y+ G. f l* l1 U1 @
, G$ \/ h! k# f
4 O; c# E& Z9 r; M+ v作者:郭鹏3 }* u+ X+ g+ g3 B5 K
出版社:机械工业出版社* V5 r6 H" y/ w
出版时间:2011年6月
2 [8 y* p1 b% w* {" k7 r) l7 W5 _9 ~+ Z5 i
% K$ V9 x( _0 }0 x X! ^3 b
! M% j! s/ L! x/ Z" x& g- E
, ^6 F6 B' E; E* H7 m0 c8 V s) L/ M: J; j% M
java电子书目录:
w9 Y6 i1 q6 R& q* e9 L7 ?% [- [
. L, w9 l+ O2 f4 M9 _& ]! H% p( i3 @
目录8 T9 H/ F3 i* X" {2 |# x( n
第1章 认识NoSQL. s1 O3 f# G* v9 r- t
1.1 NoSQL的起源和发展现状! S$ _: v- K! o' Q: ^
1.2 为什么要使用NoSQL
A% ^8 a! n _ 1.3 开源NoSQL产品介绍5 q2 [6 ^* M- w+ {0 R5 L
1.3.1 KeyValue的NoSQL数据库
5 q$ ^) Z" C7 ]" U5 A; u: e8 v 1.3.2 面向文档的NoSQL数据库
3 y2 N1 J* `& G# k4 V/ a 1.3.3 面向列的NoSQL数据库
# N. H7 w& E" J5 X8 |# Q 1.3.4 面向图的NoSQL数据库) j1 ^- `& Z7 j E: B- U d6 [1 T7 i/ W/ t
1.4 本章小结3 x* B5 M. R) a) \; n
第2章 Cassandra快速入门, R4 q9 {( b/ N6 T( C8 @
2.1 在Windows环境运行单机版Cassandra0 Y! N& [" M. Q5 s" z
2.1.1 配置JRE
- X- k3 P+ ?% H 2.1.2 配置运行Cassandra0.6.x
9 S+ {7 N9 ~) }* k5 X; E7 l 2.1.3 配置运行Cassandra0.7.x
, j; ~' a2 g& ]* i% l% d* z6 R2 @ 2.2 在Linux环境运行单机版Cassandra# d* M% _7 ?: b8 s8 J
2.2.1 配置JRE
* x3 [$ n, c0 B* z1 @- M 2.2.2 配置运行Cassandra0.6.x
' U9 o5 q- V3 s 2.2.3 配置运行Cassandra0.7.x' f6 _4 L" E V, W/ s/ C' z* C5 M; m
2.3 Cassandra的数据模型! f. W3 m' U% t2 H
2.3.1 Column
( G3 h+ N' A/ ` ] 2.3.2 SuperColumn- x" ?( T. W1 [) J
2.3.3 ColumnFamily8 M3 c, B! d9 e2 `
2.3.4 Keyspace' x9 T s! L7 Y# o/ u
2.4 Cassandra的数据排序规则
& m8 o" q, Z# _& \/ \ 2.5 配置数据类型9 h+ t: T3 ]& w* }9 R- _6 P" k
2.6 使用命令行工具与Cassandra交互
2 R A: H6 O6 O* a1 w; h: P: q1 C 2.6.1 与Cassandra0.6.x进行交互
0 J9 U3 B0 q" u% Z, g4 }0 n 2.6.2 与Cassandra0.7.x进行交互' b: l) D' Z: x; A2 e- ^' ]
2.7 本章小结+ q" u b; h/ h( C' g; O( ^
第3章 理解Cassandra编程接口
6 q8 A; v) _4 a+ @4 u9 Z1 y 3.1 多语言服务开发框架Thrift5 R7 A! W; q" V9 r. M' a$ T
3.2 Cassandra的数据类型& y+ E) s8 V- g/ m
3.2.1 Column
4 s. o9 G3 ~; ^) l; P8 C 3.2.2 SuperColumn h( F# ?% ]: v2 k/ Z5 E
3.2.3 ColumnOrSuperColumn
% t! [( x3 }% L 3.2.4 ColumnParent3 R+ a: K5 b( m: n, g- x6 m6 s
3.2.5 ColumnPath
9 G" E5 z% M A1 {2 m* j% r 3.2.6 SliceRange
. ` P+ k \( s" I3 G# M% ] 3.2.7 SlicePredicate
- s9 h9 X+ W. {8 J2 X. v$ k 3.2.8 Deletion/ g. _0 x" l1 K7 m' e% a
3.2.9 Mutation' z* {( m% f. _" w7 S0 [
3.2.10 KeyRange( b+ o& C( v$ x' h
3.2.11 KeySlice
4 x7 v1 m: ? Z* B( {( ~ 3.2.12 TokenRange" E* V7 s" f* y8 U0 m- D( }
3.2.13 AuthenticationRequest
& A9 Z8 L. @7 f4 l5 L. J: i; D 3.2.14 ConsistencyLevel
& j, s3 G0 H% y( x 3.2.15 NotFoundException/ G+ I m* U+ G- m
3.2.16 InvalidRequestException
4 t7 l2 M0 I: e/ @1 Q. X 3.2.17 UnavailableException
4 X; }( e+ z2 |0 _8 f 3.2.18 TimedOutException" [5 B- ^" k( m9 |
3.2.19 AuthenticationException2 U n4 O8 _ `4 J& M
3.2.20 AuthorizationException' ^) d; J/ K2 {- c
3.3 Cassandra的编程接口
2 I* r. \" H# P' i% C/ J4 j 3.3.1 get
4 b& c& ]7 N. u, _; s 3.3.2 get_slice( x! l3 P* K/ B& a j
3.3.3 multiget_slice. F, {# a% |# v7 |2 V
3.3.4 get_count: |6 _8 f, v9 e! i
3.3.5 get_range_slices
9 Q6 z9 c& t8 \ 3.5.6 insert
3 o% B) G' P% R& m! w' s% I. l% F 3.3.7 remove
9 U: R0 e7 @& W; B 3.3.8 batch_mutate! A }3 |6 F/ } v9 ?& g* i; y
3.3.9 describe_keyspaces
) c5 G) k p) B. C0 v 3.3.10 describe_keyspace
2 a$ G; J$ F+ _6 m5 } 3.3.11 describe_cluster_name5 g$ T, @% _7 Y, ?; C
3.3.12 describe_version' X( d% u' l7 {2 c
3.3.13 describe_ring- w& E+ v5 ^4 n' w9 }: ^. `1 Z
3.4 Cassandra0.7.x版本新增功能: y; t- `( O, l/ ?( _
3.4.1 二级索引' Y' K1 h$ V+ g6 _4 [- M
3.4.2 动态修改Schema
; _, Q/ ?/ E# O) S 3.4.3 自动清除过期数据7 E! F3 V, ]3 J9 k G- }
3.5 本章小结
! h/ d+ A. ]2 r# m第4章 基于Cassandra的在线交易系统
}3 {* `+ s+ R, U 4.1 需求分析
0 Z; r' n2 q a6 D0 A& k 4.2 数据模型设计
& S6 [( m/ p, m9 E6 w( ^1 f* J: U; E 4.2.1 Seller
( o; S0 ^$ j+ p+ B. M# v$ A6 i 4.2.2 Buyer( ^3 M, d- s2 H' y6 F2 k& ?
4.2.3 Product4 N( p+ L% f- s) Z
4.2.4 ProductCategory
/ X/ }+ @$ _ D 4.2.5 Comment$ ]7 X3 d$ A" K9 j$ P- k
4.3 编码实现8 @. U- `# `2 x
4.3.1 修改Keyspace设置5 f L( A. C. K& q f7 q/ _+ k
4.3.2 建立Eclipse项目
3 w/ n6 Y% W! V5 I 4.3.3 实体对象实现
$ g/ ? T0 X" T4 _. l 4.3.4 Cassandra数据操作接口实现3 T2 m- w. r' Z
4.4 系统功能验证
. [3 m" @$ J: y( B: Q! L7 F( Y' a 4.4.1 BuyerDao功能验证6 p. `( A3 r5 g0 P: C% D7 ~
4.4.2 SellerDao功能验证
: F$ e% p8 M& w9 L4 }, I$ ` 4.4.3 ProductDao功能验证5 C! T8 S+ l1 A8 v1 V
4.5 迁移到Cassandra0.7.x' o) z2 T3 C6 q# M9 V
4.5.1 建立Eclipse项目
2 r7 i$ m: \7 q2 U2 `' F5 \5 ? 4.5.2 修改编译错误代码
4 w. s$ Q/ q, O9 R8 X 4.5.3 新增Schema在线定义功能! [; `4 e8 f2 S$ d
4.5.4 功能验证6 r5 u9 M/ v0 X+ G7 ^+ m, ~
4.6 本章小结
* G7 P- ~( B& m第5章 Cassandra的集群机制
- l1 W- D: S2 B# U 5.1 一致性哈希
, n* W# a, @2 h+ u7 i v; _ 5.1.1 理解一致性哈希
; T* U* `2 Y2 y# V2 C 5.1.2 一致性哈希在Cassandra中的应用, E {# X L' m H
5.2 Gossip:集群节点之间的通信协议$ L: E1 I! `+ G8 T' g
5.2.1 FailureDetector! c) A9 Q" J8 ]
5.2.2 Gossiper
1 F, |) Z# W2 D$ \ 5.3 集群的数据备份机制5 s% ~$ v( V$ a; J9 X
5.3.1 EndpointSnitch
8 G' t' ^# @: ~6 y% h3 `, b4 A 5.3.2 ReplicationStrategy
% S: H7 f5 H7 u" ?3 l o4 T) ]- b 5.4 集群状态变化的处理机制6 }3 T% q/ q# @6 ^0 G+ t$ Y$ t! s1 X
5.4.1 StorageLoadBalancer
~$ q$ A& Y9 h/ h# R0 E 5.4.2 StorageService
, \/ N1 M2 k6 ]0 W* C) [ 5.4.3 MigrationManager
! H9 o7 [, y9 g8 m7 m2 ~3 A% ~! Q 5.5 本章小结
. Z" g% m# e( W5 A; V3 F$ l( W e2 y第6章 Cassandra的内部数据存储结构6 i' l/ H7 Z2 U: Z' r8 J1 P2 H: R
6.1 Cassandra中的数据存放规则3 C! V. u0 q6 x; r* V! p
6.2 Commilog
( c% `- Q( Z. z' s3 y 6.3 Memtable
$ F4 ^. e$ ]" ~/ _2 P x/ S' [ 6.4 SSTable/ v. g S+ v, Q- y. e0 G
6.4.1 Filter文件3 m! _# V0 H- v- v. R& u
6.4.2 Index文件
, {0 k% c/ X# f2 P% A8 s7 t# B 6.4.3 Data文件/ t8 j' z2 N( D; S7 G
6.4.4 Statistics文件
& ]7 x& d/ p/ E: U 6.5 系统表空间
$ d1 g1 `0 |' \- L% A2 j 6.6 本章小结9 N4 b3 p4 v: c/ W7 L- v
第7章 Cassandra的数据更新机制
, {$ B# F, x0 M, U) i2 E2 b 7.1 数据更新流程
# y% m: h1 {1 M- a/ ^( @ 7.2 集群数据更新策略
2 Z" U! l2 t3 {0 E) Y 7.2.1 ANY
8 r+ y& n9 l6 {6 j 7.2.2 ONE
6 v# {& @" ^" }( [/ m9 `5 ? 7.2.3 QUORUM. v, v7 t% A9 ~" M
7.2.4 LOCAL_QUORUM
) @% E9 ~! i( c7 z: I 7.2.5 EACH_QUORUM
1 _- y% n: Q, f7 x I8 X 7.2.6 ALL
3 B# a1 X$ Q; |1 i* q5 y9 I n 7.3 二级索引
! E* N/ u% k2 q7 ^/ k 7.3.1 为什么需要二级索引
" l& g6 R& w! i' l( ` 7.3.2 Cassandra二级索引更新过程/ z- i# t$ I9 W* w, @. Y
7.4 本章小结/ W; z! {6 r! P" b. W+ i3 K: | Q
第8章 Cassandra的数据读取机制) ?5 m b* @, O" c. h ]7 }5 i
8.1 数据读取流程
K( ^$ s# I6 p9 K6 d 8.1.1 弱读取
9 q/ ^) F% R* Z1 k2 V' m 8.1.2 强读取8 B Q2 B& H$ ^' C: E) k# ?: M# i1 E
8.2 集群数据读取策略+ H9 R$ C2 J: r3 J" d _- V" n
8.2.1 ONE
* W: k+ f1 \- t; Y# B) z 8.2.2 QUORUM' D( @, L# X% Y% h0 C. s" t
8.2.3 LOCAL_QUORUM
& L" T! }1 L8 s8 M: T2 y" T2 ^9 j 8.2.4 EACH_QUORUM' e# s, E; U. O; E
8.2.5 ALL; d5 T6 @# h6 @" m2 r4 S* k. `
8.3 读修复
5 j8 Y1 ~8 G- \2 r* p B+ @0 s7 V 8.4 数据缓存
9 o5 S- p3 J+ f2 c8 I! a, p 8.4.1 RowCache
2 K/ K& O9 C/ r/ ^5 S 8.4.2 KeyCache
. {3 m: C4 x5 z3 N 8.5 二级索引0 l6 c. u1 ]+ d0 H+ X
8.6 本章小结2 ?3 R* y" p# X
第9章 Cassandra的数据压缩机制
d6 h3 q3 ~- J3 u, G( Y2 T/ ~8 N 9.1 为什么要进行数据压缩/ V& O$ z% v/ J# o4 h8 r+ l
9.2 如何控制数据压缩
% Q; u8 P( G# B6 N B 9.3 数据压缩流程& b2 q4 a* q0 H) [. E w0 S
9.4 维护Cassandra中的数据: `7 i1 d: H( x
9.4.1 数据清理压缩. o% O/ @2 @ x% u$ ]
9.4.2 数据一致性校验压缩
9 q N" N+ V! D& B 9.5 本章小结
: a. R& I+ f; U' a# o) ~) M第10章 Cassandra的启动流程
, j3 D* k# I) Z h! O 10.1 Cassandra启动脚本$ Q) Q% |" P' |# k: b
10.2 Cassandra启动流程" s( K4 a" W# n
10.2.1 配置log4j) L" _ x0 D) Z$ L; h3 U3 L
10.2.2 读取校验配置文件信息
n8 A% a8 {! M 10.2.3 加载所有的数据文件
2 P4 J; h7 e5 l: g! x3 s& s% K 10.2.4 修复数据2 q. E: }0 B; }4 U
10.2.5 启动Gossiper服务
( k" e& y/ x; ?5 d* _ 10.2.6 判断是否需要进行Bootstrap操作
7 P5 l7 L- O4 B 10.2.7 监听Thrift端口,提供Thrift服务
9 p9 T7 g* h7 u 10.3 本章小结
: R/ P q9 s7 q- c) L第11章 在分布式环境中使用的Cassandra. Z5 A# E/ P! U* q
11.1 在Linux环境中搭建与使用Cassandra集群( I: P+ l1 F! m" j
11.1.1 配置JRE
# d$ Y- j) d1 k P) M( k2 L+ e 11.1.2 部署Cassandra可执行文件; U8 F: y( @1 P
11.1.3 修改Cassandra配置文件' u6 N# I; A- J0 [4 ^" x0 [ c8 X
11.1.4 启动Cassandra& j1 s- q7 a* `7 d
11.2 Cassandra运行配置项详解
- @6 H V( K; i, N$ j 11.3 Cassandra集群的运行和维护
9 i. U1 ]# u8 L1 p/ r/ r 11.3.1 查看集群的运行情况2 d" B- A; p4 c! Y
11.3.2 添加节点
7 Z; M6 w, }6 S5 O' ^ 11.3.3 删除节点
; i& `3 D& N/ _* x- R 11.3.4 移动节点% v& D0 e" H6 O2 A* N
11.3.5 数据维护! ^$ Q5 \9 f6 D1 }8 ?( U
11.4 本章小结. H3 x. A3 i7 e& ~
第12章 Cassandra与Hadoop的整合
9 _, e! m1 b/ E! Z- \5 k 12.1 Hadoop快速入门
. S9 `! u* b+ M" N6 p& x7 G e 12.1.1 Hadoop简介/ j; b7 m/ d: p& W" r+ o G2 ~
12.1.2 HDFS
: h$ [2 W% b! Z6 d0 ?- O 12.1.3 MapReduce, [$ d2 c, t, {$ M7 B' Q0 w8 n3 t
12.1.4 配置单机版Hadoop
6 x! d5 E7 h5 L! _( z& t 12.1.5 编写MapReduce程序# w! P; X9 I" V" P" I- [
12.2 为什么要整合Cassandra与Hadoop) F' h4 _ D+ Q
12.3 使用MapReduce导入数据到Cassandra中
' Q }6 r, w4 J 12.4 将Cassandra中的数据作为MapReduce输入
0 j+ I4 M, v0 l 12.5 本章小结. X* @+ E4 w3 J& X
第13章 Cassandra最佳实践
: x: P( Q7 h2 `; C( j P 13.1 避免Cassandra自身的限制, Z: c8 c7 X5 Y9 A/ E1 M0 E7 M
13.1.1 不要盲目使用SuperColumn
2 R, Z4 Y" U# |) a) A 13.1.2 硬盘的容量大小限制* Q, }& n b, N; e
13.1.3 注意系统大小限制3 a: K, V! T3 i% b- D
13.2 数据压缩策略
& N5 o- N- R9 `: r. e" O) A: {$ J 13.3 使用高级的客户端0 N& V6 x2 d- j! l3 ?. p
13.3.1 Pycassa
0 j4 U5 z; X- L5 i& N 13.3.2 Hector
' R {6 Q4 |6 v, F8 A2 d 13.3.3 FluentCassandra* X5 `2 X( i3 `9 ?
13.3.4 Cassandra4 |. E2 t8 O* O3 t- I5 e7 r
13.3.5 phpcassa
% k, u" P6 b {+ q- r5 Q( R$ ] 13.4 负载均衡& H; c, Q5 ~, ?) w& u
13.4.1 随机选取
1 G6 }. r, {6 J# @4 O 13.4.2 缓存集群信息
. Q0 x9 m" Y8 N# m 13.5 谨慎使用二级索引6 e5 h- d( d7 J, i
13.6 通过JMX监测Cassandra- d, X* {7 L$ v
13.7 调整JVM启动参数
4 _* f( q# p4 K1 v9 n2 l0 J 13.8 使用适合的系统配置参数
- d. H* b) U: M 13.9 本章小结9 v( }& c, s4 T; z+ n# @
V3 K. `0 E1 D% N- M8 Z
4 h8 ]8 u% \: w( H: H
百度网盘下载地址链接(百度云):java自学网(javazx.com) Cassandra实战 PDF 高清 电子书 百度云.zip【密码回帖可见】& ?/ ^+ _5 X- _
: k8 N8 H; D, O" B+ y
5 u/ b0 f* m: |0 }
|
|