序言
第一章 初识Cassandra(概述)
1.1. Cassandra的诞生与NoSQL的历史;
1.2 使用Cassandra的N个理由;
1.2.1 为什么使用NoSQL;
1.2.2 Cassandra同类产品对比;
1.2.3 适用于Cassandra的场景;
1.3 CAP原则和LSM-Tree;
1.4 Cassandra 基本架构;
第二章 入门Cassandra(基本使用部分)
2.1 在Linux环境运行Cassandra;
2.1.1 装个系统;
2.1.2 装个JDK;
2.1.3 配置运行Cassandra;
2.2 接口与体验( Thrift && CQL );
2.2.1 数据模型;
2.2.2 表操作;
2.2.3 CURD操作;
… …
(n-1).1 Datastax Driver 的使用;
n.1 工具与调试;
第三章 进阶Cassandra(代码和原理部分)
3.1 再识CAP原则(分区? 数据分布? 一致性&&协议&&级别? 扩展性? 数据恢复?);
3.2 Cassandra Based LSM-Tree engine;
3.3 Cassandra的分布式架构;
3.3.1 Gossip协议消息与元信息传播;
3.3.2 一致性hash(token partitioner)
3.3.3 拓扑架构: RangePartitioner PlacementStragy 异地多活;
3.3.4 Vnode与initial_token;
3.3.5 集群扩展拓扑变化;
3.3.6 SEDA架构
3.4 单机存储引擎:
3.4.1 commitlog 格式分析;
3.4.2 memtable skiplist;
3.4.3 rowcache;
3.4.4 keycache;
3.4.5 sstable 文件格式;
3.4.6 bloomfilter;
3.4.7 index ;
3.4.8 Compaction;
3.5 二级索引 : native and sasi ;
第四章 全面理解Cassandra(数据流动与安全)
4.1. 可调一致性级别;
4.2.写
4.2.1 hint handoff;
4.2.2 完整的写流程;
4.3.读
4.3.1. read repair
4.3.2.完整读流程
4.3.3. scan流程;
4.4.batch 操作
4.5.LWT;
4.6.跨DC多活
4.7 数据可靠性保证;
4.7.1 写一致性保证;
4.7.2 副本缺失修复;
4.7.3 repair&&Mktree;
4.8.压缩
4.9.鉴权以及认证
4.10.SSL
4.11.bootstrap流程
第五章 掌控Cassandra生产集群(运维角度)
5.1.nodetool使用介绍
5.2 评估;
5.3 集群的搭建;
5.4 集群的管理;
5.4.1 集群的启动;
5.4.2 集群的停止;
5.4.3 集群的重启;
5.4.4 集群的扩容;
5.4.5 集群的缩容;
5.4.6 集群的节点顶替;
5.5 表的管理;
5.5.n 创建、删除、更改等各种花式整表;
5.6 数据导入/导出(批量导入bulkload);
第六章 最佳实践场景
6.1 图数据库;
6.2 spark分析等;
第七章 最佳实战运维
7.1 闰秒挑战;
7.2 损坏的磁盘;
7.3 睡不醒的CPU;
… …
本书使用 HonKit 发布
第五章 掌控Cassandra生产集群(运维角度)
第五章 掌控Cassandra生产集群(运维角度)
5.1.nodetool使用介绍
5.2 评估
5.3 集群的搭建
5.4 集群的管理
5.4.1 集群的启动
5.4.2 集群的停止
5.4.3 集群的重启
5.4.4 集群的扩容
5.4.5 集群的缩容
5.4.6 集群的节点顶替
5.5 表的管理
5.5.n 创建、删除、更改等各种花式整表
5.6 数据导入/导出(批量导入bulkload)