私はまだ、cassandra の複合キーの概念全体に頭を悩ませようとしています。https://github.com/thobbs/phpcassa/blob/master/examples/composites.phpからこのコードを拾いましたが、これが何を意味するのか理解するのに苦労しています (以下の質問を参照してください/コメントで):
$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
キーを構成する 2 つの列、または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
- コンポジット内のキーの 1 つを null にして (上記の例で
username = null
)、後で値を追加することはできますか?