地图集合或复合列上的用户定义类型?

User-defined type on a map collection OR composite column?

嗨,

我尝试为 Cassandra 创建数据模型,但我想知道最佳实践。我在我的模型上使用了地图集合上的用户定义类型,但一些论坛讨论了复合列,它可以更有效。

这是我的模型示例:

Create table Account.user (

id_user uuid primary key,
name text,
list_data map<text, frozen <data>>); //about 160 000 insert per day

Create TYPE Account.data (

data1 text,
data2 text);

对于 list_data 行,每天将在地图集合中插入大约 160 000 "data" 类型。将用户定义的类型与地图集合一起使用是否有效?或者我需要找到另一种复合列的方法吗?

谢谢:)

您应该先问以下问题:

  1. 如何向用户添加新数据
  2. 我必须更新一对 list_data
  3. 如何访问 list_data

如果您仔细阅读这些答案,请记住可能的选项(使用聚类列、使用集合 + UDT)以及它们的一些优缺点(例如 limit on the size of a list),您很可能会获得可以开始测试的良好数据模型。