数据库设计- NoSQL (cassandra)数据模型为我的项目



我想听听您对我的项目数据模型设计的意见。我的项目是实时推荐系统。有一些推荐算法的集合。它的意思是:

文物{算法1,算法5,算法6}

collection2 {算法5,算法6,算法7,算法8}

等。

和我需要存储数据,如-成功,选择的概率,得分等每个算法(每2分钟)的集合。所以我选择Cassandra作为我的数据存储,因为它可以很好地处理时间序列。我需要有我的数据存储,稍后在一些图形和图表中显示。你认为我的数据模型解决方案可以吗?我是这样写的:

CREATE TABLE algorithm_by_collection_and_date (
   algorithm_id text,
   collection_id text,
   date text,
   event_time timestamp,
   score double,
   probability double,
   PRIMARY KEY ((algorithm_id,collection_id,date),event_time)
);

所以它被设计成行分区,通过向行键添加数据来限制集合中每个算法的列数(按日期)I。

你觉得这个怎么样?谢谢,简

我会有这样的结构-它将允许你规范你的结构,使它更干净的设计。我已经匆忙了,请为列添加正确的数据类型以及引用完整性约束。

CREATE TABLE algorithm
(
    algorithmId uuid PRIMARY KEY,
    algorithmName text
)
CREATE TABLE collection
(
    collectionID uuid PRIMARY KEY,
    collectionName text
)
CREATE TABLE algo_collection
(
    algoCollectionID uuid PRIMARY KEY
    collectionID
    algorithmID
)
CREATE TABLE recommendation
(
    algoCollectionID 
    date    
    event_time,
    score,
    probability
)

相关内容

  • 没有找到相关文章

最新更新