【发布时间】:2017-05-07 11:32:49
【问题描述】:
我收到的 protobuf 消息“sessionproto”有一个递归字段。
itemrelationproto 引用 itemgroupproto 和 itemgroupproto 引用 itemrelationproto 。
如何在 Cassandra 中定义数据模型来存储这些数据?
谢谢。
message itemrelationproto {
optional string id = 1;
optional itemgroupproto itemgroup = 2;
}
message itemgroupproto {
optional string id = 1;
optional string displayname = 2;
repeated itemrelationproto itemrelations = 3;
}
message sessionproto {
optional string sessionid = 1;
optional string displayname = 3;
repeated itemrelationproto itemrelations = 4;
}
create type itemrelationproto (
id text,
itemgroup frozen<itemgroupproto>
);
create type itemgroupproto (
id text,
displayname text,
itemrelations set<frozen<itemrelationproto>>
);
create table sessionproto (
sessionid text,
displayname text,
itemrelations set<frozen<itemrelationproto>,
primary key (sessionid)
);
【问题讨论】:
-
您可以将您的 protobuf 消息转换为字节数组并将它们作为 blob 存储在 cassandra 中。
标签: recursion cassandra protocol-buffers data-modeling