Hector中的KeySpace和KeySpace定义有什么区别?

时间:2012-11-02 15:38:57

标签: c# java cassandra hector

我对赫克托和卡桑德拉的世界相对较新。
我熟悉KeySpacesColumnFamilies的概念。

KeySpaceKeySpaceDefinition类型之间有什么区别?
它们可以互换吗?

通过工厂公开两种方法:
CreateKeySpace()CreateKeyspaceDefinition()

这两个电话有什么区别?我什么时候使用它们?

如果我想执行CQL查询,我需要使用KeySpace

CqlQuery cq = new CqlQuery(keySpace, .., .., ..)

如何从群集中检索现有的KeySpace

1 个答案:

答案 0 :(得分:3)

如果你是Cassandra的新手,那么赫克托的文件......非常可怕......

KeyspaceDefinition描述了Cassandra中的密钥空间,而Keyspace是引用现有密钥空间的对象,允许您指定Hector应向其发出请求的密钥空间。

在创建新密钥空间或检索密钥空间信息时,您可能只需要KeyspaceDefinition。每次执行任何类型的请求(变异/查询)时,您都需要一个Keyspace对象。

使用HFactory.createKeyspace(String, Cluster)检索现有密钥空间。请注意,这实际上并没有在Cassandra中创建密钥空间,它只是为Hector创建了一个对象。创建实际的密钥空间由cluster.addKeyspace(KeyspaceDefinition)完成。