2013-02-08 65 views
3

我想澄清。我有以下层次结构 -列家庭,超级列家族,卡桑德拉超级列

Person: { 
    personal_details:{ 
     name:aa 
     age:aaa 
     ddress:aa 
    } 
    official_details:{ 
     employeeid:aa 
     cubicle_number:aa 
    } 
} 

我想在Cassandra数据库中表示Person。我希望每个人都可以通过他的SSN(未包含在上述层次结构中)进行查询。

如果这是一个HBase架构,我会打电话作为我的表。我会SSN作为我行键和personal_details以及official_details作为列家庭和姓名,年龄,地址,雇员& cubicle_number为列。什么是这些层次结构的cassandra命名法,以及cassandra中这个层次结构可能的创建查询是什么?

+0

即使在HBase中,我可能也不会制造这两个列系列。当你有很多列和完全不同的家庭访问模式时,列家族非常有用。在这种情况下,我只是将所有的列添加为personal_age,official_id等。 –

+0

@ ArnonRotem-Gal-Oz,我刚刚发布了一个易于理解的示例。 Din意味着在cassandra或hbase中创建一个这样的模式。 :)只是想通过一个小试图来沟通我的要求。 –

回答

3

检查DataStax documentation on Anatomy of a table

在这种情况下,创建您在Cassandra中寻找的数据结构时,CQL与SQL非常相似。

CREATE TABLE people 
(
    ssn text PRIMARY KEY, 
    name text, 
    age int, 
    address text, 
    employeeid int, 
    cubicle_number int 
); 

关于卡桑德拉的超级柱,现在是not recommended

+0

意图不是创建一个这样的表结构。只需要知道创建这样的层次结构的脚本。感谢任何帮助。 –