Сообщение protopuf 'sessionproto', которое я получаю, имеет поле, которое является рекурсивным.Модель данных в Кассандре для рекурсивной структуры
itemrelationproto ссылки itemgroupproto и itemgroupproto ссылки itemrelationproto.
Как определить модель данных в Кассандре для хранения этих данных?
Спасибо.
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. –