序言
第一章 初识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 发布
第七章 最佳实战运维
第七章 最佳实战运维
7.1 闰秒挑战
7.2 损坏的磁盘
7.3 睡不醒的CPU