【发布时间】:2012-11-02 03:53:27
【问题描述】:
我仍在尝试围绕 cassandra 中复合键的整个概念展开思考。我从https://github.com/thobbs/phpcassa/blob/master/examples/composites.php 获取了这段代码,我很难理解这意味着什么(请参阅下面的问题/在 cmets 中):
$cf->insert_format = ColumnFamily::ARRAY_FORMAT;
$cf->return_format = ColumnFamily::ARRAY_FORMAT;
$key1 = array("key", 1); // Which one of these is a column name?
$key2 = array("key", 2);
$columns = array(
array(array(0, "a"), "val0a"), //Which is value, and which is column name?
array(array(1, "a"), "val1a"),
array(array(1, "b"), "val1b"),
array(array(1, "c"), "val1c"),
array(array(2, "a"), "val2a"),
array(array(3, "a"), "val3a")
);
/**
* What type of queries in (CQL if possible) can I achieve with this?
/
我想了解的是:
- 在
array("key", 1);中是key和1构成此键的两列,或者1是key的值? - 其中哪一个是列名,哪一个是值
array(array(0, "a"), "val0a")? - 以表格形式(或尽可能接近),如何将这些数据可视化为存储在数据库中。我知道它不是以表格形式存储的,只是为了帮助我理解。
我是 NoSQL 技术的新手,这让我大吃一惊。
感谢您的帮助:-)
编辑
还有几个问题:
- 如果您有一行具有复合主键,这是否意味着该行中的所有列都必须是复合的?
-
我想要一个具有以下结构的列族:
CREATE COLUMN FAMILY users ( userid int, username varchar, firstname varchar, lastname varchar, PRIMARY KEY (userid,username) ) // How can I represent this structure with Phpcassa? // I tried to make every column `array("firstname" => "my name")`, but it didn't work - 我是否允许我的组合中的一个键为空(在上面的示例中为
username = null),并且可以稍后添加一个值?
【问题讨论】:
标签: php cassandra cql phpcassa