- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cassandra的笔记
一、Cassandra学习笔记之数据模型 Column Column是Cassandra中最小的数据单元,它是一个三元的数据类型,包含name,value,timestamp. Column必须有一个名称,类似于JAVA中的字符串,应用创建后可以动态地设置,Column可以在name上建索引。不要求每个name都有对应的value,value可以为空。还有一列是时间戳,标识column必威体育精装版更新的时间。时间戳是由客户端应用程序提供的,请求到来时总是希望返回时间戳必威体育精装版的数据,如果多个客户端同时更新相同的列,列值与最近的更新相同。 SuperColumn ColumnFamily可以是一个常规Column,也可以是一个SuperColumn.可以将SuperColumn想象成Column的数组,它包含一个name以及一系列Column. 注意:SuperColumn本身不包含timestamp属性。使用SuperColumn有一个限制,要读取其中一个子列的值,必须把所有子列都反序列化,且不能在子列中建索引。因此SuperColumn的应用场合是子列数相对较小的情况。 ColumnFamily 相比关系型数据库,Cassandra中的ColumnFamily相当于数据库中的表,它是一个包含了许多行的结构,每一行由Key和这个Key所关联的Column组成。与关系数据库不同的是,每行不要求有相同数目的列。有两种不同的列族设计:静态和动态。 静态ColumnFamily:使用一组不变的列名,这点更像关系型数据库。如下图: 动态ColumnFamily:每一行的列名不相同,是在运行过程中动态计算和设置的。如下图: ColumnFamily每一行可以是一系列Column,也可以是一系列SuperColumn。 Keyspace 每个Keyspace包含多个ColumnFamily,并且可以指定数据备份策略和备份数。一般一个Cassandra一个Keyspace。 Columnsupercolumncolumnfamilykeyspace 二、Cassandra学习笔记之Gossip协议 Gossip协议概述 Cassandra集群中的节点没有主次之分,它们通过一种叫做Gossip的协议进行通信。通过Gossip协议,它们可以知道集群中有哪些节点,以及这些节点的状态如何?每一条Gossip消息上都有一个版本号,节点可以对接收到的消息进行版本比对,从而得知哪些消息是我需要更新的,哪些消息是我有而别人没有的,然后互相倾诉吐槽,确保二者得到的信息相同,这很像现实生活中的八卦(摆龙门阵)一样,一传十,十传百,最后尽人皆知。 在Cassandra启动时,会启动Gossip服务,Gossip服务启动后会启动一个任务GossipTask,这个任务会周期性地与其他节点进行通信。GossipTask是位于org.apache.cassandra.gms.Gossip类下的一个内部类,其run方法如下: [java] view plaincopyprint?在CODE上查看代码片派生到我的代码片 public void run(){ MessagingService.instance().waitUntilListening(); /* Update the local heartbeat counter. */ endpointStateMap.get(FBUtilities.getBroadcastAddress()).getHeartBeatState().updateHeartBeat(); final ListGossipDigest gDigests = new ArrayListGossipDigest(); Gossiper.instance.makeRandomGossipDigest(gDigests); if (gDigests.size() 0){ GossipDigestSyn digestSynMessage = new GossipDigestSyn(DatabaseDescriptor.getClusterName(), DatabaseDescriptor.getPartitionerName(),
您可能关注的文档
最近下载
- 北师大版六年级数学上册第二单元测试题(共4份).doc VIP
- 2025年必威体育精装版人教版九年级(初三)数学上册教学计划及进度表(新课标).docx
- 医院放射诊疗事故应急处置.pptx
- 2025年泰安市中心医院医护人员招聘参考题库含答案解析.docx VIP
- 贵州某二水电站进水口工程引水隧洞混凝土衬砌施工技术方案.doc.doc VIP
- 浙教版八年级上册数学第二章 特殊三角形(含答案).pdf VIP
- 机电工程质量通病防治手册.pptx VIP
- 儿童呼吸道合胞病毒感染的症状与治疗方法(1)PPT课件.pptx VIP
- D-Z-T 0205-2020 矿产地质勘查规范 岩金(正式版).docx VIP
- CHCC2025第26届全国医院建设大会:消毒供应中心质量控制指标(2024年版)解析.pdf VIP
文档评论(0)