前言
第1章认识NoSQL/1
1.1NoSQL的起源和发展现状/2
1.2为什么要使用NoSQL/2
1.3开源NoSQL产品介绍/3
1.3.1Key/Value的NoSQL数据库/3
1.3.2面向文档的NoSQL数据库/4
1.3.3面向列的NoSQL数据库/5
1.3.4面向图的NoSQL数据库/6
1.4本章小结/7
第2章Cassandra快速入门/9
2.1在Windows环境运行单机版Cassandra/10
2.1.1配置JRE/11
2.1.2配置运行Cassandra 0.6.x/11
2.1.3配置运行Cassandra 0.7.x/12
2.2在Linux环境运行单机版Cassandra/14
2.2.1配置JRE/14
2.2.2配置运行Cassandra 0.6.x/15
2.2.3配置运行Cassandra 0.7.x/16
2.3Cassandra的数据模型/18
2.3.1Column/18
2.3.2SuperColumn/18
2.3.3ColumnFamily/19
2.3.4Keyspace/20
2.4Cassandra的数据排序规则/20
2.5配置数据类型/22
2.6使用命令行工具与Cassandra交互/23
2.6.1与Cassandra 0.6.x进行交互/23
2.6.2与Cassandra 0.7.x进行交互/24
2.7本章小结/26
第3章理解Cassandra编程接口/27
3.1多语言服务开发框架Thrift/28
3.2Cassandra的数据类型/28
3.2.1Column/28
3.2.2SuperColumn/29
3.2.3ColumnOrSuperColumn/29
3.2.4ColumnParent/29
3.2.5ColumnPath/30
3.2.6SliceRange/30
3.2.7SlicePredicate/31
3.2.8Deletion/31
3.2.9Mutation/31
3.2.10KeyRange/31
3.2.11KeySlice/32
3.2.12TokenRange/32
3.2.13AuthenticationRequest/32
3.2.14ConsistencyLevel/33
3.2.15NotFoundException/33
3.2.16InvalidRequestException/34
3.2.17UnavailableException/34
3.2.18TimedOutException/34
3.2.19AuthenticationException/34
3.2.20AuthorizationException/35
3.3Cassandra的编程接口/35
3.3.1get/35
3.3.2get_slice/36
3.3.3multiget_slice/36
3.3.4get_count/37
3.3.5get_range_slices/37
3.5.6insert/38
3.3.7remove/38
3.3.8batch_mutate/39
3.3.9describe_keyspaces/39
3.3.10describe_keyspace/39
3.3.11describe_cluster_name/40
3.3.12describe_version/40
3.3.13describe_ring/40
3.4Cassandra 0.7.x版本新增功能/40
3.4.1二级索引/40
3.4.2动态修改Schema/44
3.4.3自动清除过期数据/46
3.5本章小结/47
第4章基于Cassandra的在线交易系统/49
4.1需求分析/50
4.2数据模型设计/50
4.2.1Seller/51
4.2.2Buyer/51
4.2.3Product/52
4.2.4ProductCategory/53
4.2.5Comment/54
4.3编码实现/54
4.3.1修改Keyspace设置/55
4.3.2建立Eclipse项目/56
4.3.3实体对象实现/55
4.3.4Cassandra数据操作接口实现/56
4.4系统功能验证/60
4.4.1BuyerDao功能验证/60
4.4.2SellerDao功能验证/61
4.4.3ProductDao功能验证/62
4.5迁移到Cassandra 0.7.x/65
4.5.1建立Eclipse项目/65
4.5.2修改编译错误代码/65
4.5.3新增Schema在线定义功能/69
4.5.4功能验证/70
4.6本章小结/71
第5章Cassandra的集群机制/73
5.1一致性哈希/74
5.1.1理解一致性哈希/74
5.1.2一致性哈希在Cassandra中的应用/77
5.2Gossip:集群节点之间的通信协议/81
5.2.1FailureDetector/82
5.2.2Gossiper/83
5.3集群的数据备份机制/88
5.3.1EndpointSnitch/88
5.3.2ReplicationStrategy/91
5.4集群状态变化的处理机制/96
5.4.1StorageLoadBalancer/97
5.4.2StorageService/98
5.4.3MigrationManager/99
5.5本章小结/99
第6章Cassandra的内部数据存储结构/101
6.1Cassandra中的数据存放规则/102
6.2Commilog/102
6.3Memtable/103
6.4SSTable/105
6.4.1Filter文件/105
6.4.2Index文件/107
6.4.3Data文件/109
6.4.4Statistics文件/113
6.5系统表空间/113
6.6本章小结/114
第7章Cassandra的数据更新机制/115
7.1数据更新流程/116
7.2集群数据更新策略/116
7.2.1ANY/120
7.2.2ONE/121
7.2.3QUORUM/121
7.2.4LOCAL_QUORUM/121
7.2.5EACH_QUORUM/121
7.2.6ALL/121
7.3二级索引/122
7.3.1为什么需要二级索引/122
7.3.2Cassandra二级索引更新过程/123
7.4本章小结/124
第8章Cassandra的数据读取机制/125
8.1数据读取流程/126
8.1.1弱读取/126
8.1.2强读取/128
8.2集群数据读取策略/131
8.2.1ONE/132
8.2.2QUORUM/132
8.2.3LOCAL_QUORUM/132
8.2.4EACH_QUORUM/132
8.2.5ALL/133
8.3读修复/133
8.4数据缓存/134
8.4.1RowCache/134
8.4.2KeyCache/134
8.5二级索引/135
8.6本章小结/135
第9章Cassandra的数据压缩机制/137
9.1为什么要进行数据压缩/138
9.2如何控制数据压缩/138
9.3数据压缩流程/139
9.4维护Cassandra中的数据/143
9.4.1数据清理压缩/143
9.4.2数据一致性校验压缩/144
9.5本章小结/144
第10章Cassandra的启动流程/145
10.1Cassandra启动脚本/146
10.2Cassandra启动流程/149
10.2.1配置log4j/150
10.2.2读取校验配置文件信息/150
10.2.3加载所有的数据文件/152
10.2.4修复数据/154
10.2.5启动Gossiper服务/155
10.2.6判断是否需要进行Bootstrap操作/156
10.2.7监听Thrift端口,提供Thrift服务/157
10.3本章小结/157
第11章在分布式环境中使用的Cassandra/159
11.1在Linux环境中搭建与使用Cassandra集群/160
11.1.1配置JRE/160
11.1.2部署Cassandra可执行文件/161
11.1.3修改Cassandra配置文件/162
11.1.4启动Cassandra/163
11.2Cassandra运行配置项详解/166
11.3Cassandra集群的运行和维护/175
11.3.1查看集群的运行情况/176
11.3.2添加节点/179
11.3.3删除节点/181
11.3.4移动节点/183
11.3.5数据维护/185
11.4本章小结/187
第12章Cassandra与Hadoop的整合/189
12.1Hadoop快速入门/190
12.1.1Hadoop简介/190
12.1.2HDFS/192
12.1.3Map/Reduce/192
12.1.4配置单机版Hadoop/194
12.1.5编写Map/Reduce程序/195
12.2为什么要整合Cassandra与Hadoop/200
12.3使用Map/Reduce导入数据到Cassandra中/200
12.4将Cassandra中的数据作为Map/Reduce输入/205
12.5本章小结/209
第13章Cassandra最佳实践/211
13.1避免Cassandra自身的限制/212
13.1.1不要盲目使用Super Column/212
13.1.2硬盘的容量大小限制/212
13.1.3注意系统大小限制/212
13.2数据压缩策略/213
13.3使用高级的客户端/213
13.3.1Pycassa/213
13.3.2Hector/215
13.3.3FluentCassandra/218
13.3.4Cassandra/220
13.3.5phpcassa/221
13.4负载均衡/222
13.4.1随机选取/222
13.4.2缓存集群信息/222
13.5谨慎使用二级索引/223
13.6通过JMX监测Cassandra/223
13.7调整JVM启动参数/229
· · · · · · (
收起)