时间 主题 内容 第一部份【1】 Cassandra介绍 SQL and NoSQL CAP理论(CAP theorem) Database or Datastore Cassandra history Cassandra主要结构(Node, Rack, Datacenter, Cluster) 【2】 Cassandra基本概念 种子节点(Seed nodes) Gossip Protocol 失败检测(Detecing a failed node) 分区(Partitioner) Ring architecture 数据复制(Data Replication) 集群管理(Snitch) 分段式事件驱动架构(SEDA architecture) 讨论1: Debate – adding capacity strategy 讨论2: Debate – Failover design strategy 第二部份【1】 Cassandra安装和配置 Cassandra配置文件: Cassandra.yaml, Cassandra-env.sh 防火墙和Cassandra端口(firewall and port) 用户验证(Authentication) Cassandra客户端 – CQLSH Debate – Cassandra自动化安装 【2】 Cassandra 建模 表空间(keyspace) 表(Table, column family) 主键,分区键(parimey key, parititon key) 一致性(Consistency Level) 写一致性(Write Consistency Level) 读一致性(Read Consistency Level) 讨论 – R + W > N 建模的基本原则(Modeling guidelines) 反范式建模 数据类型(datetype) Counter 宽行(wide row) 查询条件选择 二级索引(Secondary Index) 轻量级事务(lightweight transaction) 讨论1: 关系型数据在Cassandra里的存储 讨论2: 二级索引的使用场景 第三部份【1】 Cassandra驱动 连接池配置(Connection Pool) 跨数据中心连接(Access Remote DC) 出错重试机制(Retry Policy) 负载均衡(Load Balancing) 同步/异步访问(Sync/ASync access) 讨论– 如何实现应用层的failover 【2】Cassandra读写 数据缓存(Memtable) 日志(CommitLog) 数据文件命名规则(data file name rule) 写逻辑(Write path) 读逻辑(Read Path) 主键缓存(Key Cache) 行缓存(Row cache) 数据合并(Compaction) 数据压缩(Compression) 第四部份【1】 Cassandra监控 Opscenter的安装和配置 JMX收集 Metric分析 Java GC【2】 Cassandra管理 数据修复(nodetool repair) 查看统计信息(nodetool cfstats) CQL跟踪(CQL tracing) Backup and Recovery(备份和恢复) Cassandra升级(Cassandra upgrading) 讨论: 数据修复的最佳实践