地图集合或复合列上的用户定义类型?
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" 类型。将用户定义的类型与地图集合一起使用是否有效?或者我需要找到另一种复合列的方法吗?
谢谢:)
您应该先问以下问题:
- 如何向用户添加新数据
- 我必须更新一对
list_data
- 如何访问
list_data
?
如果您仔细阅读这些答案,请记住可能的选项(使用聚类列、使用集合 + UDT)以及它们的一些优缺点(例如 limit on the size of a list),您很可能会获得可以开始测试的良好数据模型。
嗨,
我尝试为 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" 类型。将用户定义的类型与地图集合一起使用是否有效?或者我需要找到另一种复合列的方法吗?
谢谢:)
您应该先问以下问题:
- 如何向用户添加新数据
- 我必须更新一对
list_data
- 如何访问
list_data
?
如果您仔细阅读这些答案,请记住可能的选项(使用聚类列、使用集合 + UDT)以及它们的一些优缺点(例如 limit on the size of a list),您很可能会获得可以开始测试的良好数据模型。