文档章节

Cassandra数据模型设计(下)

Moks角木
 Moks角木
发布于 2015/12/07 16:50
字数 550
阅读 31
收藏 1

在第一部分中,我们介绍了一些基本实践,然后通过一个具体的例子帮助大家开启Cassandra数据模型设计之旅。你可以跳过第一部分直接阅读本篇文章,但是我推荐你看看第一篇文章中“术语和约定”部分。如果你是一个Cassandra新手,我还是建议你先阅读第一部分。

以下列出的实践有些可能会发生变化,我将提供相关JIRA地址给大家,以方便跟踪最新进展。下面让我们先从几个基本实践开始吧!

通过column name存储数据是完全OK的

同样让column value为空也是没问题的

通过column name存储数据是一项常用的实践,同样如果没有必要保存column value,你也可以让它为空。这样做的动机是column name是物理有序存储的的,而column value不是。(译者注:比如某个column name为字符串类型,那么插入005、001、003、007最终的存储顺序将是001、003、005、007,这将意味着可以根据column name顺序读取数据)。

注意:

column name(以及row key)最大为64KB,所以请不要存储如“物品描述”之类的信息。

不要单独使用timestamp作为column name,那样会导致2个或者多个应用服务器同时写入Cassandra时造成数据覆盖(译者注:相同row key,相同column name会覆盖column value),推荐使用uuid(type-1 uuid)代替(译者注:time-based UUID主要由cassandra客户端时间戳、序列号、MAC地址组成,这样的组合可以大大降低数据冲突)。

column value最大为2GB,它的采用非流式数据读取,cassandra会将整个value加载到heap内存中,这是很危险的,所以请确保column value只存储不超过几MB的数据。(使用column value进行大数据存储一段时间内都不会被支持,参见 Cassandra-265,但是通过Cassandra java 客户端——Astyanax,可以通过分块的方式解决这个问题)。



© 著作权归作者所有

Moks角木
粉丝 31
博文 239
码字总数 167795
作品 0
静安
架构师
私信 提问
Cassandra数据模型设计(上)

【编者注:InfoQ中文站获得了eBay工程师Jay Patel的授权,将会为陆续为读者呈现Cassandra数据模型设计的系列内容。】 本文是Cassandra数据模型设计第一篇(全两篇),该系列文章包含了eBay使...

啊莫
2015/12/07
54
0
Cassandra数据模型设计最佳实践

本文是Cassandra数据模型设计第一篇(全两篇),该系列文章包含了eBay使用Cassandra数据模型设计的一些实践。其中一些最佳实践我们是通过社区学到的,有些对我们来说也是新知识,还有一些仍然...

laigous
2013/10/10
0
0
考虑 Apache Cassandra 数据库

简介 在数据库历史文章 “What Goes Around Comes Around”(参阅 参考资料)中,Michal Stonebraker 详细描述了存储技术是如何随着时间的推移而发展的。实现关系模型之前,开发人员曾尝试过...

ihaolin
2014/08/17
0
0
Cassandra数据模型设计

本文是Cassandra数据模型设计第一篇(全两篇),该系列文章包含了eBay使用Cassandra数据模型设计的一些实践。其中一些最佳实践我们是通过社区学到的,有些对我们来说也是新知识,还有一些仍然...

jsycwangwei
2015/05/26
0
0
Cassandra – 理解关键概念和数据模型

Cassandra的设计理论倾向于实现CAP原则中的AP(Availability and Partition Tolerance)——高可用性和分布式,它的分布式是基于一致性哈希环(Consistent Hash Ring)算法实现的。 面向行(...

Justina_Chen
2013/12/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Visual Paradigm 教程[UML]:如何绘制封装图?(上)

下载Visual Paradigm最新试用版 查看本教程视频文件 在项目开始时,您只有有限数量的图表,一切都简单而美观。然而,当时间过得匆匆时,已经创建了越来越多的图表,并且它们开始变得无法管理...

xiaochuachua
44分钟前
2
0
Pure-ftpd服务安装及虚拟用户设置

安装 sudo apt-get install pure-ftpd 虚拟用户设置 首先,可以在系统中添加相应的用户和组,如用户ftpuser 和组ftpgroup ,专门用来管理ftp服务。也可以是能登录系统的用户,但最好是不能登...

Gm_ning
45分钟前
1
0
一位面试了阿里,滴滴,网易,蚂蚁金服,最终有幸去了网易的Java程序员【面试题分享】

前言 15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去...

Java领航员
47分钟前
3
0
“大团队”和“敏捷开发”,谁说不可兼得?

阿里妹导读:当小团队的产出跟不上业务需要,团队就面临规模化的问题。从1个团队到3个团队,仍可以通过简单的团队沟通保持高效协作。当产品复杂到需要5个以上团队同时开发时,我们需要一定的...

阿里云云栖社区
51分钟前
1
0
基于虹软人脸识别Demo android人脸识别

参加一个比赛,指定用虹软的人脸识别功能,奈何虹软人脸识别要自己建人脸库,不然就只能离线用,总不能装个样子,简单看了下虹软Demo,下面决定用这种简单方法实现在线人脸识别: Android端(...

是哇兴哥棒棒哒
56分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部