我对赫克托和卡桑德拉的世界相对较新。
我熟悉KeySpaces
和ColumnFamilies
的概念。
KeySpace
和KeySpaceDefinition
类型之间有什么区别?
它们可以互换吗?
通过工厂公开两种方法:
CreateKeySpace()
和CreateKeyspaceDefinition()
。
这两个电话有什么区别?我什么时候使用它们?
如果我想执行CQL查询,我需要使用KeySpace
。
CqlQuery cq = new CqlQuery(keySpace, .., .., ..)
如何从群集中检索现有的KeySpace
?
答案 0 :(得分:3)
如果你是Cassandra的新手,那么赫克托的文件......非常可怕......
KeyspaceDefinition
描述了Cassandra中的密钥空间,而Keyspace
是引用现有密钥空间的对象,允许您指定Hector应向其发出请求的密钥空间。
在创建新密钥空间或检索密钥空间信息时,您可能只需要KeyspaceDefinition
。每次执行任何类型的请求(变异/查询)时,您都需要一个Keyspace
对象。
使用HFactory.createKeyspace(String, Cluster)
检索现有密钥空间。请注意,这实际上并没有在Cassandra中创建密钥空间,它只是为Hector创建了一个对象。创建实际的密钥空间由cluster.addKeyspace(KeyspaceDefinition)
完成。