本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | Cassandra指南(第3版) |
作者: | [美]Jeff Carpenter,[美]Eben Hewitt |
定价: | 128.0 |
出版社: | 中国电力出版社有限责任公司 |
出版日期: | 21-07-01 |
ISBN: | 9787519866433 |
印次: | |
版次: | 1 |
装帧: | |
开本: | 16开 |
内容简介 |
本书作者展示了Cassandra非关系型设计的诸多优点,尤其对数据建模关注。如果你是一个开发人员、DBA或应用架构师,着力解决数据库扩展问题或应用的前贍性问题,这个指南将帮助你充分利用Cassandra的高速度和灵活性。本书的主要内容有:使用Cassandra查询语言(CQL)和cqh(COLshell)。创建一个实用的数据模型,并与等价关系型模型比较。使用客户端驱动程序设计和开发应用。研究集群拓朴,了解节点间如何交换数据。维持集群的高性能。现场部署、云环境部署或利用Docker和Kubernetes部署Cassandra. Cassandra与Spark、Kafka、Elasti csearch、Solr和Lucene集成。 |
目录 |
序 前言 第pan style="font-family:宋体">章关系型数据库 1.pan style="font-family:宋体">关系型数据库有什么问题? 1.2关系型数据库速览 1.2.pan style="font-family:宋体">事务、ACID性和两段提交. 1.2.2模式. 1.2.3分片和无共享架构。 1.3网络规模 1.4 NoSQL的兴起 1.5小结 第2章Cassandra简介 2.sandra电梯间演讲 2.1.150字Cassandra介绍 2.1.2分布式与去中心化. 2.1.3弹性可扩展 2.1.4高可用性和容错性 2.1.5可调一致性 2.1.6 Brewer的CAP理论 2.1.7面向行 2.1.8高性能 2.2 Cassandra从哪里来? 2.3 Cassandra 适合我的项目吗? 2.3.pan style="font-family:宋体">大规模部署 2.3.2大量写操作、统计和分析 2.3.3多地分布 2.3.4混合云和多云部署 2.4参与其中 2.5小结 第3章安装Cassandra. 3.pan style="font-family:宋体">安装Apache发布版本 3.1.pan style="font-family:宋体">解压缩下 3.1.2里面有什么? 3.2从源码构建 3.3运行Cassandra 3.3.pan style="font-family:宋体">设置环境 3.3.2启动服务器 3.3.3停止Cassandra 3.4其他Cassandra发布版本 3.5 运行CQL Shell. 3.6基本cqlsh 命令 3.6.1 cqlsh 帮助 3.6.2 cqlsh 中描述环境 3.6.3 cqlsh 中创建键空间和表 3.6.4 cqlsh 中读写数据 3.7 Docker中运行Cassandra 3.8小结 第4章Cassandra查询语言 4.pan style="font-family:宋体">关系型数据模型 4.2 Cassandra的数据模型 4.2.pan style="font-family:宋体">集群 4.2.2键空间 4.2.3表 4.2.4列 4.3COL类型 4.3.pan style="font-family:宋体">数值数据类型 4.3.2文本数据类型 4.3.3时间和标识数据类型 4.3.4其他简单数据类型 4.3.5集合 4.3.6元组 4.3.7用户自定义类型 4.4小结 第5章数据建模 5.pan style="font-family:宋体">概念数据建模 5.2 RDBMS设计 5.3定义应用查询 5.4逻辑数据建模 5.4.pan style="font-family:宋体">酒店逻辑数据模型 5.4.2预订逻辑数据模型 5.5物理数据建模 5.5.pan style="font-family:宋体">酒店物理数据模型 5.5.2预订物理数据模型 5.6评估和 5.6.pan style="font-family:宋体">计算分区大小 5.6.2计算磁盘上的大小 5.6.3划分大分区 5.7定义数据库模式 …… 14.3.pan>保护JMX访问 14.3.2MBean 14.4审计日志 14.5小结 第15章迁移和集成 15.pan>了解何时迁移 15.2调整数据模型 15.2.pan>转换实体 15.2.2转换关系 15.3调整应用 15.3.pan>重构数据访问 15.3.2维护一致性 15.3.3迁移存储过程 15.4规划部署 15.5迁移数据 15.5.pan>零停机迁移 15.5.2批量加载 15.6常见集成 15.6pan>使用Apache Kafka管理数据流 15.6.2用Apache Lucene、SOLR和Elasticsearch 搜索 15.6.3使用Apache Spark分析数据 15.7小结 |
前言 |
我次接触Apache Cassandra 是在09年年初。作为iPhone 推送提醒的beta 测试者,我们的手机新闻应用在处理数百万用户查询来发送及时更新时遇到了困难。在评估了几种不同的方法后,我偶然发现了Cassandra。利用这个数据库,我必须针对将要完成的查询为数据建模,另外要优化“获取”,从而能够通过一次磁盘搜索返回整个结果集。这样一来,原先需要花费30分钟的工作(这影响了整个网站的延迟),加速到只需要几秒钟,速度如此之快,以至于Apple的开发联系人不得不要求我们降低吞吐量! 从那时起,Cassandra几乎每个方面都发生了巨大变化。初只是用户和分布式系统爱好者组成的小众群体,如今已经成为一个蓬勃发展的多样化社区。多年来,Cassandra已经一次又一次地证明了自己,为支持你每天使用的服务,在互联网上大负荷地运行着。Cassandra已经逐步成熟,现在你面前的已经是这本书的第三版,这也是Cassandra趋于成熟的一个有力信号。 尽管取得了诸,Cassandra仍是一个难以使用的系统。从安装到集成以及操作化(operationalization)仍然存在一些瑕疵,有很多陷阱。这本书可以很好地引导读者绕过常见的陷阱,而且详细解释了一些重要的概念。 不管你关注的是什么,好把这本书从头到尾读一遍,这样你就能从整体上理解Cassandra系统。作为开发人员,你可能需要关心逆熵修复(这是运维团队的工作),不过仍然需要了解它对维护数据一致性的影响。这可能是你次使用这样一个系统,它的操作机制会影响你要如何为应用配置数据一致性。你还需要与应用团队沟通故障边界和集群拓扑,使他们能正确地配置数据分布和一致性级别。 不论你的角色是什么,这些概念可能很困难。这本书地解释了这些概念,胜过目前为止我见过的任何一个资源。不过,我们每个人都有不同的学,另外除了这本书告诉你的内容,作为补充,建议你加入Apache Cassandra蓬勃的社区,其中有大量经验丰富的用户、开发人员和应用架构师,他们会贡献代码和文档、参加讨论列表和Slack频道,并在聚会和活动中发表演讲。这本书将为你打开Apache Cassandra世界的大门。 |
摘要 |
1.pan>关系型数据库有什么问题? 每当我问顾客需要什么的时候,他是说需要跑得更快的马。 ——亨利·福特 请你考虑这样一个数据模型,一家有数千员工的公司里的一个小团队发明了这个模型。这个模型可以通过TCP/IP接口使用多种语言访问括Java和Web服务。这个模型初很难懂,只有的计算机科学家才能理解,直到更广泛地采用后,有关概念才变得很清晰。使用基于这个模型构建的数据库时,要求学新的术语,而且要采用一种不同的方式考虑数据存储。不过随着相关产品的涌现,越来越多的企业和政府机构开始使用这种数据模型,很大程度上是因为它的速度很快,内就能处理数以千计的操作。它产生了巨大的收益。 然后出现了一个新模型。 这个新模型面对着很大的威胁,简单来讲有两方面的原因。新模型与老模型截然不同,它们明显是对立的。新模型不受待见是因为理解不同的和新的事物可能很困难。随之而来的争论可能使人们更加固执地坚持他们的观点,这些观点可能大多都是从他们学技术的氛围和工作环境中得来。其次,可能也是更重要的一点,这个新模型会成为一个障碍而不被接受,这是因为企业已经对老模型做了大量投入,并且从中赚到了大笔利润。改变路线看起来有些荒谬,甚至是不可能的。 当然,我们说的是1966年IBM发明的信息管理系统(IMS)层次数据库。 IMS是为“土星五号”登月火箭构建的。它的架构师是Vern Watts,他的整个职业生涯都致力于此。我们很多人都很熟悉IBM的DB2数据库。实际上,IBM广为流行的DB2数据库得名于它的前身DBpan>,而DBpan>就建立在层次数据模型IMS之上。 IMS于1968年发布,之后在客户信息控制系统(CICS)和其他应用中获。 如今IMS仍在使用。 不过,在发明IMS之后的几年里,出现了一个新的模型,这是一个有争议的模型,也是倍受攻击的模型,这就是关系型数据库。 |
作者简介 |
杰夫·卡彭特(Jeff Carpenter)是精品靠前酒店集团(Choice Hotels International)的一名系统架构师,在服务业和国防工业有着年的从业经验。他的兴括SOA微服务、大规模系统架构设计以及数据架构。 |