0

我在https://github.com/kallaspriit/Cassandra-PHP-Client-Library/中为 Cassandra 使用 php 库。虽然我试图在网络上找到我的问题的答案,但我做不到。所以,我想听听一些意见。

例如,我正在考虑以下结构(即列)。

ID、品牌、速度

对于这三个数据,我想做两种操作: 1. 获取 Cassandra 中的所有 ID 2. 按品牌名称获取所有列,希望使用正则表达式。

到目前为止,我可以通过创建一个名为“car”的超级列族来实现第一个“1.get all IDs in Cassandra”。并且,插入如下数据:

cassandra->set(
            $this->columnFamily.'.ID',
            array(
                $id => array(
                    'ID' => $id,
                    'brand' => $brand,
                    'speed' =>$speed
                )
            )
        );

然后,我可以通过以下代码获取所有 ID 列表:

 cassandra->cf('car')->getAll('ID')

当我试图做第二个问题时,我被卡住了。在网上搜索后,看来我需要创建另一个超级列族以“品牌”搜索。但是,当我找到那种信息时,问题就出来了。如果我们再创建一个结构相同的超级列族,我觉得内存效率非常低。创建另一个超级列族意味着即使我们创建相同的结构,Cassandra 也会创建另一个空间??如果有任何有效的方法来实现这一点,你能建议吗?

而且,这也是一个非常具体的问题。这个 php 库的 getWhere 方法可以使用某些条件,例如大于 24 岁?先感谢您。

4

1 回答 1

0

您以关系方式考虑这一点,但 Cassandra 鼓励我们编写数据的多个副本,并且不支持分组/聚合或联接。

您可能会发现这很有用;“数据模型已死,数据模型万岁”。

http://www.youtube.com/watch?v=px6U2n74q3g

于 2013-08-27T18:02:23.917 回答