注重体验与质量的电子书资源下载网站
分类于: 编程语言 计算机基础 云计算&大数据
简介
Cassandra实战 豆 6.8分
资源最后更新于 2020-03-29 03:46:26
作者:郭鹏
出版社:出版社机械工业出版社
出版日期:2011-06
ISBN:9787111341642
文件格式: pdf
简介· · · · · ·
《Cassandra实战》是国内首本Cassandra专著,由Cassandra领域的先驱者和实践者亲自执笔,多位数据库专家联袂推荐,权威性毋庸置疑。本书内容全面,基于Cassandra最新版撰写,系统地讲解了Cassandra的所有功能特性和使用方法;实战性强,不仅包含大量示例代码,而且还设计了一个完整的在线交易系统实例;有一定的深度,不仅结合源代码分析了Cassandra的底层机制和工作原理,而且还精心总结了一些关于Cassandra的最佳实践。本书一共分为13章,首先简单介绍了NoSQL的优势,以及几种具有代表性的NoSQL数据库的功能特性;其次详细讲解了Cassandra的安装和配置、数据模型和排序规则、编程接口等基础知识;接着以迭代的方式演示了一个基于Cassandra的在线交易系统的完整开发过程,很好地将基础理论融入到了实践中;再接着结合源代码分析了Cassandra的集群机制、内部数据存储结构、数据更新机制、数据读取机制、数据压缩机制、启动流程等与Cassandra的底层机制和工作原理相关的内容;最后讲解了Cassandra在分布式环境中的应用、与Hadoop的整合,以及相关的最佳实践。附录中包含了本书示例的源代码以及在Eclipse环境中编辑和修改Cassandra的源代码方法。本书适合所有对Cassandra感兴趣的读者阅读。通过本书,不仅能全面掌握Cassandra的基础知识和使用方法,还能深入理解Cassandra的底层机制和工作原理,以及它在复杂现实环境中的应用。郭鹏,国内Cassandra领域的先驱者和实践者。资深软件开发工程师,擅长分布式应用程序的开发和使用,时间经验极其丰富。一直致力于Cassandra、Hadoop、Hive、MongoDB等分布式应用的底层实现原理的研究和探索,对分布式数据库和数据仓库也有深刻而独到的理解。曾任阿里巴巴数据仓库开发工程师,参与设计和开发了多个基于Cassandra和Hadoop的大型应用。现供职于盛大在线,参与Hadoop计算存储平台的搭建与实施。活跃于开源技术社区,是博客园的推荐博客,也是CSDN的博客专家,热衷于与网友分享自己的心得和体会,深受社区欢迎。博客地址:http://gpcuster.cnblogs.com/;新浪微博:@逖靖寒。
目录
前言
为什么写本书
本书面向的读者
联系作者
致谢
第1章 认识NoSQL
1.1 NoSQL的起源和发展现状
1.2 为什么要使用NoSQL
1.3 开源NoSQL产品介绍
1.3.1 Key/Value的NoSQL数据库
1.3.2 面向文档的NoSQL数据库
1.3.3 面向列的NoSQL数据库
1.3.4 面向图的NoSQL数据库
1.4 本章小结
第2章 Cassandra快速入门
2.1 在Windows环境运行单机版Cassandra
2.1.1 配置JRE
2.1.2 配置运行Cassandra 0.6.x
2.1.3 配置运行Cassandra 0.7.x
2.2 在Linux环境运行单机版Cassandra
2.2.1 配置JRE
2.2.2 配置运行Cassandra 0.6.x
2.2.3 配置运行Cassandra 0.7.x
2.3 Cassandra的数据模型
2.3.1 Column
2.3.2 SuperColumn
2.3.3 ColumnFamily
2.3.4 Keyspace
2.4 Cassandra的数据排序规则
2.5 配置数据类型
2.6 使用命令行工具与Cassandra交互
2.6.1 与Cassandra 0.6.x进行交互
2.6.2 与Cassandra 0.7.x进行交互
2.7 本章小结
第3章 理解Cassandra编程接口
3.1 多语言服务开发框架Thrift
3.2 Cassandra的数据类型
3.2.1 Column
3.2.2 SuperColumn
3.2.3 ColumnOrSuperColumn
3.2.4 ColumnParent
3.2.5 ColumnPath
3.2.6 SliceRange
3.2.7 SlicePredicate
3.2.8 Deletion
3.2.9 Mutation
3.2.10 KeyRange
3.2.11 KeySlice
3.2.12 TokenRange
3.2.13 AuthenticationRequest
3.2.14 ConsistencyLevel
3.2.15 NotFoundException
3.2.16 InvalidRequestException
3.2.17 UnavailableException
3.2.18 TimedOutException
3.2.19 AuthenticationException
3.2.20 AuthorizationException
3.3 Cassandra的编程接口
3.3.1 get
3.3.2 get_slice
3.3.3 multiget_slice
3.3.4 get_count
3.3.5 get_range_slices
3.5.6 insert
3.3.7 remove
3.3.8 batch_mutate
3.3.9 describe_keyspaces
3.3.10 describe_keyspace
3.3.11 describe_cluster_name
3.3.12 describe_version
3.3.13 describe_ring
3.4 Cassandra 0.7.x版本新增功能
3.4.1 二级索引
3.4.2 动态修改Schema
3.4.3 自动清除过期数据
3.5 本章小结
第4章 基于Cassandra的在线交易系统
4.1 需求分析
4.2 数据模型设计
4.2.1 Seller
4.2.2 Buyer
4.2.3 Product
4.2.4 ProductCategory
4.2.5 Comment
4.3 编码实现
4.3.1 修改Keyspace设置
4.3.2 建立Eclipse项目
4.3.3 实体对象实现
4.3.4 Cassandra数据操作接口实现
4.4 系统功能验证
4.4.1 BuyerDao功能验证
4.4.2 SellerDao功能验证
4.4.3 ProductDao功能验证
4.5 迁移到Cassandra 0.7.x
4.5.1 建立Eclipse项目
4.5.2 修改编译错误代码
4.5.3 新增Schema在线定义功能
4.5.4 功能验证
4.6 本章小结
第5章 Cassandra的集群机制
5.1 一致性哈希
5.1.1 理解一致性哈希
5.1.2 一致性哈希在Cassandra中的应用
5.2 Gossip:集群节点之间的通信协议
5.2.1 FailureDetector
5.2.2 Gossiper
5.3 集群的数据备份机制
5.3.1 EndpointSnitch
5.3.2 ReplicationStrategy
5.4 集群状态变化的处理机制
5.4.1 StorageLoadBalancer
5.4.2 StorageService
5.4.3 MigrationManager
5.5 本章小结
第6章 Cassandra的内部数据存储结构
6.1 Cassandra中的数据存放规则
6.2 Commilog
6.3 Memtable
6.4 SSTable
6.4.1 Filter文件
6.4.2 Index文件
6.4.3 Data文件
6.4.4 Statistics文件
6.5 系统表空间
6.6 本章小结
第7章 Cassandra的数据更新机制
7.1 数据更新流程
7.2 集群数据更新策略
7.2.1 ANY
7.2.2 ONE
7.2.3 QUORUM
7.2.4 LOCAL_QUORUM
7.2.5 EACH_QUORUM
7.2.6 ALL
7.3 二级索引
7.3.1 为什么需要二级索引
7.3.2 Cassandra二级索引更新过程
7.4 本章小结
第8章 Cassandra的读取机制
8.1 数据读取流程
8.1.1 弱读取
8.1.2 强读取
8.2 集群数据读取策略
8.2.1 ONE
8.2.2 QUORUM
8.2.3 LOCAL_QUORUM
8.2.4 EACH_QUORUM
8.2.5 ALL
8.3 读修复
8.4 数据缓存
8.4.1 RowCache
8.4.2 KeyCache
8.5 二级索引
8.6 本章小结
第9章 Cassandra的数据压缩机制
9.1 为什么要进行数据压缩
9.2 如何控制数据压缩
9.3 数据压缩流程
9.4 维护Cassandra中的数据
9.4.1 数据清理压缩
9.4.2 数据一致性校验压缩
9.5 本章小结
第10章 Cassandra的启动流程
10.1 Cassandra启动脚本
10.2 Cassandra启动流程
10.2.1 配置log4j
10.2.2 读取校验配置文件信息
10.2.3 加载所有的数据文件
10.2.4 修复数据
10.2.5 启动Gossiper服务
10.2.6 判断是否需要进行Bootstrap操作
10.2.7 监听Thrift端口,提供Thrift服务
10.3 本章小结
第11章 在分布环境下使用的Cassandra
11.1 在Linux环境中搭建与使用Cassandra集群
11.1.1 配置JRE
11.1.2 部署Cassandra可执行文件
11.1.3 修改Cassandra配置文件
11.1.4 启动Cassandra
11.2 Cassandra运行配置项详解
11.3 Cassandra集群的运行和维护
11.3.1 查看集群的运行情况
11.3.2 添加节点
11.3.3 删除节点
11.3.4 移动节点
11.3.5 数据维护
11.4 本章小结
第12章 Cassandra与Hadoop的整合
12.1 Hadoop快速入门
12.1.1 Hadoop简介
12.1.2 HDFS
12.1.3 Map/Reduce
12.1.4 配置单机版Hadoop
12.1.5 编写Map/Reduce程序
12.2 为什么要整合Cassandra与Hadoop
12.3 使用Map/Reduce导入数据到Cassandra中
12.4 将Cassandra中的数据作为Map/Reduce输入
12.5 本章小结
第13章 Cassandra最佳实践
13.1 避免Cassandra自身的限制
13.1.1 不要盲目使用Super Column
13.1.2 硬盘的容量大小限制
13.1.3 注意系统大小限制
13.2 数据压缩策略
13.3 使用高级的客户端
13.3.1 Pycassa
13.3.2 Hector
13.3.3 FluentCassandra
13.3.4 Cassandra
13.3.5 phpcassa
13.4 负载均衡
13.4.1 随机选取
13.4.2 缓存集群信息
13.5 谨慎使用二级索引
13.6 通过JMX监测Cassandra
13.7 调整JVM启动参数
13.8 使用适合的系统配置参数
13.9 本章小结
附录A 在Eclipse中修改Cassandra源代码
A.1 配置环境
A.2 下载Cassandra源码
A.3 编译Cassandra
A.4 在Eclipse中修改Cassandra源码
A.5 运行单元测试
A.6 打包发布
附录B CassSeller代码
B.1 cassSeller.app.App
B.2 cassSeller.dao.BuyerDao
B.3 cassSeller.dao.ProductDao
B.4 cassSeller.dao.SellerDao
B.5 cassSeller.dao.impl.BuyerDaoImpl
B.6 cassSeller.dao.impl.ProductDaoImpl
B.7 cassSeller.dao.impl.SellerDaoImpl
B.8 cassSeller.model.Buyer
B.9 cassSeller.model.Comment
B.10 cassSeller.model.Product
B.11 cassSeller.model.Seller
附录C CassSeller-0.7代码
C.1 cassSeller.app.App
C.2 cassSeller.dao.BuyerDao
C.3 cassSeller.dao.ProductDao
C.4 cassSeller.dao.SellerDao
C.5 cassSeller.dao.impl.BuyerDaoImpl
C.6 cassSeller.dao.impl.ProductDaoImpl
C.7 cassSeller.dao.impl.SchemaIniter
C.8 cassSeller.dao.impl.SellerDaoimpl
C.9 cassSeller.model.Buyer
C.10 cassSeller.model.Comment
C.11 cassSeller.model.Product
C.12 cassSeller.model.Seller