2010-04-10 100 views

回答

8

TimeUUID是抽象类AbstractType的六个具体实现之一。

对于ColumnFamilies,您可以指定一个名为CompareWith的属性。 (SuperColumns具有类似的CompareSubcolumnsWith属性)。

此属性的有效值是实现抽象类AbstractType(例如TimeUUID)的类。 CompareWith属性告诉Cassandra如何对切片操作的列进行排序。

如果您正在使用Java并使用带有TimeUUID的cassandra,我建议您阅读this section of the cassandra FAQ

+11

据我所知,TimeUUID的实际*点*是给你一个按时间排序的唯一主键。 你可以在RDBMS中的某个地方使用它,你需要一个整数主键和一个日期字段。 有关示例,请参阅http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model。 – poolie 2010-08-13 09:30:04

-2

表示一个ColumnFamily中的唯一“行”

12

TimeUUID是一个随机的全局唯一标识符。 16个字节。

样品六角介绍:a4a70900-24e1-11df-8924-001ff3591711

http://en.wikipedia.org/wiki/Universally_Unique_Identifier

它可以作为关系数据库方面的主键或当你需要存储在值的列表一些关键。

例如检查基于卡桑德拉此开源的Twitter例如:

http://twissandra.com/

http://github.com/ericflo/twissandra

User = { 
    'a4a70900-24e1-11df-8924-001ff3591711': { 
     'id': 'a4a70900-24e1-11df-8924-001ff3591711', 
     'username': 'ericflo', 
     'password': '****', 
    }, 
} 

Username = { 
    'ericflo': { 
     'id': 'a4a70900-24e1-11df-8924-001ff3591711', 
    }, 
} 

Friends = { 
    'a4a70900-24e1-11df-8924-001ff3591711': { 
     # friend id: timestamp of when the friendship was added 
     '10cf667c-24e2-11df-8924-001ff3591711': '1267413962580791', 
     '343d5db2-24e2-11df-8924-001ff3591711': '1267413990076949', 
     '3f22b5f6-24e2-11df-8924-001ff3591711': '1267414008133277', 
    }, 
} 

在这里用户被分配a4a70900-24e1-11df-8924-001ff3591711一个唯一的密钥,其用于从其他地方引用用户。

+1

如果它是随机的,那为什么叫“时间”?对我而言,时间意味着可以整理的东西(如时间戳)。 – 2014-05-09 16:39:16

+0

它在通常意义上不是随机的。 TimeUUID是基于时间的唯一密钥。所以键的顺序是基于时间的。 – 2014-05-11 09:03:45

+0

它为什么说它是128位数的通用唯一标识符(UUID)是一个128位数 – chris 2018-01-29 21:25:06

相关问题