NoSQL   发布时间:2022-05-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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。


下节学习:Cassandra集群通信协议-Gossip.


资料:

@L_404_0@

http://planetCassandra.org/documentation/

大佬总结

以上是大佬教程为你收集整理的Cassandra学习笔记之数据模型全部内容,希望文章能够帮你解决Cassandra学习笔记之数据模型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。