我正在尝试在 Cassandra 中对以下数据模型进行建模:
业务 - 主键:BusinessId
Has Many Reviews - primary key : ReviewId
- Review 1
- Body
- Rating
- Review 2
- Body
- Rating
and so on
Has an Address
- State
- City
- Zip
Has Business Hours
- Monday Hours
- Tuesday Hours
and so on
Has Offers
- Offer1
- Offer2
and so on
我希望能够使用一个查询来提取所有这些信息,即我想将其存储在一个业务行中。我怎样才能做到这一点?本质上,我有许多子实体要与父业务实体一起存储。根据我对复合键的了解,您只能有一个复合键(例如)businessId:ReviewId 来模拟评论),但是我如何将所有这些实体存储在一行中,以便在一个查询中有效地检索所有业务详细信息。
我的第二个问题是关于更新。假设这些实体(评论)中只有一个经常更新。其他实体大多保持静止。是否建议将评论与这个巨大的业务行分开,或者我可以在不将整个业务行存储在内存中的情况下更新评论?